diff options
author | Pavel Dubsky <pavel.dubsky@qt.io> | 2024-04-24 21:02:44 +0200 |
---|---|---|
committer | Pavel Dubsky <pavel.dubsky@qt.io> | 2024-04-27 11:15:22 +0200 |
commit | b5e47ff2c7e178a6704b921d5581378b01710e31 (patch) | |
tree | 2430416826cc1a245b8ca2e89a0f3f2805ff2253 | |
parent | 57155746ba8c90fa74af0aae7f15550ed48ce330 (diff) |
Since FFmpeg n7.0 avcodec_close is marked as deprecated. According to
the documentation avcodec_free_context should be used which is already
true therefore the removal shouldn't cause any problems.
Task-number: QTBUG-124482
Pick-to: 6.7.1 6.7 6.5
Change-Id: Ia2bdec8e9560441f99cc159b341ef60c1a39e88f
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
3 files changed, 4 insertions, 9 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec.cpp b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec.cpp index a99432c29..457b3603d 100644 --- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec.cpp +++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec.cpp @@ -18,13 +18,6 @@ Codec::Data::Data(AVCodecContextUPtr context, AVStream *stream, AVFormatContext pixelAspectRatio = av_guess_sample_aspect_ratio(formatContext, stream, nullptr); } -Codec::Data::~Data() -{ - // TODO: investigate if we can remove avcodec_close - // FFmpeg doc says that avcodec_free_context is enough - avcodec_close(context.get()); -} - QMaybe<Codec> Codec::create(AVStream *stream, AVFormatContext *formatContext) { if (!stream) diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec_p.h b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec_p.h index 5510e0e84..449fb1f65 100644 --- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec_p.h +++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec_p.h @@ -31,7 +31,6 @@ class Codec { Data(AVCodecContextUPtr context, AVStream *stream, AVFormatContext *formatContext, std::unique_ptr<QFFmpeg::HWAccel> hwAccel); - ~Data(); QAtomicInt ref; AVCodecContextUPtr context; AVStream *stream = nullptr; diff --git a/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp b/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp index 58bf4dce7..ed2532e73 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp @@ -37,7 +37,7 @@ static Libs loadLibs() return {}; } -constexpr size_t symbolsCount = 38 +constexpr size_t symbolsCount = 40 #if VA_CHECK_VERSION(1, 9, 0) + 1 #endif @@ -114,6 +114,9 @@ DEFINE_FUNC(vaGetDisplayAttributes, 3, VA_STATUS_ERROR_OPERATION_FAILED); DEFINE_FUNC(vaSetDriverName, 2, VA_STATUS_ERROR_OPERATION_FAILED); +DEFINE_FUNC(vaAcquireBufferHandle, 3, VA_STATUS_ERROR_OPERATION_FAILED); +DEFINE_FUNC(vaReleaseBufferHandle, 2, VA_STATUS_ERROR_OPERATION_FAILED); + #ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS DEFINE_FUNC(vaGetDisplayDRM, 1); // va-drm #endif |