Skip to content

Commit

Permalink
fix vertical audio exclusion
Browse files Browse the repository at this point in the history
  • Loading branch information
summeroff committed Feb 19, 2025
1 parent e4f90f5 commit caee61d
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 4 deletions.
1 change: 1 addition & 0 deletions libobs/media-io/audio-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ static void do_audio_output(struct audio_output *audio, size_t mix_idx,
struct audio_input *input = mix->inputs.array + (input_idx - 1);

struct obs_encoder *encoder = input->param;
blog(LOG_INFO, "[SECOND_AUDIO] do_audio_output encoder: %s ovi %p", obs_encoder_get_name(encoder) , encoder->video->ovi);
if (encoder && encoder->video &&
encoder->video->ovi != obs_get_audio_rendering_canvas()) {
continue;
Expand Down
6 changes: 4 additions & 2 deletions libobs/obs-audio.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ static void mix_audio(struct audio_data_mixes_outputs *mixes,
}
for (size_t canvas_idx = 0; canvas_idx < mixes->outputs.num;
canvas_idx++) {
size_t active_canvas_idx = source->info.audio_render? canvas_idx : 0;
blog(LOG_INFO, "[SECOND_AUDIO] mix_audio source %s, canvas_idx %d", source->context.name, canvas_idx);
for (size_t mix_idx = 0; mix_idx < MAX_AUDIO_MIXES; mix_idx++) {
for (size_t ch = 0; ch < channels; ch++) {
register float *mix =
Expand All @@ -86,7 +88,7 @@ static void mix_audio(struct audio_data_mixes_outputs *mixes,
.data[ch];
register float *aud =
get_source_audio_output_buf(source,
canvas_idx,
active_canvas_idx,
mix_idx,
ch);
if (!aud) {
Expand Down Expand Up @@ -667,7 +669,7 @@ bool audio_callback(void *param, uint64_t start_ts_in, uint64_t end_ts_in,
if (!audio->buffering_wait_ticks) {
for (size_t i = 0; i < audio->root_nodes.num; i++) {
obs_source_t *source = audio->root_nodes.array[i];

blog(LOG_INFO, "[SECOND_AUDIO] audio_callback source %s", source->context.name);
if (source->audio_pending)
continue;

Expand Down
4 changes: 4 additions & 0 deletions libobs/obs-source.c
Original file line number Diff line number Diff line change
Expand Up @@ -5994,6 +5994,10 @@ void obs_source_audio_render(obs_source_t *source, uint32_t mixers,
"[AUDIO_CANVAS] obs_source_audio_render audio_output_buf is NULL for source %s",
source->context.name);
return;
} else {
blog(LOG_INFO,
"[AUDIO_CANVAS] obs_source_audio_render audio_output_buf for source %s , audio_render_do %p",
source->context.name, source->info.audio_render_do);
}

if (source->info.audio_render) {
Expand Down
6 changes: 4 additions & 2 deletions libobs/obs.c
Original file line number Diff line number Diff line change
Expand Up @@ -2756,16 +2756,18 @@ void obs_set_audio_rendering_canvas(struct obs_video_info *ovi)
{
if (!obs)
return;

blog(LOG_DEBUG, "[SECOND_AUDIO] obs_set_audio_rendering_canvas %p", ovi);
obs->audio_rendering_canvas = ovi;
}

struct obs_video_info *obs_get_audio_rendering_canvas(void)
{
if (!obs)
return NULL;
else
else {
blog(LOG_DEBUG, "[SECOND_AUDIO] obs_get_audio_rendering_canvas %p", obs->audio_rendering_canvas);
return obs->audio_rendering_canvas;
}
}

void obs_set_video_rendering_canvas(struct obs_video_info *ovi)
Expand Down

0 comments on commit caee61d

Please sign in to comment.