mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-01 15:49:51 +08:00
obs-ffmpeg: Set initial_padding in FFmpeg muxer
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user