summaryrefslogtreecommitdiff
path: root/gst-libs
diff options
context:
space:
mode:
authorMatthew Waters <ystreet00@gmail.com>2014-03-17 20:40:51 +0100
committerMatthew Waters <ystreet00@gmail.com>2014-03-20 07:01:01 +1100
commitfaa94a87376190cc77f814a1cb54b26e70157246 (patch)
treefe043ff2a7fbebc2348a328f141c91dd86cbd4bd /gst-libs
parentfa4ce072ee11d0d13a4871d81d0966cac4c5ee3e (diff)
downloadgstreamer-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.c54
-rw-r--r--gst-libs/gst/gl/gstglmixer.c54
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);
+ }
}
}