aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-03-17 19:41:35 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-03-17 19:41:35 +0000
commit97343a99bc4a2147eb3525556aec3e84d55980c3 (patch)
tree5a2cfdce7c4ed635ffe3d7b11b441c217a0dee91
parentee5054a5e99dbb049a4bfe65c4a4297889117d6a (diff)
downloadqmmp-97343a99bc4a2147eb3525556aec3e84d55980c3.tar.gz
qmmp-97343a99bc4a2147eb3525556aec3e84d55980c3.tar.bz2
qmmp-97343a99bc4a2147eb3525556aec3e84d55980c3.zip
added InputSource::stop() function
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9755 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmp/inputsource.cpp3
-rw-r--r--src/qmmp/inputsource.h1
-rw-r--r--src/qmmp/qmmpaudioengine.cpp5
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)
{