summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-02-23 18:17:42 +0200
committerSebastian Dröge <sebastian@centricular.com>2016-02-23 18:17:42 +0200
commitfd42320ec18a82e9c578c9639a4cefb6f02d786e (patch)
treee88ceb93af83856d469167942df7c0fce75616dd
parenta5eee1e28a14fb0547b9c9c3fa05199865fb2f06 (diff)
dataurisrc: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just use gst_pad_get_current_caps() and check for NULL. https://bugzilla.gnome.org/show_bug.cgi?id=759539
-rw-r--r--gst/dataurisrc/gstdataurisrc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gst/dataurisrc/gstdataurisrc.c b/gst/dataurisrc/gstdataurisrc.c
index 45c1814c0..fe018b0df 100644
--- a/gst/dataurisrc/gstdataurisrc.c
+++ b/gst/dataurisrc/gstdataurisrc.c
@@ -177,9 +177,8 @@ gst_data_uri_src_get_caps (GstBaseSrc * basesrc, GstCaps * filter)
GstCaps *caps;
GST_OBJECT_LOCK (src);
- if (gst_pad_has_current_caps (GST_BASE_SRC_PAD (basesrc)))
- caps = gst_pad_get_current_caps (GST_BASE_SRC_PAD (basesrc));
- else
+ caps = gst_pad_get_current_caps (GST_BASE_SRC_PAD (basesrc));
+ if (!caps)
caps = gst_caps_new_any ();
GST_OBJECT_UNLOCK (src);