From df3394a694cfd88bd0fd0efb00b48c87da53300a Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 29 Sep 2020 11:59:44 +0200 Subject: [PATCH] add some more debug --- pipewire-pulseaudio/src/stream.c | 5 ++++- spa/plugins/audioconvert/channelmix-ops.c | 23 ++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/pipewire-pulseaudio/src/stream.c b/pipewire-pulseaudio/src/stream.c index 0a398c668..49e8154f8 100644 --- a/pipewire-pulseaudio/src/stream.c +++ b/pipewire-pulseaudio/src/stream.c @@ -585,8 +585,11 @@ static pa_stream* stream_new(pa_context *c, const char *name, s->n_formats = 0; if (formats) { s->n_formats = n_formats; - for (i = 0; i < n_formats; i++) + for (i = 0; i < n_formats; i++) { s->req_formats[i] = pa_format_info_copy(formats[i]); + pw_log_debug("format %d: %s", i, + pa_format_info_snprint(str, sizeof(str), formats[i])); + } } s->format = NULL; diff --git a/spa/plugins/audioconvert/channelmix-ops.c b/spa/plugins/audioconvert/channelmix-ops.c index 384f08ed7..e5a6b335a 100644 --- a/spa/plugins/audioconvert/channelmix-ops.c +++ b/spa/plugins/audioconvert/channelmix-ops.c @@ -193,6 +193,7 @@ static int make_matrix(struct channelmix *mix) if (unassigned & _MASK(FC)){ if ((dst_mask & STEREO) == STEREO){ + spa_log_debug(mix->log, "assign FC to STEREO"); if(src_mask & STEREO) { matrix[FL][FC] += clev; matrix[FR][FC] += clev; @@ -207,6 +208,7 @@ static int make_matrix(struct channelmix *mix) if (unassigned & STEREO){ if (dst_mask & _MASK(FC)) { + spa_log_debug(mix->log, "assign STEREO to FC"); matrix[FC][FL] += SQRT1_2; matrix[FC][FR] += SQRT1_2; if (src_mask & _MASK(FC)) @@ -218,12 +220,15 @@ static int make_matrix(struct channelmix *mix) if (unassigned & _MASK(RC)) { if (dst_mask & _MASK(RL)){ + spa_log_debug(mix->log, "assign RC to RL+RR"); matrix[RL][RC] += SQRT1_2; matrix[RR][RC] += SQRT1_2; } else if (dst_mask & _MASK(SL)) { + spa_log_debug(mix->log, "assign RC to SL+SR"); matrix[SL][RC] += SQRT1_2; matrix[SR][RC] += SQRT1_2; } else if(dst_mask & _MASK(FL)) { + spa_log_debug(mix->log, "assign RC to FL+FR"); if (matrix_encoding == MATRIX_DOLBY || matrix_encoding == MATRIX_DPLII) { if (unassigned & (_MASK(RL)|_MASK(RR))) { @@ -238,6 +243,7 @@ static int make_matrix(struct channelmix *mix) matrix[FR][RC] += slev * SQRT1_2; } } else if (dst_mask & _MASK(FC)) { + spa_log_debug(mix->log, "assign RC to FC"); matrix[FC][RC] += slev * SQRT1_2; } else { spa_log_warn(mix->log, "can't assign RC"); @@ -246,9 +252,11 @@ static int make_matrix(struct channelmix *mix) if (unassigned & _MASK(RL)) { if (dst_mask & _MASK(RC)) { + spa_log_debug(mix->log, "assign RL+RR to RC"); matrix[RC][RL] += SQRT1_2; matrix[RC][RR] += SQRT1_2; } else if (dst_mask & _MASK(SL)) { + spa_log_debug(mix->log, "assign RL+RR to SL+SR"); if (src_mask & _MASK(SL)) { matrix[SL][RL] += SQRT1_2; matrix[SR][RR] += SQRT1_2; @@ -257,6 +265,7 @@ static int make_matrix(struct channelmix *mix) matrix[SR][RR] += 1.0f; } } else if (dst_mask & _MASK(FL)) { + spa_log_debug(mix->log, "assign RL+RR to FL+FR %f", slev); if (matrix_encoding == MATRIX_DOLBY) { matrix[FL][RL] -= slev * SQRT1_2; matrix[FL][RR] -= slev * SQRT1_2; @@ -272,6 +281,7 @@ static int make_matrix(struct channelmix *mix) matrix[FR][RR] += slev; } } else if (dst_mask & _MASK(FC)) { + spa_log_debug(mix->log, "assign RL+RR to FC"); matrix[FC][RL]+= slev * SQRT1_2; matrix[FC][RR]+= slev * SQRT1_2; } else { @@ -281,6 +291,7 @@ static int make_matrix(struct channelmix *mix) if (unassigned & _MASK(SL)) { if (dst_mask & _MASK(RL)) { + spa_log_debug(mix->log, "assign SL+SR to RL+RR"); if (src_mask & _MASK(RL)) { matrix[RL][SL] += SQRT1_2; matrix[RR][SR] += SQRT1_2; @@ -289,9 +300,11 @@ static int make_matrix(struct channelmix *mix) matrix[RR][SR] += 1.0f; } } else if (dst_mask & _MASK(RC)) { + spa_log_debug(mix->log, "assign SL+SR to RC"); matrix[RC][SL]+= SQRT1_2; matrix[RC][SR]+= SQRT1_2; } else if (dst_mask & _MASK(FL)) { + spa_log_debug(mix->log, "assign SL+SR to FL+FR"); if (matrix_encoding == MATRIX_DOLBY) { matrix[FL][SL] -= slev * SQRT1_2; matrix[FL][SR] -= slev * SQRT1_2; @@ -307,6 +320,7 @@ static int make_matrix(struct channelmix *mix) matrix[FR][SR] += slev; } } else if (dst_mask & _MASK(FC)) { + spa_log_debug(mix->log, "assign SL+SR to FC"); matrix[FC][SL] += slev * SQRT1_2; matrix[FC][SR] += slev * SQRT1_2; } else { @@ -319,6 +333,7 @@ static int make_matrix(struct channelmix *mix) matrix[FC][FLC]+= 1.0f; matrix[FC][FRC]+= 1.0f; } else if(dst_mask & _MASK(FC)) { + spa_log_debug(mix->log, "assign FLC+FRC to FC"); matrix[FC][FLC]+= SQRT1_2; matrix[FC][FRC]+= SQRT1_2; } else { @@ -328,8 +343,10 @@ static int make_matrix(struct channelmix *mix) if (unassigned & _MASK(LFE) && SPA_FLAG_IS_SET(mix->options, CHANNELMIX_OPTION_MIX_LFE)) { if (dst_mask & _MASK(FC)) { + spa_log_debug(mix->log, "assign LFE to FC"); matrix[FC][LFE] += llev; } else if (dst_mask & _MASK(FL)) { + spa_log_debug(mix->log, "assign LFE to FL+FR"); matrix[FL][LFE] += llev * SQRT1_2; matrix[FR][LFE] += llev * SQRT1_2; } else { @@ -364,9 +381,13 @@ static void impl_channelmix_set_volume(struct channelmix *mix, float volume, boo uint32_t src_chan = mix->src_chan; uint32_t dst_chan = mix->dst_chan; + spa_log_debug(mix->log, "volume:%f mute:%d n_volumes:%d", volume, mute, n_channel_volumes); + /** apply global volume to channels */ - for (i = 0; i < n_channel_volumes; i++) + for (i = 0; i < n_channel_volumes; i++) { volumes[i] = channel_volumes[i] * vol; + spa_log_debug(mix->log, "%d: %f * %f = %f", i, channel_volumes[i], vol, volumes[i]); + } /** apply volumes per channel */ if (n_channel_volumes == src_chan) {