summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst-libs/gst/pbutils/gstdiscoverer.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c
index 1428fd278..82052f719 100644
--- a/gst-libs/gst/pbutils/gstdiscoverer.c
+++ b/gst-libs/gst/pbutils/gstdiscoverer.c
@@ -713,7 +713,8 @@ uridecodebin_pad_added_cb (GstElement * uridecodebin, GstPad * pad,
if (sinkpad == NULL)
goto error;
- if (is_subtitle_caps (caps)) {
+ if (caps && !gst_caps_is_empty (caps) && !gst_caps_is_any (caps)
+ && is_subtitle_caps (caps)) {
/* Subtitle streams are sparse and may not provide any information - don't
* wait for data to preroll */
ps->probe_id =
@@ -723,7 +724,8 @@ uridecodebin_pad_added_cb (GstElement * uridecodebin, GstPad * pad,
dc->priv->pending_subtitle_pads++;
}
- gst_caps_unref (caps);
+ if (caps)
+ gst_caps_unref (caps);
gst_bin_add_many (dc->priv->pipeline, ps->queue, ps->sink, NULL);