mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-06-02 14:05:06 +02:00
* Clear audio buffers when manually starting a new track.
This commit is contained in:
parent
70993450d9
commit
9c379647aa
@ -102,6 +102,7 @@ void
|
||||
AudioEngine::previous()
|
||||
{
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
clearBuffers();
|
||||
loadPreviousTrack();
|
||||
}
|
||||
|
||||
@ -110,6 +111,7 @@ void
|
||||
AudioEngine::next()
|
||||
{
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
clearBuffers();
|
||||
loadNextTrack();
|
||||
}
|
||||
|
||||
@ -285,8 +287,11 @@ AudioEngine::playItem( PlaylistInterface* playlist, const Tomahawk::result_ptr&
|
||||
{
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
|
||||
clearBuffers();
|
||||
|
||||
m_playlist = playlist;
|
||||
m_currentTrackPlaylist = playlist;
|
||||
|
||||
loadTrack( result );
|
||||
}
|
||||
|
||||
@ -327,6 +332,14 @@ AudioEngine::timerTriggered( unsigned int seconds )
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioEngine::clearBuffers()
|
||||
{
|
||||
QMutexLocker lock( &m_mutex );
|
||||
m_audio->clearBuffers();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioEngine::run()
|
||||
{
|
||||
@ -398,14 +411,14 @@ AudioEngine::loop()
|
||||
!m_audio->isPaused() )
|
||||
{
|
||||
qDebug() << "Starting next track then";
|
||||
next();
|
||||
loadNextTrack();
|
||||
// will need data immediately:
|
||||
nextdelay = 0;
|
||||
}
|
||||
else if ( !m_input.isNull() && !m_input->isOpen() )
|
||||
{
|
||||
qDebug() << "AudioEngine IODev closed. errorString:" << m_input->errorString();
|
||||
next();
|
||||
loadNextTrack();
|
||||
nextdelay = 0;
|
||||
}
|
||||
|
||||
|
@ -82,6 +82,7 @@ private slots:
|
||||
|
||||
private:
|
||||
void run();
|
||||
void clearBuffers();
|
||||
|
||||
QSharedPointer<QIODevice> m_input;
|
||||
QSharedPointer<TranscodeInterface> m_transcode;
|
||||
|
Loading…
x
Reference in New Issue
Block a user