Commit c7a2a17a authored by David Fuhrmann's avatar David Fuhrmann

vda: user ref buffer mode

This fixes memory leaks when seeking or dropping frames for other reasons.

close #8927
parent 49984f49
...@@ -2385,12 +2385,12 @@ AS_IF([test "${enable_vda}" != "no"], [ ...@@ -2385,12 +2385,12 @@ AS_IF([test "${enable_vda}" != "no"], [
AS_IF([test "x${have_avcodec}" = "xyes"], [ AS_IF([test "x${have_avcodec}" = "xyes"], [
AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h, AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h,
[ [
AC_CHECK_HEADERS(libavcodec/vda.h, [ PKG_CHECK_EXISTS([libavcodec >= 55.19.0], [
have_avcodec_vda="yes" have_avcodec_vda="yes"
],[ ],[
AS_IF([test "${enable_vda}" = "yes"], AS_IF([test "${enable_vda}" = "yes"],
[AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])], [AC_MSG_ERROR([libavcodec >= 55.19.0 is required for VDA decoding])],
[AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])]) [AC_MSG_WARN([libavcodec >= 55.19.0 is required for VDA decoding])])
]) ])
],[ ],[
AS_IF([test "${enable_vda}" = "yes"], AS_IF([test "${enable_vda}" = "yes"],
......
...@@ -106,7 +106,6 @@ static void vda_Copy420YpCbCr8Planar( picture_t *p_pic, ...@@ -106,7 +106,6 @@ static void vda_Copy420YpCbCr8Planar( picture_t *p_pic,
i_width, i_height, cache ); i_width, i_height, cache );
CVPixelBufferUnlockBaseAddress( buffer, 0 ); CVPixelBufferUnlockBaseAddress( buffer, 0 );
CVPixelBufferRelease( buffer );
} }
/***************************************************************************** /*****************************************************************************
...@@ -137,7 +136,6 @@ static void vda_Copy422YpCbCr8( picture_t *p_pic, ...@@ -137,7 +136,6 @@ static void vda_Copy422YpCbCr8( picture_t *p_pic,
} }
CVPixelBufferUnlockBaseAddress( buffer, 0 ); CVPixelBufferUnlockBaseAddress( buffer, 0 );
CVPixelBufferRelease( buffer );
} }
static int Setup( vlc_va_t *external, void **pp_hw_ctx, vlc_fourcc_t *pi_chroma, static int Setup( vlc_va_t *external, void **pp_hw_ctx, vlc_fourcc_t *pi_chroma,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment