qmlglsink: propagate GL context creation failure upwards
authorMatthew Waters <matthew@centricular.com>
Wed, 15 Jun 2016 14:44:48 +0000 (00:44 +1000)
committerMatthew Waters <matthew@centricular.com>
Wed, 15 Jun 2016 15:49:16 +0000 (01:49 +1000)
Otherwise an application cannot know if the qmlglsink will be displaying frames
incorrectly/at all.

ext/qt/qtitem.cc

index 8a73ed4..9c359f8 100644 (file)
@@ -414,6 +414,8 @@ QtGLVideoItem::onSceneGraphInvalidated ()
 gboolean
 qt_item_init_winsys (QtGLVideoItem * widget)
 {
+  GError *error = NULL;
+
   g_return_val_if_fail (widget != NULL, FALSE);
 
   g_mutex_lock (&widget->priv->lock);
@@ -446,8 +448,12 @@ qt_item_init_winsys (QtGLVideoItem * widget)
     return FALSE;
   }
 
-  gst_gl_context_create (widget->priv->context, widget->priv->other_context,
-      NULL);
+  if (!gst_gl_context_create (widget->priv->context, widget->priv->other_context,
+        &error)) {
+    GST_ERROR ("%s", error->message);
+    g_mutex_unlock (&widget->priv->lock);
+    return FALSE;
+  }
 
   g_mutex_unlock (&widget->priv->lock);
   return TRUE;