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
This commit is contained in:
Mathias Hasselmann 2015-11-26 10:15:36 +01:00 committed by Matthew Waters
parent c6243c7d00
commit d387bfd188

View file

@ -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);