For some aiff files, Amarok plays them correctly if started on that file (by e.g. double-clicking on it in the playlist). But if this file is next in line in the playlist, Amarok usually (mostly, not always) skips over it in a fast-forward way: The track slider scrolls forward very quickly to the end and to the next track. However sometimes, Amarok seems to catch up and starts playing the song, at whichever position the slider is at that moment. The files in question are mounted from the network via NFS, but this behaviour does not happen for other files (mp3 files though, not aiff) played over NFS. Here is some debugging output, starting a few seconds before the first file finished: amarok: BEGIN: void EngineController::slotAboutToFinish() amarok: BEGIN: void Playlist::Actions::requestNextTrack() amarok: BEGIN: void Playlist::Actions::play(quint64, bool) amarok: BEGIN: void EngineController::setNextTrack(Meta::TrackPtr) amarok: END__: void EngineController::setNextTrack(Meta::TrackPtr) [Took: 0s] amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0s] amarok: END__: void Playlist::Actions::requestNextTrack() [Took: 0s] amarok: END__: void EngineController::slotAboutToFinish() [Took: 0s] amarok: BEGIN: void EngineController::slotMetaDataChanged() amarok: [EngineController] slotMetaDataChanged(): new meta-data: QMap(("xesam:album", QVariant(QString, "American VI: Ain't No Grave") ) ( "xesam:author" , QVariant(QString, "Johnny Cash") ) ( "xesam:title" , QVariant(QString, "Aloha Oe") ) ( "xesam:url" , QVariant(QUrl, QUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/10 - Aloha Oe.aiff") ) ) ) amarok: END__: void EngineController::slotMetaDataChanged() [Took: 0s] amarok: BEGIN: void ScanManager::checkForDirectoryChanges() amarok: END__: void ScanManager::checkForDirectoryChanges() [Took: 0s] amarok: BEGIN: void EngineController::slotMetaDataChanged() amarok: [EngineController] slotMetaDataChanged() triggered by phonon, but we've already seen exactly the same metadata recently. Ignoring for now. amarok: END__: void EngineController::slotMetaDataChanged() [Took: 0s] amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Previous track finished completely, updating statistics amarok: [EngineController] slotTrackFinishedPlaying( "Johnny Cash" - "American VI: Ain't No Grave" - "Last Night I Had The Strangest Dream" , 1 ) amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: [Playlist::Model] Metadata updated for track "Last Night I Had The Strangest Dream" amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) [Took: 0s] amarok: [EngineController] Using gain of -1 with relative peak of -1 amarok: [WikipediaEngine] Fetching langlinks: KUrl("http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Johnny%20Cash&format=xml&lllimit=100&redirects=1") amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: MPRIS2: Album image location is KUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/Front.jpg") amarok: BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() amarok: BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() amarok: END__: void Playlist::PrettyListView::scrollToActiveTrack() [Took: 0.001s] amarok: END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0.002s] amarok: END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0.004s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0.001s] amarok: BEGIN: void CurrentEngine::trackPlaying(Meta::TrackPtr) amarok: [CurrentEngine] updating track "Aloha Oe" amarok: END__: void CurrentEngine::trackPlaying(Meta::TrackPtr) [Took: 0.003s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0.02s] amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.19s] amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0.003s] amarok: BEGIN: void EngineController::slotMetaDataChanged() amarok: [EngineController] slotMetaDataChanged() triggered by phonon, but we've already seen exactly the same metadata recently. Ignoring for now. amarok: END__: void EngineController::slotMetaDataChanged() [Took: 0s] amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Using gain of -1 with relative peak of -1 amarok: [WikipediaEngine] Fetching langlinks: KUrl("http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Johnny%20Cash&format=xml&lllimit=100&redirects=1") amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: MPRIS2: Album image location is KUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/Front.jpg") amarok: BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) amarok: [WARNING] [Playlist::Actions] engineNewTrackPlaying: "Aloha Oe" does not match what the playlist controller thought it should be amarok: END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0.001s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0.001s] amarok: BEGIN: void CurrentEngine::trackPlaying(Meta::TrackPtr) amarok: END__: void CurrentEngine::trackPlaying(Meta::TrackPtr) [Took: 0s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0s] amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.14s] amarok: [LyricsEngine] nothing changed: "Aloha Oe" amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0.001s] amarok: [WikipediaEngine] Fetching listing: KUrl("http://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Johnny%20Cash&srprop=size&srredirects=1&srlimit=20&format=xml") amarok: BEGIN: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) amarok: [WikipediaEngine] data is empty amarok: END__: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) [Took: 0s] amarok: BEGIN: void WikipediaApplet::dataUpdated(const QString&, const Data&) amarok: [WikipediaApplet] data Empty! amarok: END__: void WikipediaApplet::dataUpdated(const QString&, const Data&) [Took: 0s] amarok: [WikipediaEngine] Received page from wikipedia: KUrl("http://en.wikipedia.org/w/index.php?title=Johnny%20Cash&redirects=1&useskin=monobook") amarok: BEGIN: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) amarok: END__: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) [Took: 0s] amarok: BEGIN: void WikipediaApplet::dataUpdated(const QString&, const Data&) amarok: END__: void WikipediaApplet::dataUpdated(const QString&, const Data&) [Took: 0.12s] amarok: BEGIN: void EngineController::slotAboutToFinish() amarok: BEGIN: void Playlist::Actions::requestNextTrack() amarok: END__: void Playlist::Actions::requestNextTrack() [Took: 0s] amarok: END__: void EngineController::slotAboutToFinish() [Took: 0.001s] amarok: [EngineController] slotStateChanged from 2 to 1 amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: [EngineController] slotTrackLengthChanged( -1 ) amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: MPRIS2: Album image location is KUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/Front.jpg") amarok: BEGIN: void EngineController::slotFinished() amarok: [EngineController] Track finished completely, updating statistics amarok: [EngineController] slotTrackFinishedPlaying( "Johnny Cash" - "American VI: Ain't No Grave" - "Aloha Oe" , 1 ) amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: [Playlist::Model] Metadata updated for track "Aloha Oe" amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) [Took: 0.001s] amarok: BEGIN: void TimecodeObserver::stopped(qint64, qint64) amarok: END__: void TimecodeObserver::stopped(qint64, qint64) [Took: 0s] amarok: BEGIN: void Playlist::Actions::slotPlayingStopped(qint64, qint64) amarok: [Playlist::Actions] nothing more to play... amarok: BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() amarok: BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() amarok: END__: void Playlist::PrettyListView::scrollToActiveTrack() [Took: 0s] amarok: END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0s] amarok: BEGIN: virtual void Playlist::Model::setAllUnplayed() amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: END__: virtual void Playlist::Model::setAllUnplayed() [Took: 0.001s] amarok: END__: void Playlist::Actions::slotPlayingStopped(qint64, qint64) [Took: 0.001s] amarok: BEGIN: void WikipediaEnginePrivate::_stopped() amarok: END__: void WikipediaEnginePrivate::_stopped() [Took: 0s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0.004s] amarok: BEGIN: void RecentlyPlayedListWidget::updateWidget() amarok: END__: void RecentlyPlayedListWidget::updateWidget() [Took: 0.11s] amarok: END__: void EngineController::slotFinished() [Took: 0.13s] amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: [LyricsEngine] no current track amarok: BEGIN: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) amarok: END__: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) [Took: 0s] amarok: BEGIN: void WikipediaApplet::dataUpdated(const QString&, const Data&) amarok: [WikipediaApplet] stopped amarok: END__: void WikipediaApplet::dataUpdated(const QString&, const Data&) [Took: 0s] amarok: void StatSyncing::Controller::slotUpdateNowPlayingWithCurrentTrack() this track already recently submitted, ignoring amarok: BEGIN: void ScanManager::checkForDirectoryChanges() amarok: END__: void ScanManager::checkForDirectoryChanges() [Took: 0s] amarok: BEGIN: void ScanManager::checkForDirectoryChanges() amarok: END__: void ScanManager::checkForDirectoryChanges() [Took: 0s] amarok: BEGIN: void ScanManager::checkForDirectoryChanges() amarok: END__: void ScanManager::checkForDirectoryChanges() [Took: 0s] Reproducible: Sometimes Steps to Reproduce: 1. Put several songs into the playlist. 2. Start a song, it plays fine. 3. Wait for Amarok to jump to the next song. Actual Results: One of two possibilities: 1. Amarok fast-forwards over the next song(s). 2. Amarok starts anywhere in the next song. Expected Results: Amarok should simply play the next song.
I assume this is a problem with the Phonon backend. Which one are you using, Phonon-GStreamer or Phonon-VLC?
Phonon uses GStreamer here.
Could you please check if this issue also happens with Phonon-VLC? This will save the Phonon maintainers one step when I reassign the report.
It does not happen with VLC as Phonon backend indeed. Note for other testers: Backend changes seem to be only applied on restarting Amarok, not when just changing it in the preferences. For comparison, here's the Amarok output from a track change with VLC: amarok: BEGIN: void EngineController::slotAboutToFinish() amarok: BEGIN: void Playlist::Actions::requestNextTrack() amarok: BEGIN: void Playlist::Actions::play(quint64, bool) amarok: BEGIN: void EngineController::setNextTrack(Meta::TrackPtr) amarok: END__: void EngineController::setNextTrack(Meta::TrackPtr) [Took: 0s] amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0s] amarok: END__: void Playlist::Actions::requestNextTrack() [Took: 0.001s] amarok: END__: void EngineController::slotAboutToFinish() [Took: 0.001s] amarok: BEGIN: void EngineController::slotFinished() amarok: [EngineController] Track finished completely, updating statistics amarok: [EngineController] slotTrackFinishedPlaying( "Johnny Cash" - "American VI: Ain't No Grave" - "Can't Help But Wonder Where I'm Bound" , 1 ) amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: [Playlist::Model] Metadata updated for track "Can't Help But Wonder Where I'm Bound" amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) [Took: 0.001s] amarok: BEGIN: void EngineController::play(Meta::TrackPtr, uint) amarok: BEGIN: void EngineController::stop(bool, bool) amarok: END__: void EngineController::stop(bool, bool) [Took: 0s] amarok: [EngineController] play: bounded is QObject(0x0) current "Satisfied Mind" amarok: [EngineController] Just a normal, boring track... :-P amarok: BEGIN: void EngineController::playUrl(const KUrl&, uint) amarok: [EngineController] URL: KUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/06 - Satisfied Mind.aiff") "file:///data/bb/tontraeger/Musik/J/Johnny%20Cash/Johnny%20Cash%20-%202010%20-%20American%20VI-%20Ain't%20No%20Grave%20-%20FLAC/06%20-%20Satisfied%20Mind.aiff" amarok: [EngineController] Offset: 0 amarok: END__: void EngineController::playUrl(const KUrl&, uint) [Took: 0.001s] amarok: END__: void EngineController::play(Meta::TrackPtr, uint) [Took: 0.001s] amarok: END__: void EngineController::slotFinished() [Took: 0.013s] amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Empty MediaSource (engine stop) amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0s] amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Empty MediaSource (engine stop) amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0s] amarok: [EngineController] slotStateChanged from 2 to 0 amarok: [EngineController] slotStateChanged from 0 to 1 amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: [EngineController] Using gain of -1 with relative peak of -1 amarok: BEGIN: void RecentlyPlayedListWidget::updateWidget() amarok: END__: void RecentlyPlayedListWidget::updateWidget() [Took: 0.029s] amarok: [WikipediaEngine] Fetching langlinks: KUrl("http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Johnny%20Cash&format=xml&lllimit=100&redirects=1") amarok: MPRIS2: Album image location is KUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/Front.jpg") amarok: BEGIN: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) amarok: BEGIN: void PlaylistInfoWidget::updateTotalPlaylistLength() amarok: END__: void PlaylistInfoWidget::updateTotalPlaylistLength() [Took: 0s] amarok: BEGIN: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() amarok: BEGIN: void Playlist::PrettyListView::scrollToActiveTrack() amarok: END__: void Playlist::PrettyListView::scrollToActiveTrack() [Took: 0s] amarok: END__: void Playlist::PrettyListView::slotPlaylistActiveTrackChanged() [Took: 0.001s] amarok: END__: void Playlist::Actions::slotTrackPlaying(Meta::TrackPtr) [Took: 0.002s] amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0.004s] amarok: BEGIN: void CurrentEngine::trackPlaying(Meta::TrackPtr) amarok: [CurrentEngine] updating track "Satisfied Mind" amarok: END__: void CurrentEngine::trackPlaying(Meta::TrackPtr) [Took: 0.001s] amarok: BEGIN: void OSDWidget::show(const QString&, const QImage&) amarok: END__: void OSDWidget::show(const QString&, const QImage&) [Took: 0.013s] amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) [Took: 0.28s] amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0.009s] amarok: BEGIN: void EngineController::slotMetaDataChanged() amarok: [EngineController] slotMetaDataChanged() triggered by phonon, but we've already seen exactly the same metadata recently. Ignoring for now. amarok: END__: void EngineController::slotMetaDataChanged() [Took: 0s] amarok: [EngineController] slotStateChanged from 1 to 0 amarok: [EngineController] slotStateChanged from 0 to 3 amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: [EngineController] slotTrackLengthChanged( 168067 ) amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: found 0 timecodes on this track amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: MPRIS2: Album image location is KUrl("file:///data/bb/tontraeger/Musik/J/Johnny Cash/Johnny Cash - 2010 - American VI- Ain't No Grave - FLAC/Front.jpg") amarok: [EngineController] slotStateChanged from 3 to 2 amarok: [EngineController] slotStateChanged from 2 to 3 amarok: [EngineController] slotStateChanged from 3 to 2 amarok: [EngineController] slotStateChanged from 2 to 3 amarok: [EngineController] slotStateChanged from 3 to 2 amarok: BEGIN: void DBusAbstractAdaptor::_m_emitPropertiesChanged() amarok: END__: void DBusAbstractAdaptor::_m_emitPropertiesChanged() [Took: 0s] amarok: [WikipediaEngine] Fetching listing: KUrl("http://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Johnny%20Cash&srprop=size&srredirects=1&srlimit=20&format=xml") amarok: BEGIN: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) amarok: [WikipediaEngine] data is empty amarok: END__: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) [Took: 0s] amarok: BEGIN: void WikipediaApplet::dataUpdated(const QString&, const Data&) amarok: [WikipediaApplet] data Empty! amarok: END__: void WikipediaApplet::dataUpdated(const QString&, const Data&) [Took: 0s] amarok: [WikipediaEngine] Received page from wikipedia: KUrl("http://en.wikipedia.org/w/index.php?title=Johnny%20Cash&redirects=1&useskin=monobook") amarok: BEGIN: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) amarok: END__: void WikipediaEnginePrivate::_dataContainerUpdated(const QString&, const Data&) [Took: 0s] amarok: BEGIN: void WikipediaApplet::dataUpdated(const QString&, const Data&) amarok: END__: void WikipediaApplet::dataUpdated(const QString&, const Data&) [Took: 0.19s]
Please check the following : * Can you play the aiff file with dragon? * Do you have the gstreamer bad plugins installed?
(In reply to comment #5) > Please check the following : > > * Can you play the aiff file with dragon? > * Do you have the gstreamer bad plugins installed? @Rohan: You misread the bug report: he is able to play the file on first start, hence he has the necessary plugin installed else this would never play. It is the file transition to the next one that is not working. Seems like it can't read them anymore after the first one. But yeah, would be nice to know if this works with Dragonplayer
Yes, playing with Dragon Player works as expected (I assume it simply does not have playlists, so I could not test if it shows the same buggy behaviour on automatic track switching).
Thank you for the feedback.
This may be linked to more general bug 296100, but I leave the decision to mark this as a dupe of 296100 to pgst maintainer.
Please test with the latest phonon-backend-gstreamer 4.7.2 or later *** This bug has been marked as a duplicate of bug 296100 ***