obs-ffmpeg: Set initial_padding in FFmpeg muxer

This commit is contained in:
derrod
2025-12-27 15:30:11 +01:00
committed by Ryan Foster
parent 6ea43da29d
commit dd89ae7432
2 changed files with 7 additions and 0 deletions
@@ -105,6 +105,7 @@ struct audio_params {
int abitrate;
int sample_rate;
int frame_size;
int initial_padding;
int channels;
};
@@ -288,6 +289,8 @@ static bool get_audio_params(struct audio_params *audio, int *argc, char ***argv
return false;
if (!get_opt_int(argc, argv, &audio->frame_size, "audio frame size"))
return false;
if (!get_opt_int(argc, argv, &audio->initial_padding, "audio padding"))
return false;
if (!get_opt_int(argc, argv, &audio->channels, "audio channels"))
return false;
return true;
@@ -554,6 +557,9 @@ static void create_audio_stream(struct ffmpeg_mux *ffm, int idx)
if (ffm->output->oformat->flags & AVFMT_GLOBALHEADER)
context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
// Set initial padding so that priming samples are skipped
context->initial_padding = ffm->audio[idx].initial_padding;
avcodec_parameters_from_context(stream->codecpar, context);
ffm->audio_infos[ffm->num_audio_streams].stream = stream;
+1
View File
@@ -211,6 +211,7 @@ static void add_audio_encoder_params(os_process_args_t *args, obs_encoder_t *aen
os_process_args_add_argf(args, "%d", bitrate);
os_process_args_add_argf(args, "%d", (int)obs_encoder_get_sample_rate(aencoder));
os_process_args_add_argf(args, "%d", (int)obs_encoder_get_frame_size(aencoder));
os_process_args_add_argf(args, "%d", (int)obs_encoder_get_priming_samples(aencoder));
os_process_args_add_argf(args, "%d", (int)audio_output_get_channels(audio));
}