From f53f3338f8fedb2790966c3a879275f71004e7f5 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 3 Aug 2011 17:27:42 +0000 Subject: ixed pulseaudio and jack support, updated Russian translation git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2289 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Output/jack/outputjack.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/plugins/Output/jack/outputjack.cpp') diff --git a/src/plugins/Output/jack/outputjack.cpp b/src/plugins/Output/jack/outputjack.cpp index 39548acd4..a08f5efbc 100644 --- a/src/plugins/Output/jack/outputjack.cpp +++ b/src/plugins/Output/jack/outputjack.cpp @@ -31,10 +31,13 @@ #include #include +#define JACK_TIMEOUT 500000L + OutputJACK::OutputJACK(QObject *parent) : Output(parent), m_inited(false), m_configure(false) { JACK_Init(); + m_wait_time = 0; } OutputJACK::~OutputJACK() @@ -89,8 +92,17 @@ qint64 OutputJACK::writeAudio(unsigned char *data, qint64 maxSize) if(!m_configure) return -1; m = JACK_Write(jack_device, (unsigned char*)data, maxSize); + if (!m) + { usleep(2000); + if(JACK_GetState(jack_device) != PLAYING) + m_wait_time += 2000; + if(m_wait_time > JACK_TIMEOUT) + return -1; + } + else + m_wait_time = 0; return m; } @@ -107,4 +119,3 @@ void OutputJACK::uninitialize() if (m_configure) JACK_Close(jack_device); } - -- cgit v1.2.3-13-gbd6f