Closed Bug 990534 Opened 11 years ago Closed 7 years ago

Music player takes around 2 seconds to start next clip once the present clip playback ends

Categories

(Firefox OS Graveyard :: Gaia::Music, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

(tracking-b2g:backlog)

RESOLVED WONTFIX
tracking-b2g backlog

People

(Reporter: vasanth, Unassigned)

References

Details

(Keywords: perf, Whiteboard: [CR 636333][c=progress p= s= u=])

Steps to reproduce: 1. Play any clip. 2. Wait till the playback of present clip ends. Observed: Music player takes 2 seconds to start next clip once the present clip playback ends. Comparatively in Android, this delay is almost nil. Note that Android has gapless playback feature, seems even without gapless playback the delay would be around ~100ms and not 2s. Would like to know why there is 2s delay in FFOS and whether it can be reduced? I see ~2s delay in V1.3 as well so I guess this is not a regression and an expected behavior as of now?
blocking-b2g: --- → 1.4?
We should also check if this happens on 1.1.
Keywords: qawanted
QA Contact: jharvey
This issue reproduces on 1.1 1.1 Environmental Variables: Device: Buri 1.1 MOZ BuildID: 20140318041202 Gaia: 44a2ddf63373f8e95c784faf4ed4d60081699c61 Gecko: 2c70ef07c5b3 Version: 18.0 Firmware Version: v1.2-device.cfg
Keywords: qawanted
We could probably cheat and pre-load the next track when we're near the end of the previous one, but I think it would make a lot more sense to use this opportunity to actually fix the issue. We should look into adding something to support gapless playback into Web Audio (or somewhere else?).
Keywords: perf
Sri, Please weigh in from music.(In reply to Jim Porter (:squib) from comment #3) > We could probably cheat and pre-load the next track when we're near the end > of the previous one, but I think it would make a lot more sense to use this > opportunity to actually fix the issue. We should look into adding something > to support gapless playback into Web Audio (or somewhere else?). Jim Whats the risk analysis here?
Flags: needinfo?(skasetti)
Keywords: perf
Keywords: perf
Jim Forgot to ni you
Flags: needinfo?(squibblyflabbetydoo)
Well, first, I don't experience this to the severity of comment 0. I get at most a 0.5 second gap between songs. Fixing this for real (true gapless playback, aka bug 907035) would probably be pretty hard, and there's no way we'd get that in for 1.4, since it would likely involve adding features to the Web Audio spec. Pre-loading the next track and trying to get almost-gapless playback is achievable, but I'd still rather do it in 1.5 or later. We'd need a pretty thorough suite of integration tests to cover this, and that means we'd need time to fix our lack of tests in the Music app (Dominic's been helping on this, though).
Flags: needinfo?(squibblyflabbetydoo)
Per comment 6, too risky for 1.4, as this would require implementing a new feature to make this possible, so moving to backlog. I'm leaving needinfo on Sri here to add this to the product backlog for a future release. Also - Should we dupe this to bug 907035, since that's probably the feature we need to implement to fix this?
blocking-b2g: 1.4? → backlog
Gapless playback is one of the features in the our music backlog.
Flags: needinfo?(skasetti)
We could leave this open to investigate why it's taking 2 seconds instead of something more reasonable like 0.5 seconds, but since I don't experience that issue, I'd be ok with duping it.
The 2 seconds between tracks should be: the workaround + load time + decode time The tricky workaround is for going to next track when one track ends in the music player(https://github.com/mozilla-b2g/gaia/blob/master/apps/music/js/Player.js#L1021), because the "ended" event of mp3 didn't fire normally. This workaround caused about 1 second delay to play next track. I filed bug 783512 for tracking that issue and there were some progress on the related bugs, it seems the ended issue maybe fixed so probably we can at least give a try to remove the workaround, see if it improve 1 second. To support advanced features like gapless playback or cross fade between tracks, I agree with Jim said in comment 3, we should use web audio + preload next track to achieve them, which should be new features so we better do it in 1.5 or later.
Priority: -- → P2
Whiteboard: [CR 636333] → [CR 636333][c=progress p= s= u=]
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.