diff --git a/libobs/obs-encoder.c b/libobs/obs-encoder.c index 69799437f..bd3598f96 100644 --- a/libobs/obs-encoder.c +++ b/libobs/obs-encoder.c @@ -503,6 +503,17 @@ uint32_t obs_encoder_get_height(const obs_encoder_t *encoder) video_output_get_height(encoder->media); } +uint32_t obs_encoder_get_sample_rate(const obs_encoder_t *encoder) +{ + if (!encoder || !encoder->media || + encoder->info.type != OBS_ENCODER_AUDIO) + return 0; + + return encoder->samplerate != 0 ? + encoder->samplerate : + audio_output_get_sample_rate(encoder->media); +} + void obs_encoder_set_video(obs_encoder_t *encoder, video_t *video) { const struct video_output_info *voi; diff --git a/libobs/obs.h b/libobs/obs.h index a414278a2..d0147dadf 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -1385,6 +1385,9 @@ EXPORT uint32_t obs_encoder_get_width(const obs_encoder_t *encoder); /** For video encoders, returns the height of the encoded image */ EXPORT uint32_t obs_encoder_get_height(const obs_encoder_t *encoder); +/** For audio encoders, returns the sample rate of the audio */ +EXPORT uint32_t obs_encoder_get_sample_rate(const obs_encoder_t *encoder); + /** * Sets the preferred video format for a video encoder. If the encoder can use * the format specified, it will force a conversion to that format if the