aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Output/jack
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/Output/jack
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/Output/jack')
-rw-r--r--src/plugins/Output/jack/outputjack.cpp39
-rw-r--r--src/plugins/Output/jack/outputjack.h5
2 files changed, 8 insertions, 36 deletions
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;
};