summaryrefslogtreecommitdiffstats
path: root/gst/qtdemux
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-08-16 09:54:10 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-08-16 09:54:10 +0000
commitea28d448c6b96283f1abb3130c9958e74a1d4a1a (patch)
treecb1379a8a30c524a1dd7dc995cae7e9bffce09c1 /gst/qtdemux
parent638a8faf1386cab8fb66c068912f7500cd119e1f (diff)
downloadgst-plugins-bad-ea28d448c6b96283f1abb3130c9958e74a1d4a1a.tar.gz
gst-plugins-bad-ea28d448c6b96283f1abb3130c9958e74a1d4a1a.tar.bz2
gst-plugins-bad-ea28d448c6b96283f1abb3130c9958e74a1d4a1a.zip
Handle _push() return values.
Original commit message from CVS: * ext/faad/gstfaad.c: (gst_faad_event), (gst_faad_chain): * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header): Handle _push() return values.
Diffstat (limited to 'gst/qtdemux')
-rw-r--r--gst/qtdemux/qtdemux.c5
1 files changed, 4 insertions, 1 deletions
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);
}