[gst-cvs] gst-plugins-bad: mpegdemux: don't ignore GstFlowReturn values

Wim Taymans wtay at kemper.freedesktop.org
Wed Feb 25 02:36:03 PST 2009


Module: gst-plugins-bad
Branch: master
Commit: 9a0e1e0dca06d419af23d49ab87b681ae8313efc
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=9a0e1e0dca06d419af23d49ab87b681ae8313efc

Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date:   Wed Feb 25 11:34:45 2009 +0100

mpegdemux: don't ignore GstFlowReturn values

don't ignore the return value of pull_range because we only get a valid non-NULL
buffer when the return value is GST_FLOW_OK. Avoids a crash when the pipeline is
shutting down.

---

 gst/mpegdemux/gstmpegdemux.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c
index 87c251e..1794cfc 100644
--- a/gst/mpegdemux/gstmpegdemux.c
+++ b/gst/mpegdemux/gstmpegdemux.c
@@ -2195,6 +2195,9 @@ gst_flups_demux_scan_forward_ts (GstFluPSDemux * demux, guint64 * pos,
 
     /* read some data */
     ret = gst_pad_pull_range (demux->sinkpad, offset, to_read, &buffer);
+    if (G_UNLIKELY (ret != GST_FLOW_OK))
+      return FALSE;
+
     data = GST_BUFFER_DATA (buffer);
     end_scan = GST_BUFFER_SIZE (buffer) - scan_sz;
     /* scan the block */
@@ -2242,6 +2245,9 @@ gst_flups_demux_scan_backward_ts (GstFluPSDemux * demux, guint64 * pos,
     }
     /* read some data */
     ret = gst_pad_pull_range (demux->sinkpad, offset, to_read, &buffer);
+    if (G_UNLIKELY (ret != GST_FLOW_OK))
+      return FALSE;
+
     start_scan = GST_BUFFER_SIZE (buffer) - scan_sz;
     data = GST_BUFFER_DATA (buffer) + start_scan;
     /* scan the block */





More information about the Gstreamer-commits mailing list