diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-21 15:51:49 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-21 15:51:49 +0000 |
commit | 522dec1678e19f6e5378cf9c66c05823c498b4a2 (patch) | |
tree | 848a069ef3fa71f4e8884f74a6ae1db5afaf8968 /main/audiohook.c | |
parent | fe145669ee3357bd74e533e6d0336d52888a9ce0 (diff) |
Minor tweak. Don't manipulate volume of the audio in the buffer if no audio is actually there.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80157 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/audiohook.c')
-rw-r--r-- | main/audiohook.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/main/audiohook.c b/main/audiohook.c index a7600a356..b1df90127 100644 --- a/main/audiohook.c +++ b/main/audiohook.c @@ -189,17 +189,18 @@ static struct ast_frame *audiohook_read_frame_both(struct ast_audiohook *audioho /* Start with the read factory... if there are enough samples, read them in */ if (ast_slinfactory_available(&audiohook->read_factory) >= samples) { - if (ast_slinfactory_read(&audiohook->read_factory, buf1, samples)) + if (ast_slinfactory_read(&audiohook->read_factory, buf1, samples)) { read_buf = buf1; - /* Adjust read volume if need be */ - if (audiohook->options.read_volume) { - int count = 0; - short adjust_value = abs(audiohook->options.read_volume); - for (count = 0; count < samples; count++) { - if (audiohook->options.read_volume > 0) - ast_slinear_saturated_multiply(&buf1[count], &adjust_value); - else if (audiohook->options.read_volume < 0) - ast_slinear_saturated_divide(&buf1[count], &adjust_value); + /* Adjust read volume if need be */ + if (audiohook->options.read_volume) { + int count = 0; + short adjust_value = abs(audiohook->options.read_volume); + for (count = 0; count < samples; count++) { + if (audiohook->options.read_volume > 0) + ast_slinear_saturated_multiply(&buf1[count], &adjust_value); + else if (audiohook->options.read_volume < 0) + ast_slinear_saturated_divide(&buf1[count], &adjust_value); + } } } } else if (option_debug) @@ -207,17 +208,18 @@ static struct ast_frame *audiohook_read_frame_both(struct ast_audiohook *audioho /* Move on to the write factory... if there are enough samples, read them in */ if (ast_slinfactory_available(&audiohook->write_factory) >= samples) { - if (ast_slinfactory_read(&audiohook->write_factory, buf2, samples)) + if (ast_slinfactory_read(&audiohook->write_factory, buf2, samples)) { write_buf = buf2; - /* Adjust write volume if need be */ - if (audiohook->options.write_volume) { - int count = 0; - short adjust_value = abs(audiohook->options.write_volume); - for (count = 0; count < samples; count++) { - if (audiohook->options.write_volume > 0) - ast_slinear_saturated_multiply(&buf2[count], &adjust_value); - else if (audiohook->options.write_volume < 0) - ast_slinear_saturated_divide(&buf2[count], &adjust_value); + /* Adjust write volume if need be */ + if (audiohook->options.write_volume) { + int count = 0; + short adjust_value = abs(audiohook->options.write_volume); + for (count = 0; count < samples; count++) { + if (audiohook->options.write_volume > 0) + ast_slinear_saturated_multiply(&buf2[count], &adjust_value); + else if (audiohook->options.write_volume < 0) + ast_slinear_saturated_divide(&buf2[count], &adjust_value); + } } } } else if (option_debug) |