diff options
author | Alessandro Decina <alessandro.d@gmail.com> | 2015-02-13 19:12:20 +1100 |
---|---|---|
committer | Alessandro Decina <alessandro.d@gmail.com> | 2015-02-13 19:12:54 +1100 |
commit | 6e325be5164220d1b3d80157e3c2415ff9aa857a (patch) | |
tree | 6fb19785f29886dc5f91928dc4382bb69e298187 /sys | |
parent | b6f2a962b55c4eeaf034a755e77bf40d8feafb9c (diff) | |
download | gstreamer-plugins-bad-6e325be5164220d1b3d80157e3c2415ff9aa857a.tar.gz |
applemedia: avfvideosrc: fix crash when non-GL memory is used
Diffstat (limited to 'sys')
-rw-r--r-- | sys/applemedia/avfvideosrc.m | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/applemedia/avfvideosrc.m b/sys/applemedia/avfvideosrc.m index 305274c17..2ed8e2254 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); } } |