avconv: vda: Unlock the pixel buffer once it is accessed

Message ID 20150708223403.7BDA15DD64@aruru.libav.org
State New
Headers show

Commit Message

Janne Grunau July 8, 2015, 10:34 p.m.
Module: libav
Branch: master
Commit: 40af330adf7fde8073271cf2b41ff9adc4c2bba9

Author:    Sebastien Zwickert <dilaroga@gmail.com>
Committer: Luca Barbato <lu_zero@gentoo.org>
Date:      Wed Jul  8 20:23:37 2015 +0200

avconv: vda: Unlock the pixel buffer once it is accessed

Avoid possible issues with memmapped hardware buffers in
case VDA is not doing a conversion on behalf of the user
and make the code more proper as working example.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

---

 avconv_vda.c |    2 ++
 1 file changed, 2 insertions(+)

Patch

diff --git a/avconv_vda.c b/avconv_vda.c
index 40f87c4..d86076e 100644
--- a/avconv_vda.c
+++ b/avconv_vda.c
@@ -76,6 +76,8 @@  static int vda_retrieve_data(AVCodecContext *s, AVFrame *frame)
                   data, linesize, vda->tmp_frame->format,
                   frame->width, frame->height);
 
+    CVPixelBufferUnlockBaseAddress(pixbuf, kCVPixelBufferLock_ReadOnly);
+
     ret = av_frame_copy_props(vda->tmp_frame, frame);
     if (ret < 0)
         return ret;