diff options
| -rw-r--r-- | src/qmmp/inputsource.cpp | 3 | ||||
| -rw-r--r-- | src/qmmp/inputsource.h | 1 | ||||
| -rw-r--r-- | src/qmmp/qmmpaudioengine.cpp | 5 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/qmmp/inputsource.cpp b/src/qmmp/inputsource.cpp index 59c257c80..cc3c7c353 100644 --- a/src/qmmp/inputsource.cpp +++ b/src/qmmp/inputsource.cpp @@ -41,6 +41,9 @@ QString InputSource::contentType() const return QString(); } +void InputSource::stop() +{} + const QString InputSource::path() const { return m_path; diff --git a/src/qmmp/inputsource.h b/src/qmmp/inputsource.h index a1bc7d018..b40a48277 100644 --- a/src/qmmp/inputsource.h +++ b/src/qmmp/inputsource.h @@ -69,6 +69,7 @@ public: * Returns content type of the input stream. Default implementation returns empty string. */ virtual QString contentType() const; + virtual void stop(); /*! * Returns input source path or url. */ diff --git a/src/qmmp/qmmpaudioengine.cpp b/src/qmmp/qmmpaudioengine.cpp index be4f1a16e..ea5cb9d71 100644 --- a/src/qmmp/qmmpaudioengine.cpp +++ b/src/qmmp/qmmpaudioengine.cpp @@ -247,7 +247,12 @@ void QmmpAudioEngine::stop() m_output->recycler()->cond()->wakeAll(); if(isRunning()) + { + if(m_decoder && m_inputs[m_decoder]) + m_inputs[m_decoder]->stop(); + wait(); + } if (m_output) { |
