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.
---
ffmpeg_vda.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ffmpeg_vda.c b/ffmpeg_vda.c
index d15648d..6fe4ed4 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;
--
2.3.2 (Apple Git-55)
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel