Bug 277197 - Amarok stops to reproduce podcast file before they finished
Summary: Amarok stops to reproduce podcast file before they finished
Alias: None
Product: amarok
Classification: Applications
Component: Playback (show other bugs)
Version: 2.5.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: 2.6
Assignee: Amarok Developers
Depends on:
Reported: 2011-07-06 13:27 UTC by Luca
Modified: 2012-09-23 17:01 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.6
Sentry Crash Report:


Note You need to log in before you can comment on or make changes to this bug.
Description Luca 2011-07-06 13:27:44 UTC
Version:           2.4.1 (using KDE 4.6.4) 
OS:                Linux

For example, the file is 10:00 min long. Amarok stop to reproduce it at 8:00 min!

Reproducible: Always

Steps to Reproduce:
Happens every time I listen a podcast file

Expected Results:  
Listen the entire podcast file

The podcast I listen comes from the most famous italian radio.

This is the podcast I listen:

Comment 1 Myriam Schweingruber 2011-07-07 10:06:29 UTC
Same question as the other report: which Phonon backend are you using?
Comment 2 Luca 2011-07-08 07:25:22 UTC
The backend setting is Gstreamer. The second choice is Xine.
Thank you
Comment 3 Myriam Schweingruber 2011-07-09 21:05:23 UTC
Thank you for the feedback.

FWIW, please do not use the xine backend as it is not maintained anymore, you should use the vlc backend as a fallback instead.
Comment 4 Matěj Laitl 2012-07-30 14:07:18 UTC
Git commit e1d2ea6ce3ef61af5dcd4f99db9fb407c95ccb2d by Matěj Laitl.
Committed on 24/07/2012 at 10:59.
Pushed by laitl into branch 'master'.

EngineController: don't do serious work in slotAboutToFinish()

...because slotAboutToFinish() may be called twice (or not at all) per
track by some Phonon backends (hi, vlc) - increase play count rather in
slotNewTrackPlaying() or in slotFinished(). This also needs to change
how m_currentTrack is handled, because slotNewTrackPlaying() needs to
have the old one in m_currentTrack.

Also, PlaylistActions::requestNextTrack() is changed to be a read-only
method that shouldn't change playlist state especially when there is no
next track. PlaylistActions::reflectPlaybackFinished() is introduced to
do the thing and is called from EngineController::slotFinished(), which
is a much better place for it than slotAboutToFinish().

Reporters of CCed bugs, please re-test your bug with this commit
applied, it is possible it has been resolved by this patch.
Related: bug 299890, bug 268892, bug 302652, bug 303580, bug 302240

M  +1    -0    ChangeLog
M  +44   -35   src/EngineController.cpp
M  +17   -16   src/playlist/PlaylistActions.cpp
M  +8    -0    src/playlist/PlaylistActions.h

Comment 5 Torrie Fischer 2012-09-23 10:15:38 UTC
Luca, has this been fixed with that commit?
Comment 6 Luca 2012-09-23 14:02:59 UTC
It seems to be solved! Thanks