aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-08-06 10:07:36 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-08-06 10:07:36 +0000
commit9d35f2ce0e9e2816022b06819551312c182b4713 (patch)
tree86d4b6e56665902a423095bf96727c926c4bad55 /src/plugins
parent7e107ff8feb4b4f1c8c4e79a364503bbfed118f8 (diff)
downloadqmmp-9d35f2ce0e9e2816022b06819551312c182b4713.tar.gz
qmmp-9d35f2ce0e9e2816022b06819551312c182b4713.tar.bz2
qmmp-9d35f2ce0e9e2816022b06819551312c182b4713.zip
some output plugin api changes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2292 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/Output/alsa/outputalsa.cpp53
-rw-r--r--src/plugins/Output/alsa/outputalsa.h3
-rw-r--r--src/plugins/Output/jack/outputjack.cpp39
-rw-r--r--src/plugins/Output/jack/outputjack.h5
-rw-r--r--src/plugins/Output/null/outputnull.cpp10
-rw-r--r--src/plugins/Output/null/outputnull.h4
-rw-r--r--src/plugins/Output/oss/outputoss.cpp93
-rw-r--r--src/plugins/Output/oss/outputoss.h3
-rw-r--r--src/plugins/Output/oss4/outputoss4.cpp107
-rw-r--r--src/plugins/Output/oss4/outputoss4.h1
-rw-r--r--src/plugins/Output/pulseaudio/outputpulseaudio.cpp8
-rw-r--r--src/plugins/Output/pulseaudio/outputpulseaudio.h5
12 files changed, 140 insertions, 191 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp
index 2270d8a94..7a0cc9f0a 100644
--- a/src/plugins/Output/alsa/outputalsa.cpp
+++ b/src/plugins/Output/alsa/outputalsa.cpp
@@ -56,8 +56,19 @@ OutputALSA::~OutputALSA()
free (pcm_name);
}
-void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputALSA::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
{
+ m_inited = false;
+
+ if (pcm_handle)
+ return false;
+
+ if (snd_pcm_open(&pcm_handle, pcm_name, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK) < 0)
+ {
+ qWarning ("OutputALSA: Error opening PCM device %s", pcm_name);
+ return false;
+ }
+
// we need to configure
uint rate = freq; /* Sample rate */
@@ -80,7 +91,7 @@ void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
if ((err = snd_pcm_hw_params_any(pcm_handle, hwparams)) < 0)
{
qWarning("OutputALSA: Can not read configuration for PCM device: %s", snd_strerror(err));
- return;
+ return false;
}
if (m_use_mmap)
{
@@ -95,7 +106,7 @@ void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
if ((err = snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0)
{
qWarning("OutputALSA: Error setting access: %s", snd_strerror(err));
- return;
+ return false;
}
}
snd_pcm_format_t alsa_format = SND_PCM_FORMAT_UNKNOWN;
@@ -115,19 +126,19 @@ void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
break;
default:
qWarning("OutputALSA: unsupported format detected");
- return;
+ return false;
}
if ((err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format)) < 0)
{
qDebug("OutputALSA: Error setting format: %s", snd_strerror(err));
- return;
+ return false;
}
exact_rate = rate;
if ((err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &exact_rate, 0)) < 0)
{
qWarning("OutputALSA: Error setting rate: %s", snd_strerror(err));
- return;
+ return false;
}
if (rate != exact_rate)
{
@@ -137,22 +148,22 @@ void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
if ((err = snd_pcm_hw_params_set_channels_near(pcm_handle, hwparams, &c)) < 0)
{
qWarning("OutputALSA: Error setting channels: %s", snd_strerror(err));
- return;
+ return false;
}
if ((err = snd_pcm_hw_params_set_period_time_near(pcm_handle, hwparams, &period_time ,0)) < 0)
{
qWarning("OutputALSA: Error setting period time: %s", snd_strerror(err));
- return;
+ return false;
}
if ((err = snd_pcm_hw_params_set_buffer_time_near(pcm_handle, hwparams, &buffer_time ,0)) < 0)
{
qWarning("OutputALSA: Error setting buffer time: %s", snd_strerror(err));
- return;
+ return false;
}
if ((err = snd_pcm_hw_params(pcm_handle, hwparams)) < 0)
{
qWarning("OutputALSA: Error setting HW params: %s", snd_strerror(err));
- return;
+ return false;
}
//read some alsa parameters
snd_pcm_uframes_t buffer_size = 0;
@@ -160,12 +171,12 @@ void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
if ((err = snd_pcm_hw_params_get_buffer_size(hwparams, &buffer_size)) < 0)
{
qWarning("OutputALSA: Error reading buffer size: %s", snd_strerror(err));
- return;
+ return false;
}
if ((err = snd_pcm_hw_params_get_period_size(hwparams, &period_size, 0)) < 0)
{
qWarning("OutputALSA: Error reading period size: %s", snd_strerror(err));
- return;
+ return false;
}
//swparams
snd_pcm_sw_params_alloca(&swparams);
@@ -176,31 +187,17 @@ void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
if ((err = snd_pcm_sw_params(pcm_handle, swparams)) < 0)
{
qWarning("OutputALSA: Error setting SW params: %s", snd_strerror(err));
- return;
+ return false;
}
//setup needed values
m_bits_per_frame = snd_pcm_format_physical_width(alsa_format) * chan;
m_chunk_size = period_size;
m_can_pause = snd_pcm_hw_params_can_pause(hwparams) && use_pause;
qDebug("OutputALSA: can pause: %d", m_can_pause);
- Output::configure(freq, chan, format); //apply configuration
+ configure(freq, chan, format); //apply configuration
//create alsa prebuffer;
m_prebuf_size = /*QMMP_BUFFER_SIZE + */m_bits_per_frame * m_chunk_size / 8;
m_prebuf = (uchar *)malloc(m_prebuf_size);
-}
-
-bool OutputALSA::initialize()
-{
- m_inited = false;
-
- if (pcm_handle)
- return false;
-
- if (snd_pcm_open(&pcm_handle, pcm_name, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK) < 0)
- {
- qWarning ("OutputALSA: Error opening PCM device %s", pcm_name);
- return false;
- }
m_inited = true;
return true;
diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h
index 1af62a2ae..4730afeaa 100644
--- a/src/plugins/Output/alsa/outputalsa.h
+++ b/src/plugins/Output/alsa/outputalsa.h
@@ -41,8 +41,7 @@ public:
OutputALSA(QObject * parent = 0);
~OutputALSA();
- bool initialize();
- void configure(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, int, Qmmp::AudioFormat format);
qint64 latency();
private:
diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp
index a08f5efbc..feeccf9d3 100644
--- a/src/plugins/Output/jack/outputjack.cpp
+++ b/src/plugins/Output/jack/outputjack.cpp
@@ -33,8 +33,7 @@
#define JACK_TIMEOUT 500000L
-OutputJACK::OutputJACK(QObject *parent)
- : Output(parent), m_inited(false), m_configure(false)
+OutputJACK::OutputJACK(QObject *parent) : Output(parent), m_inited(false)
{
JACK_Init();
m_wait_time = 0;
@@ -45,40 +44,16 @@ OutputJACK::~OutputJACK()
uninitialize();
}
-void OutputJACK::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputJACK::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
{
- qDebug("OutputJACK: configure");
+ qDebug("OutputJACK: initialize");
if(JACK_Open(&jack_device, AudioParameters::sampleSize(format)*8, (unsigned long *)&freq, chan))
{
- m_configure = false;
m_inited = false;
- return;
- }
- else
- m_configure = true;
- m_inited = true;
- Output::configure(freq, chan, format);
- qDebug("OutputJACK: configure end");
-}
-
-bool OutputJACK::initialize()
-{
- m_inited = false;
- m_configure = false;
- jack_options_t options = JackNoStartServer;
- jack_status_t status;
- jack_client_t *client = jack_client_open ("test_qmmp", options, &status, NULL);
- if (client == NULL)
- {
- qDebug("jack_client_open() failed.");
- if (status & JackServerFailed)
- {
- qDebug("Unable to connect to JACK server.");
- }
return false;
}
- jack_client_close (client);
m_inited = true;
+ configure(freq, chan, format);
return true;
}
@@ -89,7 +64,7 @@ qint64 OutputJACK::latency()
qint64 OutputJACK::writeAudio(unsigned char *data, qint64 maxSize)
{
- if(!m_configure)
+ if(!m_inited)
return -1;
m = JACK_Write(jack_device, (unsigned char*)data, maxSize);
@@ -115,7 +90,5 @@ void OutputJACK::uninitialize()
{
if (!m_inited)
return;
-
- if (m_configure)
- JACK_Close(jack_device);
+ JACK_Close(jack_device);
}
diff --git a/src/plugins/Output/jack/outputjack.h b/src/plugins/Output/jack/outputjack.h
index 9f3b8750b..d746ccdcc 100644
--- a/src/plugins/Output/jack/outputjack.h
+++ b/src/plugins/Output/jack/outputjack.h
@@ -39,8 +39,7 @@ public:
OutputJACK(QObject * parent = 0);
~OutputJACK();
- bool initialize();
- void configure(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, int, Qmmp::AudioFormat format);
qint64 latency();
private:
@@ -52,7 +51,7 @@ private:
// helper functions
void uninitialize();
qint64 m, m_wait_time;
- bool m_inited, m_configure;
+ bool m_inited;
int jack_device;
};
diff --git a/src/plugins/Output/null/outputnull.cpp b/src/plugins/Output/null/outputnull.cpp
index e3aa9f226..75ce14791 100644
--- a/src/plugins/Output/null/outputnull.cpp
+++ b/src/plugins/Output/null/outputnull.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010 by Ilya Kotov *
+ * Copyright (C) 2010-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -29,7 +29,7 @@ OutputNull::OutputNull(QObject * parent) : Output(parent)
OutputNull::~OutputNull()
{}
-void OutputNull::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputNull::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
{
switch (format)
{
@@ -44,11 +44,7 @@ void OutputNull::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
default:
m_bytes_per_second = freq * chan * 2;
}
- Output::configure(freq, chan, format);
-}
-
-bool OutputNull::initialize()
-{
+ configure(freq, chan, format);
return true;
}
diff --git a/src/plugins/Output/null/outputnull.h b/src/plugins/Output/null/outputnull.h
index f99441a0f..7dc6260fe 100644
--- a/src/plugins/Output/null/outputnull.h
+++ b/src/plugins/Output/null/outputnull.h
@@ -34,11 +34,9 @@ public:
OutputNull(QObject * parent = 0);
~OutputNull();
- bool initialize();
- void configure(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, int, Qmmp::AudioFormat format);
qint64 latency();
-
private:
//output api
qint64 writeAudio(unsigned char *data, qint64 maxSize);
diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp
index 6722f18ad..51031116a 100644
--- a/src/plugins/Output/oss/outputoss.cpp
+++ b/src/plugins/Output/oss/outputoss.cpp
@@ -60,91 +60,92 @@ OutputOSS::~OutputOSS()
}
}
-void OutputOSS::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
+void OutputOSS::post()
+{
+ ioctl(m_audio_fd, SNDCTL_DSP_POST, 0);
+}
+
+void OutputOSS::sync()
+{
+ ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
+}
+
+bool OutputOSS::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
{
+ m_audio_fd = open(m_audio_device.toAscii(), O_WRONLY, 0);
+
+ if (m_audio_fd < 0)
+ {
+ qWarning("OSSOutput: failed to open output device '%s'", qPrintable(m_audio_device));
+ return false;
+ }
+
+ int flags;
+ if ((flags = fcntl(m_audio_fd, F_GETFL, 0)) > 0)
+ {
+ flags &= O_NDELAY;
+ fcntl(m_audio_fd, F_SETFL, flags);
+ }
+ fd_set afd;
+ FD_ZERO(&afd);
+ FD_SET(m_audio_fd, &afd);
+ struct timeval tv;
+ tv.tv_sec = 0l;
+ tv.tv_usec = 50000l;
+ do_select = (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0);
+
int p;
switch (format)
{
case Qmmp::PCM_S16LE:
- p = AFMT_S16_LE;
+#ifdef AFMT_S16_NE
+ p = AFMT_S16_NE;
+#else
+ p = AFMT_S16_LE;
+#endif
break;
case Qmmp::PCM_S8:
p = AFMT_S8;
break;
default:
qWarning("OutputOSS: unsupported audio format");
- return;
+ return false;
}
int param = p;
if (ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p) < 0)
{
qWarning("OutputOSS: ioctl SNDCTL_DSP_SETFMT failed: %s",strerror(errno));
- return;
+ //return;
}
- if(param != p)
+ /*if(param != p)
{
qWarning("OutputOSS: unsupported audio format");
return;
- }
+ }*/
param = chan;
if(ioctl(m_audio_fd, SNDCTL_DSP_CHANNELS, &chan) < 0)
{
qWarning("OutputOSS: ioctl SNDCTL_DSP_CHANNELS failed: %s", strerror(errno));
- return;
+ return false;
}
if(param != chan)
{
qWarning("OutputOSS: unsupported %d-channel mode", param);
- return;
+ return false;
}
uint param2 = freq;
if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &freq) < 0)
{
qWarning("OutputOSS: ioctl SNDCTL_DSP_SPEED failed: %s", strerror(errno));
- return;
+ return false;
}
if(param2 != freq)
{
qWarning("OutputOSS: unsupported sample rate");
- return;
- }
- ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
- Output::configure(freq, chan, format);
-}
-
-void OutputOSS::post()
-{
- ioctl(m_audio_fd, SNDCTL_DSP_POST, 0);
-}
-
-void OutputOSS::sync()
-{
- ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
-}
-
-bool OutputOSS::initialize()
-{
- m_audio_fd = open(m_audio_device.toAscii(), O_WRONLY, 0);
-
- if (m_audio_fd < 0)
- {
- qWarning("OSSOutput: failed to open output device '%s'", qPrintable(m_audio_device));
return false;
}
-
- int flags;
- if ((flags = fcntl(m_audio_fd, F_GETFL, 0)) > 0)
- {
- flags &= O_NDELAY;
- fcntl(m_audio_fd, F_SETFL, flags);
- }
- fd_set afd;
- FD_ZERO(&afd);
- FD_SET(m_audio_fd, &afd);
- struct timeval tv;
- tv.tv_sec = 0l;
- tv.tv_usec = 50000l;
- do_select = (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0);
+ ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
+ configure(freq, chan, format);
return true;
}
diff --git a/src/plugins/Output/oss/outputoss.h b/src/plugins/Output/oss/outputoss.h
index c712e83fc..8864339c4 100644
--- a/src/plugins/Output/oss/outputoss.h
+++ b/src/plugins/Output/oss/outputoss.h
@@ -35,8 +35,7 @@ public:
OutputOSS(QObject * parent = 0);
virtual ~OutputOSS();
- bool initialize();
- void configure(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, int, Qmmp::AudioFormat format);
qint64 latency();
private:
diff --git a/src/plugins/Output/oss4/outputoss4.cpp b/src/plugins/Output/oss4/outputoss4.cpp
index d9c46f2b6..ecd37c504 100644
--- a/src/plugins/Output/oss4/outputoss4.cpp
+++ b/src/plugins/Output/oss4/outputoss4.cpp
@@ -44,7 +44,6 @@ extern "C"
#include <qmmp/visual.h>
#include "outputoss4.h"
-
OutputOSS4 *OutputOSS4::m_instance = 0;
OutputOSS4::OutputOSS4(QObject *parent) : Output(parent)
@@ -67,8 +66,50 @@ OutputOSS4::~OutputOSS4()
m_instance = 0;
}
-void OutputOSS4::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
+int OutputOSS4::fd()
+{
+ return m_audio_fd;
+}
+
+OutputOSS4 *OutputOSS4::instance()
+{
+ return m_instance;
+}
+
+void OutputOSS4::post()
+{
+ ioctl(m_audio_fd, SNDCTL_DSP_POST, 0);
+}
+
+void OutputOSS4::sync()
+{
+ ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
+}
+
+bool OutputOSS4::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
{
+ m_audio_fd = open(m_audio_device.toAscii(), O_WRONLY, 0);
+
+ if (m_audio_fd < 0)
+ {
+ qWarning("OSS4Output: unable to open output device '%s'; error: %s",
+ qPrintable(m_audio_device), strerror(errno));
+ return false;
+ }
+
+ int flags;
+ if ((flags = fcntl(m_audio_fd, F_GETFL, 0)) > 0)
+ {
+ flags &= O_NDELAY;
+ fcntl(m_audio_fd, F_SETFL, flags);
+ }
+ fd_set afd;
+ FD_ZERO(&afd);
+ FD_SET(m_audio_fd, &afd);
+ struct timeval tv;
+ tv.tv_sec = 0l;
+ tv.tv_usec = 50000l;
+ m_do_select = (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0);
int p;
switch (format)
{
@@ -86,89 +127,43 @@ void OutputOSS4::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
break;
default:
qWarning("OutputOSS4: unsupported audio format");
- return;
+ return false;
}
int param = p;
if (ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p) < 0)
{
qWarning("OutputOSS4: ioctl SNDCTL_DSP_SETFMT failed: %s",strerror(errno));
- return;
+ return false;
}
if(param != p)
{
qWarning("OutputOSS4: unsupported audio format");
- return;
+ return false;
}
param = chan;
if(ioctl(m_audio_fd, SNDCTL_DSP_CHANNELS, &chan) < 0)
{
qWarning("OutputOSS4: ioctl SNDCTL_DSP_CHANNELS failed: %s", strerror(errno));
- return;
+ return false;
}
if(param != chan)
{
qWarning("OutputOSS4: unsupported %d-channel mode", param);
- return;
+ return false;
}
uint param2 = freq;
if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &freq) < 0)
{
qWarning("OutputOSS4: ioctl SNDCTL_DSP_SPEED failed: %s", strerror(errno));
- return;
+ return false;
}
if(param2 != freq)
{
qWarning("OutputOSS4: unsupported sample rate");
- return;
- }
- ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
- Output::configure(freq, chan, format);
-}
-
-int OutputOSS4::fd()
-{
- return m_audio_fd;
-}
-
-OutputOSS4 *OutputOSS4::instance()
-{
- return m_instance;
-}
-
-void OutputOSS4::post()
-{
- ioctl(m_audio_fd, SNDCTL_DSP_POST, 0);
-}
-
-void OutputOSS4::sync()
-{
- ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
-}
-
-bool OutputOSS4::initialize()
-{
- m_audio_fd = open(m_audio_device.toAscii(), O_WRONLY, 0);
-
- if (m_audio_fd < 0)
- {
- qWarning("OSS4Output: unable to open output device '%s'; error: %s",
- qPrintable(m_audio_device), strerror(errno));
return false;
}
-
- int flags;
- if ((flags = fcntl(m_audio_fd, F_GETFL, 0)) > 0)
- {
- flags &= O_NDELAY;
- fcntl(m_audio_fd, F_SETFL, flags);
- }
- fd_set afd;
- FD_ZERO(&afd);
- FD_SET(m_audio_fd, &afd);
- struct timeval tv;
- tv.tv_sec = 0l;
- tv.tv_usec = 50000l;
- m_do_select = (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0);
+ ioctl(m_audio_fd, SNDCTL_DSP_RESET, 0);
+ configure(freq, chan, format);
return true;
}
diff --git a/src/plugins/Output/oss4/outputoss4.h b/src/plugins/Output/oss4/outputoss4.h
index a9d1bd608..fecd396c6 100644
--- a/src/plugins/Output/oss4/outputoss4.h
+++ b/src/plugins/Output/oss4/outputoss4.h
@@ -39,7 +39,6 @@ public:
bool initialize();
void configure(quint32, int, Qmmp::AudioFormat format);
- qint64 latency();
int fd();
static OutputOSS4 *instance();
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
index 5d3d00547..99a5b4712 100644
--- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
+++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
@@ -34,7 +34,7 @@ OutputPulseAudio::~OutputPulseAudio()
uninitialize();
}
-void OutputPulseAudio::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
+bool OutputPulseAudio::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
{
pa_sample_spec ss;
@@ -72,13 +72,9 @@ void OutputPulseAudio::configure(quint32 freq, int chan, Qmmp::AudioFormat forma
if (!m_connection)
{
qWarning("OutputPulseAudio: pa_simple_new() failed: %s", pa_strerror(error));
- return;
+ return false;
}
Output::configure(freq, chan, format);
-}
-
-bool OutputPulseAudio::initialize()
-{
return true;
}
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.h b/src/plugins/Output/pulseaudio/outputpulseaudio.h
index dcff616ff..bc6cc71c8 100644
--- a/src/plugins/Output/pulseaudio/outputpulseaudio.h
+++ b/src/plugins/Output/pulseaudio/outputpulseaudio.h
@@ -37,8 +37,7 @@ public:
OutputPulseAudio(QObject * parent = 0);
~OutputPulseAudio();
- bool initialize();
- void configure(quint32, int, Qmmp::AudioFormat format);
+ bool initialize(quint32, int, Qmmp::AudioFormat format);
qint64 latency();
private:
@@ -49,9 +48,7 @@ private:
// helper functions
void uninitialize();
-
pa_simple *m_connection;
};
-
#endif // OUTPUTPULSEAUDIO_H