[Cogl] [PATCH 2/3] cogl-gst: Fix get_caps implementation when no context is set

Neil Roberts neil at linux.intel.com
Tue Jan 21 09:33:57 PST 2014


If no context is set on the CoglGstVideoSink then it would previously
call gst_caps_ref with a NULL pointer. This patch makes it just return
NULL instead. I think that is a valid thing to do because that is what
gst_base_sink_default_get_caps does. If we don't do this then it's not
possible to use CoglGstVideoSink with GstParse because that tries to
link the pipeline after parsing the string. That was previously
causing a critical error because the freshly parsed sink doesn't have
a CoglContext.
---
 cogl-gst/cogl-gst-video-sink.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/cogl-gst/cogl-gst-video-sink.c b/cogl-gst/cogl-gst-video-sink.c
index 7708f59..9b217d4 100644
--- a/cogl-gst/cogl-gst-video-sink.c
+++ b/cogl-gst/cogl-gst-video-sink.c
@@ -1035,7 +1035,11 @@ cogl_gst_video_sink_get_caps (GstBaseSink *bsink,
 {
   CoglGstVideoSink *sink;
   sink = COGL_GST_VIDEO_SINK (bsink);
-  return gst_caps_ref (sink->priv->caps);
+
+  if (sink->priv->caps == NULL)
+    return NULL;
+  else
+    return gst_caps_ref (sink->priv->caps);
 }
 
 static CoglBool
-- 
1.8.4.2



More information about the Cogl mailing list