Merge branch 'v0.23.x'

This commit is contained in:
Max Kellermann
2022-07-27 11:06:47 +02:00
6 changed files with 46 additions and 16 deletions

View File

@@ -520,9 +520,15 @@ FfmpegDecode(DecoderClient &client, InputStream *input,
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,
sample_format,
codec_context->channels);
channels);
const SignedSongTime total_time =
av_stream.duration != (int64_t)AV_NOPTS_VALUE
@@ -632,10 +638,17 @@ FfmpegScanStream(AVFormatContext &format_context, TagHandler &handler)
AV_TIME_BASE_Q));
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 {
handler.OnAudioFormat(CheckAudioFormat(codec_params.sample_rate,
ffmpeg_sample_format(AVSampleFormat(codec_params.format)),
codec_params.channels));
channels));
} catch (...) {
}

View File

@@ -21,10 +21,13 @@
#define __STDC_CONSTANT_MACROS
#include "FfmpegIo.hxx"
#include "libavutil/mem.h"
#include "../DecoderAPI.hxx"
#include "input/InputStream.hxx"
extern "C" {
#include <libavutil/mem.h>
}
AvioStream::~AvioStream()
{
if (io != nullptr) {