ext/ffmpeg/gstffmpegdemux.c: Don't try handling a buffer if downstream allocation failed.

Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Don't try handling a buffer if downstream allocation failed.
Avoids crashes and Fixes #515205
This commit is contained in:
Edward Hervey 2008-02-08 15:12:03 +00:00
parent 7d3fa2df4b
commit d5df61ccb7
3 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2008-02-08 Edward Hervey <edward.hervey@collabora.co.uk>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Don't try handling a buffer if downstream allocation failed.
Avoids crashes and Fixes #515205
2008-01-29 Wim Taymans <wim.taymans@collabora.co.uk>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):

2
common

@ -1 +1 @@
Subproject commit 571dce3335f9be76978009b3842c050dbb900e6f
Subproject commit df7f73bd454e0b0ee7870d8c85874aba9329fd2e

View file

@ -1160,7 +1160,7 @@ gst_ffmpegdemux_loop (GstPad * pad)
GstPad *srcpad;
GstFFStream *stream;
AVStream *avstream;
GstBuffer *outbuf;
GstBuffer *outbuf = NULL;
GstClockTime timestamp, duration;
gint outsize;
gboolean rawvideo;
@ -1239,6 +1239,10 @@ gst_ffmpegdemux_loop (GstPad * pad)
if ((ret = gst_ffmpegdemux_aggregated_flow (demux)) != GST_FLOW_OK)
goto no_buffer;
/* If the buffer allocation failed, don't try sending it ! */
if (stream->last_flow != GST_FLOW_OK)
goto done;
/* copy the data from packet into the target buffer
* and do conversions for raw video packets */
if (rawvideo) {