Skip to content

Commit caee61d

Browse files
committed
fix vertical audio exclusion
1 parent e4f90f5 commit caee61d

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

libobs/media-io/audio-io.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ static void do_audio_output(struct audio_output *audio, size_t mix_idx,
147147
struct audio_input *input = mix->inputs.array + (input_idx - 1);
148148

149149
struct obs_encoder *encoder = input->param;
150+
blog(LOG_INFO, "[SECOND_AUDIO] do_audio_output encoder: %s ovi %p", obs_encoder_get_name(encoder) , encoder->video->ovi);
150151
if (encoder && encoder->video &&
151152
encoder->video->ovi != obs_get_audio_rendering_canvas()) {
152153
continue;

libobs/obs-audio.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ static void mix_audio(struct audio_data_mixes_outputs *mixes,
7878
}
7979
for (size_t canvas_idx = 0; canvas_idx < mixes->outputs.num;
8080
canvas_idx++) {
81+
size_t active_canvas_idx = source->info.audio_render? canvas_idx : 0;
82+
blog(LOG_INFO, "[SECOND_AUDIO] mix_audio source %s, canvas_idx %d", source->context.name, canvas_idx);
8183
for (size_t mix_idx = 0; mix_idx < MAX_AUDIO_MIXES; mix_idx++) {
8284
for (size_t ch = 0; ch < channels; ch++) {
8385
register float *mix =
@@ -86,7 +88,7 @@ static void mix_audio(struct audio_data_mixes_outputs *mixes,
8688
.data[ch];
8789
register float *aud =
8890
get_source_audio_output_buf(source,
89-
canvas_idx,
91+
active_canvas_idx,
9092
mix_idx,
9193
ch);
9294
if (!aud) {
@@ -667,7 +669,7 @@ bool audio_callback(void *param, uint64_t start_ts_in, uint64_t end_ts_in,
667669
if (!audio->buffering_wait_ticks) {
668670
for (size_t i = 0; i < audio->root_nodes.num; i++) {
669671
obs_source_t *source = audio->root_nodes.array[i];
670-
672+
blog(LOG_INFO, "[SECOND_AUDIO] audio_callback source %s", source->context.name);
671673
if (source->audio_pending)
672674
continue;
673675

libobs/obs-source.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5994,6 +5994,10 @@ void obs_source_audio_render(obs_source_t *source, uint32_t mixers,
59945994
"[AUDIO_CANVAS] obs_source_audio_render audio_output_buf is NULL for source %s",
59955995
source->context.name);
59965996
return;
5997+
} else {
5998+
blog(LOG_INFO,
5999+
"[AUDIO_CANVAS] obs_source_audio_render audio_output_buf for source %s , audio_render_do %p",
6000+
source->context.name, source->info.audio_render_do);
59976001
}
59986002

59996003
if (source->info.audio_render) {

libobs/obs.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2756,16 +2756,18 @@ void obs_set_audio_rendering_canvas(struct obs_video_info *ovi)
27562756
{
27572757
if (!obs)
27582758
return;
2759-
2759+
blog(LOG_DEBUG, "[SECOND_AUDIO] obs_set_audio_rendering_canvas %p", ovi);
27602760
obs->audio_rendering_canvas = ovi;
27612761
}
27622762

27632763
struct obs_video_info *obs_get_audio_rendering_canvas(void)
27642764
{
27652765
if (!obs)
27662766
return NULL;
2767-
else
2767+
else {
2768+
blog(LOG_DEBUG, "[SECOND_AUDIO] obs_get_audio_rendering_canvas %p", obs->audio_rendering_canvas);
27682769
return obs->audio_rendering_canvas;
2770+
}
27692771
}
27702772

27712773
void obs_set_video_rendering_canvas(struct obs_video_info *ovi)

0 commit comments

Comments
 (0)