gst/flv/gstflvdemux.c: Fix regression of handling flow returns in pull mode.

Original commit message from CVS:
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag),
(gst_flv_demux_pull_header):
Fix regression of handling flow returns in pull mode.
Fixes bug #556003.
This commit is contained in:
Sebastian Dröge 2008-10-12 17:08:10 +00:00
parent 77041e7412
commit e67beb0857
2 changed files with 13 additions and 6 deletions

View file

@ -1,3 +1,10 @@
2008-10-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/flv/gstflvdemux.c: (gst_flv_demux_pull_tag),
(gst_flv_demux_pull_header):
Fix regression of handling flow returns in pull mode.
Fixes bug #556003.
2008-10-12 Sebastian Dröge <sebastian.droege@collabora.co.uk> 2008-10-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* ext/Makefile.am: * ext/Makefile.am:

View file

@ -336,8 +336,8 @@ gst_flv_demux_pull_tag (GstPad * pad, GstFLVDemux * demux)
demux->cur_tag_offset = demux->offset; demux->cur_tag_offset = demux->offset;
/* Get the first 4 bytes to identify tag type and size */ /* Get the first 4 bytes to identify tag type and size */
if (G_UNLIKELY (gst_flv_demux_pull_range (demux, pad, demux->offset, if (G_UNLIKELY ((ret = gst_flv_demux_pull_range (demux, pad, demux->offset,
FLV_TAG_TYPE_SIZE, &buffer) != GST_FLOW_OK)) FLV_TAG_TYPE_SIZE, &buffer)) != GST_FLOW_OK))
goto beach; goto beach;
/* Identify tag type */ /* Identify tag type */
@ -350,8 +350,8 @@ gst_flv_demux_pull_tag (GstPad * pad, GstFLVDemux * demux)
demux->offset += FLV_TAG_TYPE_SIZE; demux->offset += FLV_TAG_TYPE_SIZE;
/* Pull the whole tag */ /* Pull the whole tag */
if (G_UNLIKELY (gst_flv_demux_pull_range (demux, pad, demux->offset, if (G_UNLIKELY ((ret = gst_flv_demux_pull_range (demux, pad, demux->offset,
demux->tag_size, &buffer) != GST_FLOW_OK)) demux->tag_size, &buffer)) != GST_FLOW_OK))
goto beach; goto beach;
switch (demux->state) { switch (demux->state) {
@ -403,8 +403,8 @@ gst_flv_demux_pull_header (GstPad * pad, GstFLVDemux * demux)
GstFlowReturn ret = GST_FLOW_OK; GstFlowReturn ret = GST_FLOW_OK;
/* Get the first 9 bytes */ /* Get the first 9 bytes */
if (G_UNLIKELY (gst_flv_demux_pull_range (demux, pad, demux->offset, if (G_UNLIKELY ((ret = gst_flv_demux_pull_range (demux, pad, demux->offset,
FLV_HEADER_SIZE, &buffer) != GST_FLOW_OK)) FLV_HEADER_SIZE, &buffer)) != GST_FLOW_OK))
goto beach; goto beach;
ret = gst_flv_parse_header (demux, GST_BUFFER_DATA (buffer), ret = gst_flv_parse_header (demux, GST_BUFFER_DATA (buffer),