When amarok tries to play a deleted track the playback "freezes". Reproducible: Always Steps to Reproduce: 1. Play a track in a playlist 2. Delete the current track 3. Go back to previous track 4. Wait until the track is over or go forward to the deleted track Actual Results: Amarok's play button looks like it would be playing a track, but the progress bar stands still at position 0 and there is no sound. Expected Results: Amarok should remeber that it deleted the track and skips this track. Or I think Amarok should check before playing if the current track is available or deleted. This might be the same situation like I tried to explain in bug 354757. The explanation of bug 354757 could be, that I deleted some tracks before and amarok now wants to play them as I usually shuffle my playback. As you asked for the sdout output of amarok in bug 354757 this are the last lines: amarok: [AbstractDirectoryWatcher] addDirToList for "/home/se/music/Nick_Straker" "PulseSupport(2): Phonon Output Stream {452731a1-df0e-4e8b-bf5a-1226b43fa813} is gone at the PA end. Marking it as invalid in our cache as we may reuse it." amarok: BEGIN: virtual void GenericScanManager::requestScan(QList<KUrl>, GenericScanManager::ScanType) amarok: [WARNING] [GenericScanManager] scan of a non-directory "/home/se/music/Nick_Straker" requested, skipping it. amarok: END__: virtual void GenericScanManager::requestScan(QList<KUrl>, GenericScanManager::ScanType) [Took: 0s] Calling appendChild() on a null node does nothing.
Could we have a bit more lines than those? we need about 20-30 lines, and I presume this is actually a Pulseaudio caching problem
Here you are: amarok: BEGIN: void Playlist::Actions::next() amarok: BEGIN: void Playlist::NonlinearTrackNavigator::doItemListsMaintenance() amarok: END__: void Playlist::NonlinearTrackNavigator::doItemListsMaintenance() [Took: 0s] amarok: BEGIN: Playlist::ItemList* Playlist::NonlinearTrackNavigator::nextItemChooseDonorList() amarok: END__: Playlist::ItemList* Playlist::NonlinearTrackNavigator::nextItemChooseDonorList() [Took: 0s] amarok: BEGIN: virtual void Playlist::NonlinearTrackNavigator::setCurrentItem(quint64, bool) amarok: BEGIN: void Playlist::NonlinearTrackNavigator::doItemListsMaintenance() amarok: END__: void Playlist::NonlinearTrackNavigator::doItemListsMaintenance() [Took: 0s] amarok: END__: virtual void Playlist::NonlinearTrackNavigator::setCurrentItem(quint64, bool) [Took: 0s] amarok: BEGIN: void Playlist::Actions::play(quint64, bool) amarok: BEGIN: void EngineController::play(Meta::TrackPtr, uint, bool) amarok: BEGIN: void EngineController::stop(bool, bool) amarok: [EngineController] slotTrackFinishedPlaying( "Fytch" - "" - "Fytch - Wake up HD" , 0.311006 ) PHONON-GST BEGIN: virtual void Phonon::Gstreamer::MediaObject::stop() PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) PHONON-GST Phonon::StoppedState PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) PHONON-GST Transitioning to state "ready" PHONON-GST State change PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::handleStateChange(GstState, GstState) PHONON-GST Moving from "playing" Phonon::PlayingState to "paused" Phonon::PausedState PHONON-GST END__: void Phonon::Gstreamer::MediaObject::handleStateChange(GstState, GstState) [Took: 0s] PHONON-GST State change PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::handleDurationChange(qint64) PHONON-GST -1 PHONON-GST END__: void Phonon::Gstreamer::MediaObject::handleDurationChange(qint64) [Took: 0s] PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::handleStateChange(GstState, GstState) PHONON-GST Moving from "paused" Phonon::PausedState to "ready" Phonon::StoppedState PHONON-GST END__: void Phonon::Gstreamer::MediaObject::handleStateChange(GstState, GstState) [Took: 0s] PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0.009s] PHONON-GST END__: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) [Took: 0.009s] PHONON-GST END__: virtual void Phonon::Gstreamer::MediaObject::stop() [Took: 0.009s] PHONON-GST BEGIN: virtual void Phonon::Gstreamer::MediaObject::stop() PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) PHONON-GST Phonon::StoppedState PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) PHONON-GST Transitioning to state "ready" PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0s] PHONON-GST END__: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) [Took: 0s] PHONON-GST END__: virtual void Phonon::Gstreamer::MediaObject::stop() [Took: 0s] PHONON-GST BEGIN: virtual void Phonon::Gstreamer::MediaObject::setSource(const Phonon::MediaSource&) PHONON-GST Setting new source PHONON-GST New source: QUrl( "" ) PHONON-GST END__: virtual void Phonon::Gstreamer::MediaObject::setSource(const Phonon::MediaSource&) [Took: 0s] amarok: END__: void EngineController::stop(bool, bool) [Took: 0.034s] amarok: [EngineController] play: bounded is QObject(0x0) current "Albertoson - Everybody wants to know" amarok: [EngineController] Just a normal, boring track... :-P amarok: BEGIN: void EngineController::playUrl(const KUrl&, uint, bool) amarok: [EngineController] URL: KUrl("file:///home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg") "file:///home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg" amarok: [EngineController] Offset: 0 PHONON-GST BEGIN: virtual void Phonon::Gstreamer::MediaObject::setSource(const Phonon::MediaSource&) PHONON-GST Setting new source PHONON-GST New source: QUrl( "/home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg" ) PHONON-GST uri "file:///home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg" PHONON-GST END__: virtual void Phonon::Gstreamer::MediaObject::setSource(const Phonon::MediaSource&) [Took: 0s] PHONON-GST Fading to 1 PHONON-GST BEGIN: virtual void Phonon::Gstreamer::MediaObject::play() PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) PHONON-GST Phonon::PlayingState PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) PHONON-GST Transitioning to state "playing" 0:17:04.382964059 23525 0x1c24e00 WARN filesrc gstfilesrc.c:515:gst_file_src_start:<source> error: No such file "/home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg" PHONON-GST BEGIN: static void Phonon::Gstreamer::Pipeline::cb_setupSource(GstElement*, GParamSpec*, gpointer) PHONON-GST END__: static void Phonon::Gstreamer::Pipeline::cb_setupSource(GstElement*, GParamSpec*, gpointer) [Took: 0s] 0:17:04.383279971 23525 0x1c24e00 WARN filesrc gstfilesrc.c:515:gst_file_src_start:<source> error: No such file "/home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg" PHONON-GST 1 PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::setError(const QString&, Phonon::ErrorType) PHONON-GST "Resource not found." PHONON-GST END__: void Phonon::Gstreamer::MediaObject::setError(const QString&, Phonon::ErrorType) [Took: 0s] 0:17:04.383497200 23525 0x1c24e00 WARN filesrc gstfilesrc.c:515:gst_file_src_start:<source> error: No such file "/home/se/music/Alberto/01_-_Albertoson_-_Everybody_wants_to_know.ogg" PHONON-GST 1 PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::setError(const QString&, Phonon::ErrorType) PHONON-GST "Resource not found." PHONON-GST END__: void Phonon::Gstreamer::MediaObject::setError(const QString&, Phonon::ErrorType) [Took: 0s] 0:17:04.383625091 23525 0x1c24e00 WARN basesrc gstbasesrc.c:3706:gst_base_src_activate_push:<source> Failed to start in push mode 0:17:04.383639238 23525 0x1c24e00 WARN GST_PADS gstpad.c:1058:gst_pad_set_active:<source:src> Failed to activate pad PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0.003s] PHONON-GST END__: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) [Took: 0.003s] PHONON-GST END__: virtual void Phonon::Gstreamer::MediaObject::play() [Took: 0.003s] amarok: END__: void EngineController::playUrl(const KUrl&, uint, bool) [Took: 0.003s] amarok: END__: void EngineController::play(Meta::TrackPtr, uint, bool) [Took: 0.038s] amarok: END__: void Playlist::Actions::play(quint64, bool) [Took: 0.038s] amarok: END__: void Playlist::Actions::next() [Took: 0.039s] amarok: [EngineController] slotStateChanged from Phonon::PlayingState to Phonon::PausedState amarok: MPRIS2: Queueing up a PropertiesChanged signal amarok: [EngineController] slotTrackLengthChanged( -1 ) amarok: BEGIN: void ProgressWidget::redrawBookmarks(const QString*) amarok: END__: void ProgressWidget::redrawBookmarks(const QString*) [Took: 0s] amarok: [EngineController] slotStateChanged from Phonon::PausedState to Phonon::StoppedState PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) PHONON-GST Phonon::ErrorState PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) PHONON-GST Transitioning to state "null" PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0.001s] PHONON-GST END__: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) [Took: 0.001s] PHONON-GST BEGIN: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) PHONON-GST Phonon::ErrorState PHONON-GST BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) PHONON-GST Transitioning to state "null" PHONON-GST END__: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState) [Took: 0s] PHONON-GST END__: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State) [Took: 0s] "PulseSupport(2): Phonon Output Stream {c548f041-e13a-4f13-a638-e887ed64cffd} is gone at the PA end. Marking it as invalid in our cache as we may reuse it." amarok: [AbstractDirectoryWatcher] addDirToList for "/home/se/music/Fytch" amarok: BEGIN: virtual void GenericScanManager::requestScan(QList<KUrl>, GenericScanManager::ScanType) amarok: END__: virtual void GenericScanManager::requestScan(QList<KUrl>, GenericScanManager::ScanType) [Took: 0s] amarok: BEGIN: virtual void AbstractScanResultProcessor::scanStarted(GenericScanManager::ScanType) amarok: END__: virtual void AbstractScanResultProcessor::scanStarted(GenericScanManager::ScanType) [Took: 0s] amarok: [AbstractScanResultProcessor] got 1 directories amarok: BEGIN: virtual void SqlScanResultProcessor::scanSucceeded() amarok: BEGIN: virtual void AbstractScanResultProcessor::scanSucceeded() amarok: END__: virtual void AbstractScanResultProcessor::scanSucceeded() [Took: 0.003s] amarok: END__: virtual void SqlScanResultProcessor::scanSucceeded() [Took: 0.042s] Calling appendChild() on a null node does nothing.
Sorry, missed that one. Moving to the phonon-backend-gstreamer, they might have a clue.
Ok thanks :)
Thank you for the bug report. As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists. If this bug is no longer persisting or relevant please change the status to resolved.
I don't use Amarok anymore so I'm not sure, if the problem still exists.