From d387bfd188a15cbb6fcb9e2c3e2893ea3a7d9414 Mon Sep 17 00:00:00 2001 From: Mathias Hasselmann Date: Thu, 26 Nov 2015 10:15:36 +0100 Subject: [PATCH] androidmedia: Don't add metadata to locked buffer The video decoders tried calling gst_buffer_add_*meta() on non-writable buffer resulting in warnings of this kind: gstamcvideodec.c:921 (_gl_sync_render_unlocked): WARNING: amcvideodec Failed to create the transformation meta for the gl_sync 0xabc03848 buffer 0xabb01b40 (0) https://bugzilla.gnome.org/show_bug.cgi?id=758694 --- sys/androidmedia/gstamcvideodec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index d4d1ea13b4..3087082a00 100644 --- a/sys/androidmedia/gstamcvideodec.c +++ b/sys/androidmedia/gstamcvideodec.c @@ -985,7 +985,7 @@ _gl_sync_render_unlocked (struct gl_sync *sync) GST_TRACE ("gl_sync %p rendering timestamp after update %" G_GINT64_FORMAT, sync, ts); - af_meta = gst_buffer_add_video_affine_transformation_meta (sync->buffer); + af_meta = gst_buffer_get_video_affine_transformation_meta (sync->buffer); if (!af_meta) { GST_WARNING ("Failed to retreive the transformation meta from the " "gl_sync %p buffer %p", sync, sync->buffer); @@ -1337,6 +1337,9 @@ retry: sync_meta->copy = _amc_gl_copy; sync_meta->free = _amc_gl_free; + /* The meta needs to be created now: + * Later (in _gl_sync_render_unlocked) the buffer will be locked. + */ gst_buffer_add_video_affine_transformation_meta (outbuf); g_mutex_lock (&self->gl_lock);