diff --git a/ChangeLog b/ChangeLog index a8d5ed4463..92ea030595 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-09-15 Wim Taymans + + * gst/multipart/multipartdemux.c: (gst_multipart_demux_chain): + Fix documentation, it is not possible to control the framerate of jpegdec + using filtered caps yet. Fixes #355210. + Return the downstream GstFlowReturn instead of GST_FLOW_OK so that we + stop when there is an error. + 2006-09-14 Tim-Philipp Müller * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag): diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c index c8488e0d08..a1a82912f7 100644 --- a/gst/multipart/multipartdemux.c +++ b/gst/multipart/multipartdemux.c @@ -36,9 +36,9 @@ * Sample pipelines * * Here is a simple pipeline to demux a multipart file muxed with - * #GstMultipartMux containing JPEG frames at a rate of 5 frames per second : + * #GstMultipartMux containing JPEG frames: * - * gst-launch filesrc location=/tmp/test.multipart ! multipartdemux ! jpegdec ! video/x-raw-yuv, framerate=(fraction)5/1 ! ffmpegcolorspace ! ximagesink + * gst-launch filesrc location=/tmp/test.multipart ! multipartdemux ! jpegdec ! ffmpegcolorspace ! ximagesink * * * @@ -477,10 +477,13 @@ gst_multipart_demux_chain (GstPad * pad, GstBuffer * buf) GstMultipartDemux *multipart; GstAdapter *adapter; gint size = 1; + GstFlowReturn res; multipart = GST_MULTIPART_DEMUX (gst_pad_get_parent (pad)); adapter = multipart->adapter; + res = GST_FLOW_OK; + if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DISCONT)) { gst_adapter_clear (adapter); } @@ -524,16 +527,20 @@ gst_multipart_demux_chain (GstPad * pad, GstBuffer * buf) } else { GST_BUFFER_TIMESTAMP (outbuf) = -1; } - gst_pad_push (srcpad->pad, outbuf); + res = gst_pad_push (srcpad->pad, outbuf); + if (res != GST_FLOW_OK) + break; } nodata: gst_object_unref (multipart); + if (G_UNLIKELY (size == MULTIPART_DATA_ERROR)) return GST_FLOW_ERROR; if (G_UNLIKELY (size == MULTIPART_DATA_EOS)) return GST_FLOW_UNEXPECTED; - return GST_FLOW_OK; + + return res; } static GstStateChangeReturn