diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-10-06 09:27:24 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-10-06 09:27:24 +0000 |
| commit | c079fc76a1ccaf305b155c68757d3d345312e67f (patch) | |
| tree | 2078d148fd130424e2fbdffc869e85925453bd01 | |
| parent | bc396c60b77202a84e2d76572bc18b6b53bf7959 (diff) | |
| download | qmmp-c079fc76a1ccaf305b155c68757d3d345312e67f.tar.gz qmmp-c079fc76a1ccaf305b155c68757d3d345312e67f.tar.bz2 qmmp-c079fc76a1ccaf305b155c68757d3d345312e67f.zip | |
fixed most output plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4538 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/Output/Output.pro | 8 | ||||
| -rw-r--r-- | src/plugins/Output/jack/outputjack.cpp | 6 | ||||
| -rw-r--r-- | src/plugins/Output/jack/outputjack.h | 2 | ||||
| -rw-r--r-- | src/plugins/Output/oss/outputoss.cpp | 5 | ||||
| -rw-r--r-- | src/plugins/Output/oss/outputoss.h | 2 | ||||
| -rw-r--r-- | src/plugins/Output/oss4/outputoss4.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/Output/oss4/outputoss4.h | 4 | ||||
| -rw-r--r-- | src/plugins/Output/pulseaudio/outputpulseaudio.cpp | 6 | ||||
| -rw-r--r-- | src/plugins/Output/pulseaudio/outputpulseaudio.h | 2 |
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); |
