Version: 2.0 (using 4.1.3 (KDE 4.1.3) "release 4.9", openSUSE 11.1) Compiler: gcc OS: Linux (x86_64) release 2.6.27.7-9-default After attempting to play a copy-protected song (from Windows partition), which of course fails, Amarok's pause button will simply replay the current track instead of pausing the track. To reproduce, start Amarok, try to play a copy protected song, then start playing an mp3 or ogg. Hit the pause button, and the song will restart. Bug seen in Amarok 2.0 (Build Date: Dec 18 2008) Opensuse 11.1
Copy protected can mean a lot of things. Please be more specific what kind of file it was.
(In reply to comment #1) > Copy protected can mean a lot of things. Please be more specific what kind of > file it was. > The copy protected file is an encrypted .wma file. (from the Ruckus program)
oops, a regression it seems. debug output when pressing pause, wild statechanging thing ... --- amarok: BEGIN: void EngineController::playPause() amarok: [EngineController] PlayPause: phonon state 0 amarok: BEGIN: void EngineController::play() amarok: BEGIN: void Playlist::Actions::play(quint64, bool) amarok: BEGIN: void EngineController::play(const Meta::TrackPtr&, uint) amarok: BEGIN: void EngineController::playUrl(const KUrl&, uint) amarok: BEGIN: void EngineController::slotStopFadeout() amarok: END__: void EngineController::slotStopFadeout() - Took 0.00029s amarok: [EngineController] URL: "file:///home/user/taggedfiles/Ronny%20Trettmann%20-%20Heckert%20Empire%20Mixtape/14%20-%20!a=%3FRonny%20Trettmann%3F%7BRonny%20Trettmann%20-%20%7DStimme.ogg" amarok: BEGIN: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) - Took 0.001s amarok: BEGIN: virtual void Amarok::OSD::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void OSDWidget::show(const QString&, QImage) amarok: END__: void OSDWidget::show(const QString&, QImage) - Took 0.0033s amarok: END__: virtual void Amarok::OSD::metadataChanged(Meta::TrackPtr) - Took 0.0057s amarok: BEGIN: virtual void MainWindow::metadataChanged(Meta::TrackPtr) amarok: END__: virtual void MainWindow::metadataChanged(Meta::TrackPtr) - Took 0.00049s amarok: BEGIN: virtual void WikipediaEngine::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void WikipediaEngine::update() amarok: BEGIN: bool EngineController::isStream() amarok: [EngineController] stream = true amarok: END__: bool EngineController::isStream() - Took 0.00059s amarok: tmpWikiStr: "Ronny Trettmann (band)" amarok: Same entry requested again. Ignoring. amarok: END__: void WikipediaEngine::update() - Took 0.0021s amarok: END__: virtual void WikipediaEngine::metadataChanged(Meta::TrackPtr) - Took 0.0029s amarok: BEGIN: virtual void TrackToolTip::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void TrackToolTip::setTrack() amarok: BEGIN: void TrackToolTip::clear() QString::arg: Argument missing: Amarok - Es wird kein Stück wiedergegeben., 0:00 amarok: END__: void TrackToolTip::clear() - Took 0.0011s amarok: END__: void TrackToolTip::setTrack() - Took 0.0039s amarok: END__: virtual void TrackToolTip::metadataChanged(Meta::TrackPtr) - Took 0.0082s amarok: BEGIN: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) amarok: END__: virtual void Playlist::Model::metadataChanged(Meta::TrackPtr) - Took 0.00064s amarok: BEGIN: virtual void Amarok::OSD::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void OSDWidget::show(const QString&, QImage) amarok: END__: void OSDWidget::show(const QString&, QImage) - Took 0.002s amarok: END__: virtual void Amarok::OSD::metadataChanged(Meta::TrackPtr) - Took 0.0033s amarok: BEGIN: virtual void MainWindow::metadataChanged(Meta::TrackPtr) amarok: END__: virtual void MainWindow::metadataChanged(Meta::TrackPtr) - Took 0.00018s amarok: BEGIN: virtual void WikipediaEngine::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void WikipediaEngine::update() amarok: BEGIN: bool EngineController::isStream() amarok: [EngineController] stream = true amarok: END__: bool EngineController::isStream() - Took 0.00012s amarok: tmpWikiStr: "Ronny Trettmann (band)" amarok: Same entry requested again. Ignoring. amarok: END__: void WikipediaEngine::update() - Took 0.00036s amarok: END__: virtual void WikipediaEngine::metadataChanged(Meta::TrackPtr) - Took 0.00048s amarok: BEGIN: virtual void TrackToolTip::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void TrackToolTip::setTrack() amarok: BEGIN: void TrackToolTip::clear() QString::arg: Argument missing: Amarok - Es wird kein Stück wiedergegeben., 0:00 amarok: END__: void TrackToolTip::clear() - Took 0.0007s amarok: END__: void TrackToolTip::setTrack() - Took 0.003s amarok: END__: virtual void TrackToolTip::metadataChanged(Meta::TrackPtr) - Took 0.0032s amarok: BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) amarok: BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) amarok: LoadingState: clear text amarok: END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0007s amarok: BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 6.8e-05s amarok: BEGIN: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) - Took 8.3e-05s amarok: BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) amarok: NEWSTATE: 0 OLDSTATE: 0 amarok: END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00015s amarok: BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) amarok: [MainWindow] Phonon state: 0 amarok: END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00022s amarok: BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 6.6e-05s amarok: END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.036s amarok: BEGIN: virtual void TrackToolTip::engineNewTrackPlaying() amarok: BEGIN: void TrackToolTip::setTrack() amarok: BEGIN: void TrackToolTip::clear() QString::arg: Argument missing: Amarok - Es wird kein Stück wiedergegeben., 0:00 amarok: END__: void TrackToolTip::clear() - Took 0.00047s amarok: END__: void TrackToolTip::setTrack() - Took 0.0032s amarok: END__: virtual void TrackToolTip::engineNewTrackPlaying() - Took 0.0037s amarok: BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) amarok: new length: 59 amarok: slider enabled! amarok: END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.00024s amarok: BEGIN: virtual void ScrobblerAdapter::engineNewTrackPlaying() amarok: [lastfm] track type: "ogg" amarok: BEGIN: void ScrobblerAdapter::checkScrobble() amarok: END__: void ScrobblerAdapter::checkScrobble() - Took 7.7e-05s amarok: [lastfm] nowPlaying: "Ronny Trettmann" - "Heckert Empire Mixtape" - "Stimme" amarok: END__: virtual void ScrobblerAdapter::engineNewTrackPlaying() - Took 0.0004s amarok: END__: void EngineController::slotNewTrackPlaying(const Phonon::MediaSource&) - Took 0.18s amarok: END__: void EngineController::playUrl(const KUrl&, uint) - Took 0.18s amarok: END__: void EngineController::play(const Meta::TrackPtr&, uint) - Took 0.18s amarok: END__: void Playlist::Actions::play(quint64, bool) - Took 0.18s amarok: END__: void EngineController::play() - Took 0.18s amarok: END__: void EngineController::playPause() - Took 0.18s amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) amarok: BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00048s amarok: BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0003s amarok: BEGIN: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: virtual void CurrentEngine::message(const Context::ContextState&) amarok: END__: virtual void CurrentEngine::message(const Context::ContextState&) - Took 0.00032s amarok: END__: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0009s amarok: BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) amarok: NEWSTATE: 1 OLDSTATE: 2 amarok: END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0006s amarok: BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) amarok: [MainWindow] Phonon state: 1 amarok: END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00043s amarok: BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 6.8e-05s amarok: END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.025s amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 0.026s amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) amarok: BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) amarok: LoadingState: clear text amarok: END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0012s amarok: BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 6.8e-05s amarok: BEGIN: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) - Took 6.1e-05s amarok: BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) amarok: NEWSTATE: 0 OLDSTATE: 1 amarok: END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00014s amarok: BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) amarok: [MainWindow] Phonon state: 0 amarok: END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00022s amarok: BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 6.6e-05s amarok: END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.036s amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 0.037s amarok: BEGIN: void EngineController::slotTrackLengthChanged(qint64) amarok: BEGIN: virtual void ProgressWidget::engineTrackLengthChanged(long int) amarok: new length: 59 amarok: slider enabled! amarok: END__: virtual void ProgressWidget::engineTrackLengthChanged(long int) - Took 0.00015s amarok: END__: void EngineController::slotTrackLengthChanged(qint64) - Took 0.00027s amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) amarok: BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00021s amarok: BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 6.4e-05s amarok: BEGIN: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: virtual void CurrentEngine::message(const Context::ContextState&) amarok: END__: virtual void CurrentEngine::message(const Context::ContextState&) - Took 9.5e-05s amarok: END__: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00021s amarok: BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) amarok: NEWSTATE: 1 OLDSTATE: 0 amarok: END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0006s amarok: BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) amarok: [MainWindow] Phonon state: 1 amarok: END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00034s amarok: BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 6.5e-05s amarok: END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.032s amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 0.032s amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 6.3e-05s amarok: BEGIN: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) amarok(24761) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated amarok: END__: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) - Took 0.017s amarok: BEGIN: void EngineController::slotStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) amarok: BEGIN: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) amarok: PlayingState: clear text amarok: END__: virtual void StatusBar::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0013s amarok: BEGIN: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: virtual void Amarok::OSD::metadataChanged(Meta::TrackPtr) amarok: BEGIN: void OSDWidget::show(const QString&, QImage) amarok: END__: void OSDWidget::show(const QString&, QImage) - Took 0.0024s amarok: END__: virtual void Amarok::OSD::metadataChanged(Meta::TrackPtr) - Took 0.0094s amarok: END__: virtual void Amarok::OSD::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0096s amarok: BEGIN: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) amarok: BEGIN: virtual void CurrentEngine::message(const Context::ContextState&) amarok: BEGIN: void CurrentEngine::update() amarok: END__: void CurrentEngine::update() - Took 0.00051s amarok: END__: virtual void CurrentEngine::message(const Context::ContextState&) - Took 0.00065s amarok: BEGIN: void WikipediaEngine::update() amarok: BEGIN: bool EngineController::isStream() amarok: [EngineController] stream = true amarok: END__: bool EngineController::isStream() - Took 0.00011s amarok: tmpWikiStr: "Ronny Trettmann (band)" amarok: Same entry requested again. Ignoring. amarok: END__: void WikipediaEngine::update() - Took 0.00036s amarok: END__: virtual void Context::ContextView::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0012s amarok: BEGIN: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) amarok: NEWSTATE: 2 OLDSTATE: 3 amarok: END__: virtual void Amarok::PlayPauseAction::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00017s amarok: BEGIN: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) amarok: [MainWindow] Phonon state: 2 amarok: BEGIN: virtual void MainWindow::metadataChanged(Meta::TrackPtr) amarok: END__: virtual void MainWindow::metadataChanged(Meta::TrackPtr) - Took 0.00025s amarok: END__: virtual void MainWindow::engineStateChanged(Phonon::State, Phonon::State) - Took 0.00057s amarok: BEGIN: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) amarok: END__: virtual void ProgressWidget::engineStateChanged(Phonon::State, Phonon::State) - Took 0.0013s amarok: END__: void EngineSubject::stateChangedNotify(Phonon::State, Phonon::State) - Took 0.076s amarok: END__: void EngineController::slotStateChanged(Phonon::State, Phonon::State) - Took 0.076s amarok: BEGIN: void Albums::dataUpdated(const QString&, const QHash<QString, QVariant>&) amarok: Received 2 albums amarok: END__: void Albums::dataUpdated(const QString&, const QHash<QString, QVariant>&) - Took 0.0092s amarok: BEGIN: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) amarok(24761) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated amarok: END__: void CurrentTrack::dataUpdated(const QString&, const QHash<QString, QVariant>&) - Took 0.024s amarok: BEGIN: virtual void Albums::constraintsEvent(Plasma::Constraints) amarok: Updating constraints for 1122457472 album rows amarok: END__: virtual void Albums::constraintsEvent(Plasma::Constraints) - Took 0.00015s HTTP POST: "http://post.audioscrobbler.com:80/np_1.2&a=Ronny%20Trettmann&t=Stimme&b=Heckert%20Empire%20Mixtape&l=59&n=0&m=" amarok(24761) ScrobblerHttp::createRequest: PostOperation: QUrl( "http://post.audioscrobbler.com:80/np_1.2" ) amarok(24761) KNetworkReply::setMimeType: "text/plain"
i have narrowed it down, this is happening only after the playback somehow stopped because of an error, here when trying to play a track with special chars (german umlauts, see bug 175041) in it. amarok stops playing and then the statemanagement is somehow borked, pause restarts track and the last two seconds of tracks get eaten/not played
Where would I get such a "copy protected" track for reproducing?
Created attachment 29557 [details] Example protected .wma file.
I attached a protected wma I made of three seconds of silence. As far as a fix, Amarok 1 would simply not add these files to the playlist. I am not sure how that was accomplished, but the same might be a good idea.
I can confirm this behaviour, but not with a protected track. My scenario confirms Simon's comment; I notice this when amarok tries to start with a 'broken' track, i.e. one that has been removed from my collection.
I get the same problem if there is a problem with a track in the playlist. To reproduce copy a file from the file browser to the playlist, then in a terminal move that file somewhere else. try playing the track and then pause will nolonger work.
I can confirm the problem after moving tracks already in the playlist. Play seems to work only as a play button =/ Gary
@scriptjunkie: I cannot reproduce the problem with the WMA file you attached. The track is simply skipped, and then playback continues normally with the next track in the playlist. Also, the Pause button worked normally. Tested this with KDE 4.1.4, xine Phonon backend.
FWIW, it occurred to me that this report is likely a dupe of another report, just with slightly different symptoms. Please see the sibling report for further details. *** This bug has been marked as a duplicate of bug 180339 ***
just tried latest svn and the problem of this report ( pause doesn't work and last 2 seconds of tracks won't be played after trying to play unplayable(deleted) track ) still exists, the problem of the other report (unable to play any tracks _at all_ after an error) does not exist for me
@Mark Kretschmann, As a clarification, the problem does not occur if I try to open the file from Amarok with the Play Media... menu, or open it from, say Dolphin, as Amarok does not enqueue the track for me. It occurs when the track is part of the collection; and I can add it to the playlist. If the track is in a collection folder, it does get added to the collection for me. And I am currently running version 2.0.1 Using KDE 4.1.3 (KDE 4.1.3) "release 70.1" which is the latest in the Opensuse update or KDE repositories. That may be different from when I first reported; I thought it always was added to the playlist.
And it happens when I am using either the GStreamer or Xine phonon backends. When I installed and switched to the Xine backend, without mp3 support, it did the same when I attempted to play an mp3 file. After attempting to play the mp3 file in the collection, the pause button did not work correctly. When KDE 4.1.4 is available on the repositories, I will try that.