aboutsummaryrefslogtreecommitdiffstats
path: root/ffmpeg_vda.c
diff options
context:
space:
mode:
authorSebastien Zwickert <dilaroga@gmail.com>2015-06-20 13:19:29 +0200
committerClément Bœsch <clement@stupeflix.com>2015-06-23 09:20:18 +0200
commitc06fdacc3dc706e70d953917fea845532d3703ca (patch)
treecb58b93532a2d78d78e8282bab6269320109a589 /ffmpeg_vda.c
parent813b2f0da3a792b2122ada702b8488a9ecfce6f7 (diff)
downloadffmpeg-c06fdacc3dc706e70d953917fea845532d3703ca.tar.gz
vda: unlock the pixel buffer base address.
The pixel buffer base address is never unlocked this causes a bug with some pixel format types that are produced natively by the hardware decoder: the first buffer was always used. Unlock the pixel buffer base address fixes the issue.
Diffstat (limited to 'ffmpeg_vda.c')
-rw-r--r--ffmpeg_vda.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ffmpeg_vda.c b/ffmpeg_vda.c
index d15648dd8e..6fe4ed45ea 100644
--- a/ffmpeg_vda.c
+++ b/ffmpeg_vda.c
@@ -77,6 +77,8 @@ static int vda_retrieve_data(AVCodecContext *s, AVFrame *frame)
frame->width, frame->height);
ret = av_frame_copy_props(vda->tmp_frame, frame);
+ CVPixelBufferUnlockBaseAddress(pixbuf, kCVPixelBufferLock_ReadOnly);
+
if (ret < 0)
return ret;