diff options
-rw-r--r-- | ChangeLog | 6 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 5 |
3 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net> + + * ext/faad/gstfaad.c: (gst_faad_event), (gst_faad_chain): + * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header): + Handle _push() return values. + 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net> * ext/faad/gstfaad.c: (gst_faad_event): diff --git a/common b/common -Subproject fae12c87727e1a701975d0e72078e844c25f499 +Subproject 8ff526a316f9b576e727b8e32cba0a53cdec07a diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index b419e24f..3a5dbcd2 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -507,6 +507,7 @@ gst_qtdemux_loop_header (GstPad * pad) int offset; guint64 cur_offset; int size; + GstFlowReturn ret; /* FIXME _tell gets the offset wrong */ //cur_offset = gst_bytestream_tell(qtdemux->bs); @@ -683,7 +684,9 @@ gst_qtdemux_loop_header (GstPad * pad) GST_DEBUG ("Pushing buf with time=%" GST_TIME_FORMAT, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf))); gst_buffer_set_caps (buf, stream->caps); - gst_pad_push (stream->pad, buf); + ret = gst_pad_push (stream->pad, buf); + if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) + goto pause; GST_INFO ("pushing buffer on %" GST_PTR_FORMAT, stream->pad); } |