diff options
Diffstat (limited to 'src/plugins/Output/jack')
| -rw-r--r-- | src/plugins/Output/jack/outputjack.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp index 9d8a0eace..6adf9a907 100644 --- a/src/plugins/Output/jack/outputjack.cpp +++ b/src/plugins/Output/jack/outputjack.cpp @@ -50,13 +50,27 @@ OutputJACK::~OutputJACK() bool OutputJACK::initialize(quint32 freq, int chan, Qmmp::AudioFormat format) { qDebug("OutputJACK: initialize"); - if(JACK_Open(&jack_device, AudioParameters::sampleSize(format)*8, (unsigned long *)&freq, chan)) + int bits = 0; + Qmmp::AudioFormat input_format = Qmmp::PCM_S8; + switch(format) + { + case Qmmp::PCM_S8: + bits = 8; + input_format = Qmmp::PCM_S8; + break; + default: + bits = 16; + input_format = Qmmp::PCM_S16LE; + } + + + if(JACK_Open(&jack_device, bits, (unsigned long *)&freq, chan)) { m_inited = false; return false; } m_inited = true; - configure(freq, chan, format); + configure(freq, chan, input_format); return true; } |
