summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Dubsky <pavel.dubsky@qt.io>2024-04-24 21:02:44 +0200
committerPavel Dubsky <pavel.dubsky@qt.io>2024-04-27 11:15:22 +0200
commitb5e47ff2c7e178a6704b921d5581378b01710e31 (patch)
tree2430416826cc1a245b8ca2e89a0f3f2805ff2253
parent57155746ba8c90fa74af0aae7f15550ed48ce330 (diff)
Remove deprecated avcodec_closeHEADdev
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>
-rw-r--r--src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec.cpp7
-rw-r--r--src/plugins/multimedia/ffmpeg/playbackengine/qffmpegcodec_p.h1
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp5
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