From 6e325be5164220d1b3d80157e3c2415ff9aa857a Mon Sep 17 00:00:00 2001 From: Alessandro Decina Date: Fri, 13 Feb 2015 19:12:20 +1100 Subject: [PATCH] applemedia: avfvideosrc: fix crash when non-GL memory is used --- sys/applemedia/avfvideosrc.m | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/applemedia/avfvideosrc.m b/sys/applemedia/avfvideosrc.m index 305274c176..2ed8e2254c 100644 --- a/sys/applemedia/avfvideosrc.m +++ b/sys/applemedia/avfvideosrc.m @@ -749,10 +749,15 @@ didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer if (gst_structure_get (upload_meta_params, "gst.gl.GstGLContext", GST_GL_TYPE_CONTEXT, &context, NULL) && context) { GstCaps *query_caps; + GstCapsFeatures *features; + gst_query_parse_allocation (query, &query_caps, NULL); - textureCache = gst_core_video_texture_cache_new (context); - gst_core_video_texture_cache_set_format (textureCache, - "NV12", query_caps); + features = gst_caps_get_features (query_caps, 0); + if (gst_caps_features_contains (features, GST_CAPS_FEATURE_MEMORY_GL_MEMORY)) { + textureCache = gst_core_video_texture_cache_new (context); + gst_core_video_texture_cache_set_format (textureCache, + "NV12", query_caps); + } gst_object_unref (context); } }