aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/mplayer
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-03-07 22:43:26 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-03-07 22:43:26 +0000
commit0b46e2db06ec1bbfc3aee819787386ace9dad66c (patch)
tree109f4bbf3a7227262a280f00731f0767d331a811 /src/plugins/Input/mplayer
parent5896c5ae40726637cbfc5605f5f659791ff569c7 (diff)
downloadqmmp-0b46e2db06ec1bbfc3aee819787386ace9dad66c.tar.gz
qmmp-0b46e2db06ec1bbfc3aee819787386ace9dad66c.tar.bz2
qmmp-0b46e2db06ec1bbfc3aee819787386ace9dad66c.zip
improved seeking accuracy
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@827 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/mplayer')
-rw-r--r--src/plugins/Input/mplayer/decoder_mplayer.cpp10
-rw-r--r--src/plugins/Input/mplayer/decoder_mplayer.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/Input/mplayer/decoder_mplayer.cpp b/src/plugins/Input/mplayer/decoder_mplayer.cpp
index 45b835a15..f9a5ff26a 100644
--- a/src/plugins/Input/mplayer/decoder_mplayer.cpp
+++ b/src/plugins/Input/mplayer/decoder_mplayer.cpp
@@ -123,15 +123,15 @@ bool DecoderMplayer::initialize()
return TRUE;
}
-qint64 DecoderMplayer::lengthInSeconds()
+qint64 DecoderMplayer::totalTime()
{
- return m_length;
+ return m_length * 1000;
}
void DecoderMplayer::seek(qint64 pos)
{
if (m_process->state() == QProcess::Running)
- m_process->write(QString("seek %1 \n").arg(pos - m_currentTime).toLocal8Bit ());
+ m_process->write(QString("seek %1 \n").arg(pos/1000 - m_currentTime).toLocal8Bit ());
}
void DecoderMplayer::stop()
@@ -173,8 +173,8 @@ void DecoderMplayer::readStdOut()
{
StateHandler::instance()->dispatch(Qmmp::Playing);
m_currentTime = (qint64) rx_av.cap(1).toDouble();
- StateHandler::instance()->dispatch(m_currentTime,
- m_length,
+ StateHandler::instance()->dispatch(m_currentTime * 1000,
+ m_length * 1000,
m_bitrate,
m_samplerate,
m_bitsPerSample,
diff --git a/src/plugins/Input/mplayer/decoder_mplayer.h b/src/plugins/Input/mplayer/decoder_mplayer.h
index 2fff55ab0..38d47e629 100644
--- a/src/plugins/Input/mplayer/decoder_mplayer.h
+++ b/src/plugins/Input/mplayer/decoder_mplayer.h
@@ -49,7 +49,7 @@ public:
// Standard Decoder API
bool initialize();
- qint64 lengthInSeconds();
+ qint64 totalTime();
void seek(qint64);
void stop();
void pause();