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.
(cherry picked from commit c06fdacc3d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Sebastien Zwickert 2015-06-20 13:19:29 +02:00 committed by Michael Niedermayer
parent bada03d746
commit d50d11c56c
1 changed files with 2 additions and 0 deletions

View File

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