diff options
| author | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-19 15:17:58 +0100 |
|---|---|---|
| committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2012-01-19 15:17:58 +0100 |
| commit | c6ac51e72980acf6c9c232e0911f642f0c2031aa (patch) | |
| tree | 6c332b9db07d26b3b0dd592506359e6f78037cae | |
| parent | acf0d50bf1d9d3bc8b412b301c1ef0f8c1517259 (diff) | |
basesrc: handle NULL from getcaps
If the getcaps functions returns NULL, return FALSE from the CAPS query.
| -rw-r--r-- | libs/gst/base/gstbasesrc.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index bc37bf100..a127f4eef 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -1178,10 +1178,13 @@ gst_base_src_default_query (GstBaseSrc * src, GstQuery * query) bclass = GST_BASE_SRC_GET_CLASS (src); if (bclass->get_caps) { gst_query_parse_caps (query, &filter); - caps = bclass->get_caps (src, filter); - gst_query_set_caps_result (query, caps); - gst_caps_unref (caps); - res = TRUE; + if ((caps = bclass->get_caps (src, filter))) { + gst_query_set_caps_result (query, caps); + gst_caps_unref (caps); + res = TRUE; + } else { + res = FALSE; + } } else res = FALSE; break; |
