From 9a0e1e0dca06d419af23d49ab87b681ae8313efc Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 25 Feb 2009 11:34:45 +0100 Subject: 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 file changed, 6 insertions(+) (limited to 'gst') diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c index 87c251e4..1794cfc5 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 */ -- cgit v1.2.1