mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
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:
parent
77041e7412
commit
e67beb0857
2 changed files with 13 additions and 6 deletions
|
@ -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:
|
||||||
|
|
|
@ -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),
|
||||||
|
|
Loading…
Reference in a new issue