From 6f4fd7086745720c39cc1d6bfd7a1c4c845caf99 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Wed, 7 May 2014 09:11:25 +1000 Subject: [PATCH] gl/sink: make sure we always initialize the upload object https://bugzilla.gnome.org/show_bug.cgi?id=729542 --- ext/gl/gstglimagesink.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c index 7b3d17146b..1cd5c5eaaf 100644 --- a/ext/gl/gstglimagesink.c +++ b/ext/gl/gstglimagesink.c @@ -687,9 +687,21 @@ gst_glimage_sink_set_caps (GstBaseSink * bsink, GstCaps * caps) gst_object_unref (oldpool); } + if (glimage_sink->upload) + gst_object_unref (glimage_sink->upload); glimage_sink->upload = gst_object_ref (GST_GL_BUFFER_POOL (newpool)->upload); + if (!gst_gl_upload_init_format (glimage_sink->upload, &vinfo)) + goto upload_error; + return TRUE; + +upload_error: + { + GST_ELEMENT_ERROR (glimage_sink, RESOURCE, NOT_FOUND, + ("%s", "Failed to initialize upload resources"), (NULL)); + return FALSE; + } } static GstFlowReturn