diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2006-12-18 13:40:34 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2006-12-18 13:40:34 +0000 |
commit | de19264a3dcdd83be622a714a016f3cbe64d5edd (patch) | |
tree | 242fd32bf90f27a147b45300f6b7a516bf42d434 /gst | |
parent | 1891c3240bdbe7846caea6474ec6be2e0b2b737e (diff) | |
download | gst-plugins-bad-de19264a3dcdd83be622a714a016f3cbe64d5edd.tar.gz gst-plugins-bad-de19264a3dcdd83be622a714a016f3cbe64d5edd.tar.bz2 gst-plugins-bad-de19264a3dcdd83be622a714a016f3cbe64d5edd.zip |
gst/qtdemux/qtdemux.c: Don't output g_warning for an unsupported format, just send a
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_chain),
(gst_qtdemux_add_stream):
Don't output g_warning for an unsupported format, just send a
GST_ELEMENT_WARNING and don't add the pad.
Fix the case where it doesn't check for a NULL pad in streaming mode.
Fixes #387137
Diffstat (limited to 'gst')
-rw-r--r-- | gst/qtdemux/qtdemux.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 504e1cf8..845e6bb2 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -1861,11 +1861,16 @@ gst_qtdemux_chain (GstPad * sinkpad, GstBuffer * inbuf) stream->samples[stream->sample_index].duration; /* send buffer */ - GST_LOG_OBJECT (demux, - "Pushing buffer with time %" GST_TIME_FORMAT " on pad %p", - GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)), stream->pad); - gst_buffer_set_caps (outbuf, stream->caps); - ret = gst_pad_push (stream->pad, outbuf); + if (stream->pad) { + GST_LOG_OBJECT (demux, + "Pushing buffer with time %" GST_TIME_FORMAT " on pad %p", + GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)), stream->pad); + gst_buffer_set_caps (outbuf, stream->caps); + ret = gst_pad_push (stream->pad, outbuf); + } else { + gst_buffer_unref (outbuf); + ret = GST_FLOW_OK; + } /* combine flows */ ret = gst_qtdemux_combine_flows (demux, stream, ret); @@ -2983,7 +2988,11 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux, GST_TYPE_BUFFER, palette, NULL); gst_buffer_unref (palette); } else if (palette_count != 0) { - g_warning ("unsupported palette depth %d", palette_count); + GST_ELEMENT_WARNING (qtdemux, STREAM, NOT_IMPLEMENTED, + (NULL), ("Unsupported palette depth %d. Ignoring stream.", depth)); + + gst_object_unref (stream->pad); + stream->pad = NULL; } } qtdemux->n_video_streams++; |