decoder/ffmpeg: fix FFmpeg 5.1 deprecation warnings

This commit is contained in:
Max Kellermann 2022-07-27 10:55:43 +02:00
parent 59792cb0b8
commit 57d5df8118
2 changed files with 19 additions and 2 deletions

View File

@ -523,9 +523,15 @@ FfmpegDecode(DecoderClient &client, InputStream *input,
return; return;
} }
#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 25, 100)
const unsigned channels = codec_context->ch_layout.nb_channels;
#else
const unsigned channels = codec_context->channels;
#endif
const auto audio_format = CheckAudioFormat(codec_context->sample_rate, const auto audio_format = CheckAudioFormat(codec_context->sample_rate,
sample_format, sample_format,
codec_context->channels); channels);
const SignedSongTime total_time = const SignedSongTime total_time =
av_stream.duration != (int64_t)AV_NOPTS_VALUE av_stream.duration != (int64_t)AV_NOPTS_VALUE
@ -635,10 +641,17 @@ FfmpegScanStream(AVFormatContext &format_context, TagHandler &handler)
AV_TIME_BASE_Q)); AV_TIME_BASE_Q));
const auto &codec_params = *stream.codecpar; const auto &codec_params = *stream.codecpar;
#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 25, 100)
const unsigned channels = codec_params.ch_layout.nb_channels;
#else
const unsigned channels = codec_params.channels;
#endif
try { try {
handler.OnAudioFormat(CheckAudioFormat(codec_params.sample_rate, handler.OnAudioFormat(CheckAudioFormat(codec_params.sample_rate,
ffmpeg_sample_format(AVSampleFormat(codec_params.format)), ffmpeg_sample_format(AVSampleFormat(codec_params.format)),
codec_params.channels)); channels));
} catch (...) { } catch (...) {
} }

View File

@ -38,7 +38,11 @@ InterleaveFrame(const AVFrame &frame, FfmpegBuffer &buffer)
assert(frame.nb_samples > 0); assert(frame.nb_samples > 0);
const auto format = AVSampleFormat(frame.format); const auto format = AVSampleFormat(frame.format);
#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 25, 100)
const unsigned channels = frame.ch_layout.nb_channels;
#else
const unsigned channels = frame.channels; const unsigned channels = frame.channels;
#endif
const std::size_t n_frames = frame.nb_samples; const std::size_t n_frames = frame.nb_samples;
int plane_size; int plane_size;