summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2006-12-18 13:40:34 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2006-12-18 13:40:34 +0000
commitde19264a3dcdd83be622a714a016f3cbe64d5edd (patch)
tree242fd32bf90f27a147b45300f6b7a516bf42d434 /gst
parent1891c3240bdbe7846caea6474ec6be2e0b2b737e (diff)
downloadgst-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.c21
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++;