aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Output/jack
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-08-23 15:22:59 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-08-23 15:22:59 +0000
commitabb8c72df21ffd84ed511a06daf0764dae607457 (patch)
tree1f706fca41af0b593c3f916c0aceb5cb1aa48a8b /src/plugins/Output/jack
parent70d141824ffdd1c895650c1c1c1b50020441c5fe (diff)
downloadqmmp-abb8c72df21ffd84ed511a06daf0764dae607457.tar.gz
qmmp-abb8c72df21ffd84ed511a06daf0764dae607457.tar.bz2
qmmp-abb8c72df21ffd84ed511a06daf0764dae607457.zip
fixed freezes with jack
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1151 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output/jack')
-rw-r--r--src/plugins/Output/jack/outputjack.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp
index 8ff7d016b..374300783 100644
--- a/src/plugins/Output/jack/outputjack.cpp
+++ b/src/plugins/Output/jack/outputjack.cpp
@@ -48,10 +48,12 @@ void OutputJACK::configure(quint32 freq, int chan, int prec)
if(JACK_Open(&jack_device, prec, (unsigned long *)&freq, chan))
{
m_configure = FALSE;
+ m_inited = FALSE;
return;
}
else
m_configure = TRUE;
+ m_inited = TRUE;
Output::configure(freq, chan, prec);
qDebug("OutputJACK: configure end");
}
@@ -73,6 +75,7 @@ bool OutputJACK::initialize()
return FALSE;
}
jack_client_close (client);
+ m_inited = TRUE;
return TRUE;
}
@@ -83,6 +86,8 @@ qint64 OutputJACK::latency()
qint64 OutputJACK::writeAudio(unsigned char *data, qint64 maxSize)
{
+ if(!m_configure)
+ return 0;
m = JACK_Write(jack_device, (unsigned char*)data, maxSize);
if (!m)
usleep(2000);