From fa722cca5c6c10a867d84ad8141a3986e1413091 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 10 Oct 2008 09:51:34 +0000 Subject: added pause support in cue plugin git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@577 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/cue/decoder_cue.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/plugins/Input/cue/decoder_cue.cpp') diff --git a/src/plugins/Input/cue/decoder_cue.cpp b/src/plugins/Input/cue/decoder_cue.cpp index d988d9aba..31d921596 100644 --- a/src/plugins/Input/cue/decoder_cue.cpp +++ b/src/plugins/Input/cue/decoder_cue.cpp @@ -167,6 +167,37 @@ void DecoderCUE::stop() } } +void DecoderCUE::pause() +{ + if (m_output2) + { + m_output2->mutex()->lock (); + m_output2->pause(); + m_output2->mutex()->unlock(); + } + else if (m_decoder) + { + m_decoder->mutex()->lock (); + m_decoder->pause(); + m_decoder->mutex()->unlock(); + } + + // wake up threads + if (m_decoder) + { + m_decoder->mutex()->lock (); + m_decoder->cond()->wakeAll(); + m_decoder->mutex()->unlock(); + } + + if (m_output2) + { + m_output2->recycler()->mutex()->lock (); + m_output2->recycler()->cond()->wakeAll(); + m_output2->recycler()->mutex()->unlock(); + } +} + void DecoderCUE::run() { m_decoder->start(); @@ -200,6 +231,7 @@ void CUEStateHandler::dispatch(qint64 elapsed, void CUEStateHandler::dispatch(const QMap &metaData) { //ignore media file metadata + Q_UNUSED(metaData) } void CUEStateHandler::dispatch(const Qmmp::State &state) -- cgit v1.2.3-13-gbd6f