diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2013-01-18 22:25:19 +0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2013-02-12 22:35:04 +0400 |
commit | 646831e697a5f789d1faeaeecd047b8b5b8c5216 (patch) | |
tree | 29b521a796423cf95a8fa92a74519d302ae82c48 /libavresample/audio_mix.c | |
parent | 8ae50d87e7712959ac705f7cdf7cff1bfb5b9ee3 (diff) |
lavr: print out the mix matrix in ff_audio_mix_set_matrix()
This will print the new matrix if it is set after initialization.
Diffstat (limited to 'libavresample/audio_mix.c')
-rw-r--r-- | libavresample/audio_mix.c | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c index c701bf154b..a3f11b657f 100644 --- a/libavresample/audio_mix.c +++ b/libavresample/audio_mix.c @@ -370,9 +370,6 @@ AudioMix *ff_audio_mix_alloc(AVAudioResampleContext *avr) goto error; av_freep(&avr->mix_matrix); } else { - int i, j; - char in_layout_name[128]; - char out_layout_name[128]; double *matrix_dbl = av_mallocz(avr->out_channels * avr->in_channels * sizeof(*matrix_dbl)); if (!matrix_dbl) @@ -399,27 +396,6 @@ AudioMix *ff_audio_mix_alloc(AVAudioResampleContext *avr) goto error; } - av_get_channel_layout_string(in_layout_name, sizeof(in_layout_name), - avr->in_channels, avr->in_channel_layout); - av_get_channel_layout_string(out_layout_name, sizeof(out_layout_name), - avr->out_channels, avr->out_channel_layout); - av_log(avr, AV_LOG_DEBUG, "audio_mix: %s to %s\n", - in_layout_name, out_layout_name); - av_log(avr, AV_LOG_DEBUG, "matrix size: %d x %d\n", - am->in_matrix_channels, am->out_matrix_channels); - for (i = 0; i < avr->out_channels; i++) { - for (j = 0; j < avr->in_channels; j++) { - if (am->output_zero[i]) - av_log(avr, AV_LOG_DEBUG, " (ZERO)"); - else if (am->input_skip[j] || am->output_skip[i]) - av_log(avr, AV_LOG_DEBUG, " (SKIP)"); - else - av_log(avr, AV_LOG_DEBUG, " %0.3f ", - matrix_dbl[i * avr->in_channels + j]); - } - av_log(avr, AV_LOG_DEBUG, "\n"); - } - av_free(matrix_dbl); } @@ -553,7 +529,9 @@ int ff_audio_mix_get_matrix(AudioMix *am, double *matrix, int stride) int ff_audio_mix_set_matrix(AudioMix *am, const double *matrix, int stride) { - int i, o, i0, o0; + int i, o, i0, o0, ret; + char in_layout_name[128]; + char out_layout_name[128]; if ( am->in_channels <= 0 || am->in_channels > AVRESAMPLE_MAX_CHANNELS || am->out_channels <= 0 || am->out_channels > AVRESAMPLE_MAX_CHANNELS) { @@ -701,5 +679,30 @@ int ff_audio_mix_set_matrix(AudioMix *am, const double *matrix, int stride) return AVERROR(EINVAL); } - return mix_function_init(am); + ret = mix_function_init(am); + if (ret < 0) + return ret; + + av_get_channel_layout_string(in_layout_name, sizeof(in_layout_name), + am->in_channels, am->in_layout); + av_get_channel_layout_string(out_layout_name, sizeof(out_layout_name), + am->out_channels, am->out_layout); + av_log(am->avr, AV_LOG_DEBUG, "audio_mix: %s to %s\n", + in_layout_name, out_layout_name); + av_log(am->avr, AV_LOG_DEBUG, "matrix size: %d x %d\n", + am->in_matrix_channels, am->out_matrix_channels); + for (o = 0; o < am->out_channels; o++) { + for (i = 0; i < am->in_channels; i++) { + if (am->output_zero[o]) + av_log(am->avr, AV_LOG_DEBUG, " (ZERO)"); + else if (am->input_skip[i] || am->output_skip[o]) + av_log(am->avr, AV_LOG_DEBUG, " (SKIP)"); + else + av_log(am->avr, AV_LOG_DEBUG, " %0.3f ", + matrix[o * am->in_channels + i]); + } + av_log(am->avr, AV_LOG_DEBUG, "\n"); + } + + return 0; } |