summaryrefslogtreecommitdiff
path: root/streamer.c
diff options
context:
space:
mode:
authorGravatar Eugene Rudchenko <rei@starrain.org>2013-08-23 11:56:36 +0300
committerGravatar waker <wakeroid@gmail.com>2013-08-24 22:42:19 +0200
commit3186518f459ed8547361c71d6dba3ea42e5112b5 (patch)
tree20154c0709dc51155f6d5404f58ea40c8e5793ef /streamer.c
parent4cfa42c8d2e50f2c2ddf9af83013c9761a8dcc6d (diff)
Add option to convert 16 bit audio to 24 bit
Conflicts: plugins/gtkui/callbacks.h streamer.c
Diffstat (limited to 'streamer.c')
-rw-r--r--streamer.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/streamer.c b/streamer.c
index 50ab9bfc..fe655d07 100644
--- a/streamer.c
+++ b/streamer.c
@@ -80,6 +80,8 @@ static int dsp_on = 0;
static int autoconv_8_to_16 = 1;
+static int autoconv_16_to_24 = 0;
+
static int streaming_terminate;
// buffer up to 3 seconds at 44100Hz stereo
@@ -1976,6 +1978,11 @@ streamer_set_output_format (void) {
fmt.bps = 16;
}
}
+ if (autoconv_16_to_24) {
+ if (fmt.bps == 16) {
+ fmt.bps = 24;
+ }
+ }
output->setformat (&fmt);
streamer_buffering = 1;
if (playing && output->state () != OUTPUT_STATE_PLAYING) {
@@ -2371,6 +2378,12 @@ streamer_configchanged (void) {
formatchanged = 1;
streamer_reset (1);
}
+ int conf_autoconv_16_to_24 = conf_get_int ("streamer.16_to_24",0);
+ if (conf_autoconv_16_to_24 != autoconv_16_to_24) {
+ autoconv_16_to_24 = conf_autoconv_16_to_24;
+ formatchanged = 1;
+ streamer_reset (1);
+ }
char mapstr[2048];
deadbeef->conf_get_str ("network.ctmapping", DDB_DEFAULT_CTMAPPING, mapstr, sizeof (mapstr));