From 7ed9b1f3a6b5e73a39daf906c8e8c19e93fce4b4 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Wed, 29 Nov 2023 22:06:09 +0900 Subject: [PATCH] deps/media-playback: Use new (nb_)coded_side_data FFmpeg 6.1 API Fixes for using FFmpeg 6.1 due to deprecations. Uses `#if` macros to allow builds for using older versions of FFmpeg. The change in deps/media-playback/media-playback/decode.c is due to FFmpeg moving "side_data" into AVCodecParameters which is mentioned in commit [1] in FFmpeg's repository. In summary of the "side_data" change, AVStream.side_data is deprecated and replaced with AVStream.codecpar->coded_side_data, and AVStream.nb_side_data is replaced with AVStream.codecpar->nb_coded_side_data. [1]: avcodec/codec_par: add side data to AVCodecParameters https://github.com/FFmpeg/FFmpeg/commit/21d7cc6fa9a26e94965fa71b25655d07568450fe --- deps/media-playback/media-playback/decode.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/deps/media-playback/media-playback/decode.c b/deps/media-playback/media-playback/decode.c index 55b91c140ace4..40853f171bde7 100644 --- a/deps/media-playback/media-playback/decode.c +++ b/deps/media-playback/media-playback/decode.c @@ -114,8 +114,14 @@ static uint16_t get_max_luminance(const AVStream *stream) { uint32_t max_luminance = 0; +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102) for (int i = 0; i < stream->nb_side_data; i++) { const AVPacketSideData *const sd = &stream->side_data[i]; +#else + for (int i = 0; i < stream->codecpar->nb_coded_side_data; i++) { + const AVPacketSideData *const sd = + &stream->codecpar->coded_side_data[i]; +#endif switch (sd->type) { case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: { const AVMasteringDisplayMetadata *mastering =