aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Engines
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Engines')
-rw-r--r--src/plugins/Engines/mplayer/mplayerengine.cpp11
-rw-r--r--src/plugins/Engines/mplayer/mplayerengine.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/Engines/mplayer/mplayerengine.cpp b/src/plugins/Engines/mplayer/mplayerengine.cpp
index d4d8b37ae..e0de42f40 100644
--- a/src/plugins/Engines/mplayer/mplayerengine.cpp
+++ b/src/plugins/Engines/mplayer/mplayerengine.cpp
@@ -88,6 +88,7 @@ MplayerEngine::MplayerEngine(QObject *parent)
m_bitsPerSample = 0;
m_length = 0;
m_currentTime = 0;
+ m_muted = false;
m_process = new QProcess(this);
connect(m_process, SIGNAL(readyReadStandardOutput()), SLOT(readStdOut()));
}
@@ -174,6 +175,14 @@ void MplayerEngine::pause()
m_process->write("pause\n");
}
+void MplayerEngine::setMuted(bool muted)
+{
+ if(m_process->state() == QProcess::Running)
+ {
+ m_process->write(muted ? "mute 1\n" : "mute 0\n");
+ }
+}
+
void MplayerEngine::readStdOut()
{
QString line = QString::fromLocal8Bit(m_process->readAll ()).trimmed();
@@ -246,4 +255,6 @@ void MplayerEngine::startMplayerProcess()
m_source->deleteLater();
m_source = 0;
m_currentTime = 0;
+ if(m_muted)
+ setMuted(true);
}
diff --git a/src/plugins/Engines/mplayer/mplayerengine.h b/src/plugins/Engines/mplayer/mplayerengine.h
index 961a86cb6..de702a7ea 100644
--- a/src/plugins/Engines/mplayer/mplayerengine.h
+++ b/src/plugins/Engines/mplayer/mplayerengine.h
@@ -55,6 +55,7 @@ public:
void seek(qint64);
void stop();
void pause();
+ void setMuted(bool muted);
private slots:
void readStdOut();
@@ -68,6 +69,7 @@ private:
int m_samplerate;
int m_channels;
int m_bitsPerSample;
+ bool m_muted;
qint64 m_currentTime;
qint64 m_length;
QQueue <InputSource*> m_sources;