From 5a2fc1d6f27045ee559793414ea7e7578f427c6a Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 1 Oct 2023 10:39:06 +0200 Subject: [PATCH] Update most code to the new FFmpeg channel layout API. Fixes a bunch of noisy deprecation warnings. FFmpegCapture and AudioEncoder are not done yet. --- futatabi/export.cpp | 5 +++-- futatabi/video_stream.cpp | 5 +++-- nageru/audio_encoder.cpp | 10 ++++++---- nageru/mjpeg_encoder.cpp | 5 +++-- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/futatabi/export.cpp b/futatabi/export.cpp index ca6a558..a16b41d 100644 --- a/futatabi/export.cpp +++ b/futatabi/export.cpp @@ -136,8 +136,9 @@ void export_multitrack_clip(const string &filename, const Clip &clip) avstream_audio->time_base = AVRational{ 1, TIMEBASE }; avstream_audio->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; avstream_audio->codecpar->codec_id = AV_CODEC_ID_PCM_S32LE; - avstream_audio->codecpar->channel_layout = AV_CH_LAYOUT_STEREO; - avstream_audio->codecpar->channels = 2; + avstream_audio->codecpar->ch_layout.order = AV_CHANNEL_ORDER_NATIVE; + avstream_audio->codecpar->ch_layout.nb_channels = 2; + avstream_audio->codecpar->ch_layout.u.mask = AV_CH_LAYOUT_STEREO; avstream_audio->codecpar->sample_rate = OUTPUT_FREQUENCY; audio_streams.push_back(avstream_audio); } diff --git a/futatabi/video_stream.cpp b/futatabi/video_stream.cpp index a218329..2a0c7c0 100644 --- a/futatabi/video_stream.cpp +++ b/futatabi/video_stream.cpp @@ -353,8 +353,9 @@ void VideoStream::start() audio_codecpar->codec_type = AVMEDIA_TYPE_AUDIO; audio_codecpar->codec_id = AV_CODEC_ID_PCM_S32LE; - audio_codecpar->channel_layout = AV_CH_LAYOUT_STEREO; - audio_codecpar->channels = 2; + audio_codecpar->ch_layout.order = AV_CHANNEL_ORDER_NATIVE; + audio_codecpar->ch_layout.nb_channels = 2; + audio_codecpar->ch_layout.u.mask = AV_CH_LAYOUT_STEREO; audio_codecpar->sample_rate = OUTPUT_FREQUENCY; size_t width = global_flags.width, height = global_flags.height; // Doesn't matter for MJPEG. diff --git a/nageru/audio_encoder.cpp b/nageru/audio_encoder.cpp index 61ddfff..4d42b40 100644 --- a/nageru/audio_encoder.cpp +++ b/nageru/audio_encoder.cpp @@ -39,8 +39,9 @@ AudioEncoder::AudioEncoder(const string &codec_name, int bit_rate, const AVOutpu ctx->bit_rate = bit_rate; ctx->sample_rate = OUTPUT_FREQUENCY; ctx->sample_fmt = codec->sample_fmts[0]; - ctx->channels = 2; - ctx->channel_layout = AV_CH_LAYOUT_STEREO; + ctx->ch_layout.order = AV_CHANNEL_ORDER_NATIVE; + ctx->ch_layout.nb_channels = 2; + ctx->ch_layout.u.mask = AV_CH_LAYOUT_STEREO; ctx->time_base = AVRational{1, TIMEBASE}; if (oformat->flags & AVFMT_GLOBALHEADER) { ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; @@ -110,8 +111,9 @@ void AudioEncoder::encode_audio_one_frame(const float *audio, size_t num_samples { audio_frame->pts = audio_pts; audio_frame->nb_samples = num_samples; - audio_frame->channels = 2; - audio_frame->channel_layout = AV_CH_LAYOUT_STEREO; + audio_frame->ch_layout.order = AV_CHANNEL_ORDER_NATIVE; + audio_frame->ch_layout.nb_channels = 2; + audio_frame->ch_layout.u.mask = AV_CH_LAYOUT_STEREO; audio_frame->format = ctx->sample_fmt; audio_frame->sample_rate = OUTPUT_FREQUENCY; diff --git a/nageru/mjpeg_encoder.cpp b/nageru/mjpeg_encoder.cpp index 193027b..a526c1e 100644 --- a/nageru/mjpeg_encoder.cpp +++ b/nageru/mjpeg_encoder.cpp @@ -191,8 +191,9 @@ void add_audio_stream(AVFormatContext *avctx) stream->time_base = AVRational{ 1, OUTPUT_FREQUENCY }; stream->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; stream->codecpar->codec_id = AV_CODEC_ID_PCM_S32LE; - stream->codecpar->channel_layout = AV_CH_LAYOUT_STEREO; - stream->codecpar->channels = 2; + stream->codecpar->ch_layout.order = AV_CHANNEL_ORDER_NATIVE; + stream->codecpar->ch_layout.nb_channels = 2; + stream->codecpar->ch_layout.u.mask = AV_CH_LAYOUT_STEREO; stream->codecpar->sample_rate = OUTPUT_FREQUENCY; } -- 2.39.2