Bug 429647 - Recall Stream Position Table
Summary: Recall Stream Position Table
Status: REPORTED
Alias: None
Product: kaffeine
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: Mauro Carvalho Chehab
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-25 15:19 UTC by Gary Kenneth Krueger
Modified: 2020-11-25 15:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gary Kenneth Krueger 2020-11-25 15:19:49 UTC
SUMMARY

Kaffiene should have a table that stores the last played position of any given stream, and returns to that position even if the user has played a number of other streams since leaving the original stream.


STEPS TO REPRODUCE
1. Start playing a stream.
2. Start playing any other stream while any place midstream in the original stream.
3. Go back to the original stream.

OBSERVED RESULT
You will find that on the return to the original stream, it starts from the beginning.

EXPECTED RESULT
The stream should instead continue where the user had left off.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
This is a feature that I had recommended for the Android DoggCatcher podcast player.  It is a feature that they have had for years now.

Because they have good control over the existence and location of streams, they can store the position information for every stream that is stored by the player.

However, it is not ordinarily the case that Kaffeine will be able to track the existence and location of all streams.  So, I would recommend having a default of about 128 of the most recent streams that will have their last play positions tracked.  Although, it would be nice to have that as a configurable parameter (including the ability to specify that the positions of all streams should be tracked).  Of course, on startup, the existence of all of the streams in the table could be verified to determine which entries can be eliminated.

Anyhow, the table needs to be stored in some form of non-volatile storage.  Because there could be potential for multiple instances of Kaffiene to be running, a simple local database (such as SQlite) would seem to make the most sense.

If the user desires to start from the beginning, that is always an easy option, just click on the beginning of the progress bar.  Although, starting where the user left off should be the default if you wish to provide an option to have all streams start from the beginning.

Thank you.