]> git.sesse.net Git - nageru/commitdiff
Update most code to the new FFmpeg channel layout API.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 1 Oct 2023 08:39:06 +0000 (10:39 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sun, 1 Oct 2023 08:40:13 +0000 (10:40 +0200)
Fixes a bunch of noisy deprecation warnings. FFmpegCapture and
AudioEncoder are not done yet.

futatabi/export.cpp
futatabi/video_stream.cpp
nageru/audio_encoder.cpp
nageru/mjpeg_encoder.cpp

index ca6a5589501be64cdeb57d242b8e82d4cbd4c015..a16b41d55514f26e389830f8256d238cc7b3bead 100644 (file)
@@ -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);
        }
index a21832929957ea1d1ab84ade759dc524337666bf..2a0c7c02b2ecb3e0edc1f4bd839735aafb377ab3 100644 (file)
@@ -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.
index 61ddfffcb80fc38cd69d6e1031686addde49dd8a..4d42b4033c2a01052e41359005a897066c2fd426 100644 (file)
@@ -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;
 
index 193027b38483e42359f9733a3d899dcad0b4f8db..a526c1e1e875c2e53cedece541a9020cd473625d 100644 (file)
@@ -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;
 }