gstreamer: baseparse: always attempt to push if not-linked

Sebastian Dröge slomo at kemper.freedesktop.org
Mon Apr 2 06:30:18 PDT 2012


Module: gstreamer
Branch: master
Commit: df6d0b06969f9fe2cc8a6238bca7a4a57c17e621
URL:    http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=df6d0b06969f9fe2cc8a6238bca7a4a57c17e621

Author: Edward Hervey <edward.hervey at collabora.co.uk>
Date:   Mon Apr  2 15:13:24 2012 +0200

baseparse: always attempt to push if not-linked

This avoids ending up with plenty of pending data (since we'll only
 try to parse/push one frame from the incoming buffer).

Fixes increasing memory consumption when parsers aren't linked

---

 libs/gst/base/gstbaseparse.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 108ee89..56a0818 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -2466,7 +2466,7 @@ gst_base_parse_chain (GstPad * pad, GstBuffer * buffer)
     ret = gst_base_parse_handle_and_push_frame (parse, bclass, frame);
     GST_PAD_STREAM_UNLOCK (parse->srcpad);
 
-    if (ret != GST_FLOW_OK) {
+    if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) {
       GST_LOG_OBJECT (parse, "push returned %d", ret);
       break;
     }



More information about the gstreamer-commits mailing list