gst/realmedia/rmdemux.c: Properly aggregate GstFlowReturn from downstream in order to properly stop, and doing that a...
Original commit message from CVS: * gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet): Properly aggregate GstFlowReturn from downstream in order to properly stop, and doing that as early as possible. Fixes #532807
This commit is contained in:
parent
a3e36958ae
commit
826629a9b0
@ -1,3 +1,10 @@
|
|||||||
|
2008-05-13 Edward Hervey <edward.hervey@collabora.co.uk>
|
||||||
|
|
||||||
|
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
|
||||||
|
Properly aggregate GstFlowReturn from downstream in order to properly
|
||||||
|
stop, and doing that as early as possible.
|
||||||
|
Fixes #532807
|
||||||
|
|
||||||
2008-05-10 Jan Schmidt <jan.schmidt@sun.com>
|
2008-05-10 Jan Schmidt <jan.schmidt@sun.com>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
2
common
2
common
@ -1 +1 @@
|
|||||||
Subproject commit dbf8f3aeceb6e57de097951a670cd853b4886ad8
|
Subproject commit 2d9c09df0fe4ad3f570fea9f649cfc6c4511080d
|
@ -2139,6 +2139,9 @@ gst_rmdemux_parse_video_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
|
|||||||
base = GST_BUFFER_DATA (in);
|
base = GST_BUFFER_DATA (in);
|
||||||
data = base + offset;
|
data = base + offset;
|
||||||
size = GST_BUFFER_SIZE (in) - offset;
|
size = GST_BUFFER_SIZE (in) - offset;
|
||||||
|
/* if size <= 2, we want this method to return the same GstFlowReturn as it
|
||||||
|
* was previously for that given stream. */
|
||||||
|
ret = stream->last_flow;
|
||||||
|
|
||||||
while (size > 2) {
|
while (size > 2) {
|
||||||
guint8 pkg_header;
|
guint8 pkg_header;
|
||||||
@ -2283,6 +2286,9 @@ gst_rmdemux_parse_video_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
|
|||||||
GST_BUFFER_TIMESTAMP (out) = timestamp;
|
GST_BUFFER_TIMESTAMP (out) = timestamp;
|
||||||
|
|
||||||
ret = gst_pad_push (stream->pad, out);
|
ret = gst_pad_push (stream->pad, out);
|
||||||
|
ret = gst_rmdemux_combine_flows (rmdemux, stream, ret);
|
||||||
|
if (ret != GST_FLOW_OK)
|
||||||
|
break;
|
||||||
|
|
||||||
timestamp = GST_CLOCK_TIME_NONE;
|
timestamp = GST_CLOCK_TIME_NONE;
|
||||||
}
|
}
|
||||||
@ -2293,8 +2299,6 @@ gst_rmdemux_parse_video_packet (GstRMDemux * rmdemux, GstRMDemuxStream * stream,
|
|||||||
|
|
||||||
gst_buffer_unref (in);
|
gst_buffer_unref (in);
|
||||||
|
|
||||||
ret = GST_FLOW_OK;
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user