aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Output/Output.pro8
-rw-r--r--src/plugins/Output/jack/outputjack.cpp6
-rw-r--r--src/plugins/Output/jack/outputjack.h2
-rw-r--r--src/plugins/Output/oss/outputoss.cpp5
-rw-r--r--src/plugins/Output/oss/outputoss.h2
-rw-r--r--src/plugins/Output/oss4/outputoss4.cpp7
-rw-r--r--src/plugins/Output/oss4/outputoss4.h4
-rw-r--r--src/plugins/Output/pulseaudio/outputpulseaudio.cpp6
-rw-r--r--src/plugins/Output/pulseaudio/outputpulseaudio.h2
9 files changed, 22 insertions, 20 deletions
diff --git a/src/plugins/Output/Output.pro b/src/plugins/Output/Output.pro
index 1de928c36..d07513257 100644
--- a/src/plugins/Output/Output.pro
+++ b/src/plugins/Output/Output.pro
@@ -9,15 +9,15 @@ SUBDIRS += null
unix{
contains(CONFIG, JACK_PLUGIN){
-# SUBDIRS += jack
+ SUBDIRS += jack
}
contains(CONFIG, OSS_PLUGIN){
-# SUBDIRS += oss
+ SUBDIRS += oss
}
contains(CONFIG, PULSE_AUDIO_PLUGIN){
-# SUBDIRS += pulseaudio
+ SUBDIRS += pulseaudio
}
contains(CONFIG, ALSA_PLUGIN){
@@ -25,7 +25,7 @@ contains(CONFIG, ALSA_PLUGIN){
}
contains(CONFIG, OSS4_PLUGIN){
-# SUBDIRS += oss4
+ SUBDIRS += oss4
}
}
diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp
index 6adf9a907..192d42d61 100644
--- a/src/plugins/Output/jack/outputjack.cpp
+++ b/src/plugins/Output/jack/outputjack.cpp
@@ -47,7 +47,7 @@ OutputJACK::~OutputJACK()
uninitialize();
}
-bool OutputJACK::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputJACK::initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat format)
{
qDebug("OutputJACK: initialize");
int bits = 0;
@@ -64,13 +64,13 @@ bool OutputJACK::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
}
- if(JACK_Open(&jack_device, bits, (unsigned long *)&freq, chan))
+ if(JACK_Open(&jack_device, bits, (unsigned long *)&freq, map.count()))
{
m_inited = false;
return false;
}
m_inited = true;
- configure(freq, chan, input_format);
+ configure(freq, map, input_format);
return true;
}
diff --git a/src/plugins/Output/jack/outputjack.h b/src/plugins/Output/jack/outputjack.h
index 7670ec291..50d61faa6 100644
--- a/src/plugins/Output/jack/outputjack.h
+++ b/src/plugins/Output/jack/outputjack.h
@@ -38,7 +38,7 @@ public:
OutputJACK();
~OutputJACK();
- bool initialize(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, ChannelMap map, Qmmp::AudioFormat format);
//output api
qint64 latency();
qint64 writeAudio(unsigned char *data, qint64 maxSize);
diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp
index c62a798c6..2d02967f3 100644
--- a/src/plugins/Output/oss/outputoss.cpp
+++ b/src/plugins/Output/oss/outputoss.cpp
@@ -70,7 +70,7 @@ void OutputOSS::sync()
ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
}
-bool OutputOSS::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputOSS::initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat format)
{
m_audio_fd = open(m_audio_device.toAscii(), O_WRONLY);
@@ -83,6 +83,7 @@ bool OutputOSS::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
int p;
+ int chan = map.count();
switch (format)
{
case Qmmp::PCM_S16LE:
@@ -121,7 +122,7 @@ bool OutputOSS::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
- configure(freq, chan, format);
+ configure(freq, map, format);
return true;
}
diff --git a/src/plugins/Output/oss/outputoss.h b/src/plugins/Output/oss/outputoss.h
index ff8022be1..7ccb0a542 100644
--- a/src/plugins/Output/oss/outputoss.h
+++ b/src/plugins/Output/oss/outputoss.h
@@ -32,7 +32,7 @@ public:
OutputOSS();
virtual ~OutputOSS();
- bool initialize(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, ChannelMap map, Qmmp::AudioFormat format);
//output api
qint64 latency();
qint64 writeAudio(unsigned char *data, qint64 maxSize);
diff --git a/src/plugins/Output/oss4/outputoss4.cpp b/src/plugins/Output/oss4/outputoss4.cpp
index c4093a283..bfb9d26e8 100644
--- a/src/plugins/Output/oss4/outputoss4.cpp
+++ b/src/plugins/Output/oss4/outputoss4.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2012 by Ilya Kotov *
+ * Copyright (C) 2010-2014 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -86,7 +86,7 @@ void OutputOSS4::sync()
ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
}
-bool OutputOSS4::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputOSS4::initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat format)
{
m_audio_fd = open(m_audio_device.toAscii(), O_WRONLY);
@@ -100,6 +100,7 @@ bool OutputOSS4::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
int p;
+ int chan = map.count();
switch (format)
{
case Qmmp::PCM_S32LE:
@@ -134,7 +135,7 @@ bool OutputOSS4::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
- configure(freq, chan, format);
+ configure(freq, map, format);
if(m_vc)
m_vc->restore();
diff --git a/src/plugins/Output/oss4/outputoss4.h b/src/plugins/Output/oss4/outputoss4.h
index 5266db71b..9996b6f91 100644
--- a/src/plugins/Output/oss4/outputoss4.h
+++ b/src/plugins/Output/oss4/outputoss4.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2012 by Ilya Kotov *
+ * Copyright (C) 2010-2014 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -38,7 +38,7 @@ public:
OutputOSS4();
virtual ~OutputOSS4();
- bool initialize(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, ChannelMap map, Qmmp::AudioFormat format);
int fd();
//output api
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
index 65a23cd7c..70bf26dd7 100644
--- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
+++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
@@ -33,7 +33,7 @@ OutputPulseAudio::~OutputPulseAudio()
uninitialize();
}
-bool OutputPulseAudio::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputPulseAudio::initialize(quint32 freq, ChannelMap map, Qmmp::AudioFormat format)
{
pa_sample_spec ss;
@@ -55,7 +55,7 @@ bool OutputPulseAudio::initialize(quint32 freq, int chan, Qmmp::AudioFormat form
ss.format = PA_SAMPLE_S16LE;
}
- ss.channels = chan;
+ ss.channels = map.count();
ss.rate = freq;
int error;
m_connection = pa_simple_new(NULL, // Use the default server.
@@ -73,7 +73,7 @@ bool OutputPulseAudio::initialize(quint32 freq, int chan, Qmmp::AudioFormat form
qWarning("OutputPulseAudio: pa_simple_new() failed: %s", pa_strerror(error));
return false;
}
- Output::configure(freq, chan, format);
+ Output::configure(freq, map, format);
return true;
}
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.h b/src/plugins/Output/pulseaudio/outputpulseaudio.h
index 3e6c18ab6..2a8064988 100644
--- a/src/plugins/Output/pulseaudio/outputpulseaudio.h
+++ b/src/plugins/Output/pulseaudio/outputpulseaudio.h
@@ -36,7 +36,7 @@ public:
OutputPulseAudio();
~OutputPulseAudio();
- bool initialize(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, ChannelMap map, Qmmp::AudioFormat format);
//output api
qint64 latency();
qint64 writeAudio(unsigned char *data, qint64 maxSize);