diff options
author | Matthew Waters <ystreet00@gmail.com> | 2014-03-17 20:40:51 +0100 |
---|---|---|
committer | Matthew Waters <ystreet00@gmail.com> | 2014-03-20 07:01:01 +1100 |
commit | faa94a87376190cc77f814a1cb54b26e70157246 (patch) | |
tree | fe043ff2a7fbebc2348a328f141c91dd86cbd4bd /gst-libs | |
parent | fa4ce072ee11d0d13a4871d81d0966cac4c5ee3e (diff) | |
download | gstreamer-plugins-bad-faa94a87376190cc77f814a1cb54b26e70157246.tar.gz |
gl: silence a critical if upstream does not provide us with meta params
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/gl/gstglfilter.c | 54 | ||||
-rw-r--r-- | gst-libs/gst/gl/gstglmixer.c | 54 |
2 files changed, 56 insertions, 52 deletions
diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c index 109379c14..7bc67bbe6 100644 --- a/gst-libs/gst/gl/gstglfilter.c +++ b/gst-libs/gst/gl/gstglfilter.c @@ -883,32 +883,34 @@ gst_gl_filter_decide_allocation (GstBaseTransform * trans, GstQuery * query) gchar *apis; gst_query_parse_nth_allocation_meta (query, idx, &upload_meta_params); - if (gst_structure_get (upload_meta_params, "gst.gl.GstGLContext", - GST_GL_TYPE_CONTEXT, &context, NULL) && context) { - GstGLContext *old = filter->context; - - filter->context = context; - if (old) - gst_object_unref (old); - } else if (gst_structure_get (upload_meta_params, "gst.gl.context.handle", - G_TYPE_POINTER, &handle, "gst.gl.context.type", G_TYPE_STRING, - &type, "gst.gl.context.apis", G_TYPE_STRING, &apis, NULL) - && handle) { - GstGLPlatform platform = GST_GL_PLATFORM_NONE; - GstGLAPI gl_apis; - - GST_DEBUG ("got GL context handle 0x%p with type %s and apis %s", handle, - type, apis); - - if (g_strcmp0 (type, "glx") == 0) - platform = GST_GL_PLATFORM_GLX; - - gl_apis = gst_gl_api_from_string (apis); - - if (gl_apis && platform) - other_context = - gst_gl_context_new_wrapped (filter->display, (guintptr) handle, - platform, gl_apis); + if (upload_meta_params) { + if (gst_structure_get (upload_meta_params, "gst.gl.GstGLContext", + GST_GL_TYPE_CONTEXT, &context, NULL) && context) { + GstGLContext *old = filter->context; + + filter->context = context; + if (old) + gst_object_unref (old); + } else if (gst_structure_get (upload_meta_params, "gst.gl.context.handle", + G_TYPE_POINTER, &handle, "gst.gl.context.type", G_TYPE_STRING, + &type, "gst.gl.context.apis", G_TYPE_STRING, &apis, NULL) + && handle) { + GstGLPlatform platform = GST_GL_PLATFORM_NONE; + GstGLAPI gl_apis; + + GST_DEBUG ("got GL context handle 0x%p with type %s and apis %s", + handle, type, apis); + + if (g_strcmp0 (type, "glx") == 0) + platform = GST_GL_PLATFORM_GLX; + + gl_apis = gst_gl_api_from_string (apis); + + if (gl_apis && platform) + other_context = + gst_gl_context_new_wrapped (filter->display, (guintptr) handle, + platform, gl_apis); + } } } diff --git a/gst-libs/gst/gl/gstglmixer.c b/gst-libs/gst/gl/gstglmixer.c index b47783c01..267ff475c 100644 --- a/gst-libs/gst/gl/gstglmixer.c +++ b/gst-libs/gst/gl/gstglmixer.c @@ -1117,32 +1117,34 @@ gst_gl_mixer_decide_allocation (GstGLMixer * mix, GstQuery * query) gchar *apis; gst_query_parse_nth_allocation_meta (query, idx, &upload_meta_params); - if (gst_structure_get (upload_meta_params, "gst.gl.GstGLContext", - GST_GL_TYPE_CONTEXT, &context, NULL) && context) { - GstGLContext *old = mix->context; - - mix->context = context; - if (old) - gst_object_unref (old); - } else if (gst_structure_get (upload_meta_params, "gst.gl.context.handle", - G_TYPE_POINTER, &handle, "gst.gl.context.type", G_TYPE_STRING, - &type, "gst.gl.context.apis", G_TYPE_STRING, &apis, NULL) - && handle) { - GstGLPlatform platform = GST_GL_PLATFORM_NONE; - GstGLAPI gl_apis; - - GST_DEBUG ("got GL context handle 0x%p with type %s and apis %s", handle, - type, apis); - - if (g_strcmp0 (type, "glx") == 0) - platform = GST_GL_PLATFORM_GLX; - - gl_apis = gst_gl_api_from_string (apis); - - if (gl_apis && platform) - other_context = - gst_gl_context_new_wrapped (mix->display, (guintptr) handle, - platform, gl_apis); + if (upload_meta_params) { + if (gst_structure_get (upload_meta_params, "gst.gl.GstGLContext", + GST_GL_TYPE_CONTEXT, &context, NULL) && context) { + GstGLContext *old = mix->context; + + mix->context = context; + if (old) + gst_object_unref (old); + } else if (gst_structure_get (upload_meta_params, "gst.gl.context.handle", + G_TYPE_POINTER, &handle, "gst.gl.context.type", G_TYPE_STRING, + &type, "gst.gl.context.apis", G_TYPE_STRING, &apis, NULL) + && handle) { + GstGLPlatform platform = GST_GL_PLATFORM_NONE; + GstGLAPI gl_apis; + + GST_DEBUG ("got GL context handle 0x%p with type %s and apis %s", + handle, type, apis); + + if (g_strcmp0 (type, "glx") == 0) + platform = GST_GL_PLATFORM_GLX; + + gl_apis = gst_gl_api_from_string (apis); + + if (gl_apis && platform) + other_context = + gst_gl_context_new_wrapped (mix->display, (guintptr) handle, + platform, gl_apis); + } } } |