View Issue Details

IDProjectCategoryView StatusLast Update
0013239MMAPlaybackpublic2017-05-25 20:54
Reportermartin Assigned To 
PriorityhighSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product Version1.3.0 
Target Version1.3.0Fixed in Version1.3.1 
Summary0013239: Merge HeadlineCache/MediaSessionQueue and add Cast Queueing to eliminate delay between tracks
DescriptionCurrently we are caching several previous/upcoming tracks from tracklist to better feedback in NP view(album arts are switched immediately on transition).

1) First disadvantage, we are refreshing cache every time when track is changed. We should do that only when count of next/prev tracks in cache is lower then some number. In cache should be reasonable amount of tracks in a sliding window.

2) Also we should fill queue in MediaSession, which we are already using for metadata (Used for bluetooth, lockscreen). I think we should use this queue to access cached tracks instead current implementation.

3) After steps above, we can simply transform queue to Cast queue and send it to Chromecast device.
Advantage is e.g. when MMA plays tracks from MMW and tracks are sent to chromecast device, then MMA can be disconnected, but playback will continue.
Additional Informationhttp://www.mediamonkey.com/forum/viewtopic.php?f=21&t=78395&start=30#p422460
TagsNo tags attached.
Fixed in build700

Relationships

related to 0013319 resolvedmartin Android wear - NP list browser 
related to 0013320 closedmartin Improve next/prev actions due to Cached tracks 

Activities

martin

2016-07-07 07:35

developer   ~0045102

Unfortunately default Chromecast receiver doesn't support pre-loading queued items, so delay between tracks persist.
All other, above described, advantages work well.

Fixed in build 1.2.0.650

peke

2016-12-21 09:28

developer   ~0046667

Verified 657 except chrome cast device.

martin

2017-05-25 20:41

developer   ~0048026

Last edited: 2017-05-25 20:54

Some issues/regressions:
1)when shuffle is enabled
2)on chromecast when connection is recovered, also when shufle is enabled

I mean MMA caches some next/prev tracks to quick switch on prev/next action.
Cached tracks are also used to fill chromecat queue.

When connection is lost and then recovered, then local/remote queue must be synced. Also when local queue changed chromecast queue must be refilled. There were some bugs and following tracks on chromecast were different then on local device.

martin

2017-05-25 20:44

developer   ~0048027

Fixed in build 1.3.1.700