Partial downloads should be reexamined and not played if stalled

Bug #655788 reported by BluJai
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ubuntu One Android Music
Triaged
High
Unassigned

Bug Description

Often (roughly 70-85% of the time) songs will only play to a specific point and then abruptly cut to the next song. The point at which this occurs varies by song, i.e., some will be at 2:42 others at 4:27. However, once it occurs on a song it is not possible to play past that point again (at least not without deleting the cached file). I suspect that the files are being incompletely buffered; however, I have not confirmed that. I have verified that the source files are truly complete (by downloading the full song from one.ubuntu.com from a workstation).

This problem is currently occurring on a Motorola Droid (Android) device.

Revision history for this message
Chad Miller (cmiller) wrote :

Can you reproduce it and immediately capture the system log? The app "aLogCat" will let you mail the log to yourself, or if you have the Android SDK, use "adb logcat".

Changed in ubuntuone-android-music:
status: New → Incomplete
Revision history for this message
Martin Albisetti (beuno) wrote :

I have been able to reproduce this with a dodgy 3G connection.
From what I can gather, we start downloading the song, and at some point there's a connection loss which we don't recover well from.
After using it this way for an hour, I ended up with partially-cached songs that the app thought where the full song.

So there seems to be 2 issues here:
- We don't resume (the server almost surely doesn't support it, don't know about the client)
- We end up with partially-cached songs which the app things are all of it

Changed in ubuntuone-android-music:
status: Incomplete → Triaged
importance: Undecided → High
Revision history for this message
Chad Miller (cmiller) wrote :

It should begin playing tunes that are not fully downloaded. It tries to predict when it's safe to start playing, based on current bandwidth. If a file is 10MB and 3 minutes long, and we can download at 2MB/minute, then it will take 5 minutes to download. After 2 minutes, if we start playing, the download should finish when the song finishes.

(This ignores the nonlinearity of compressed data in time versus file position.)

Anyway, if the prediction of file download time is wrong, then the player could reach the end before the downloader does.

The file is probably still in the download queue, and therefore supposedly playable (given the calculation like above).

The bug here is that the download queue should have a shorter memory about what's going on with the network. Having hours of good usage tells nothing about the download rate for the past or next few minutes.

Changed in ubuntuone-android-music:
assignee: nobody → Chad Miller (cmiller)
milestone: none → 1.0-3
summary: - Songs often stop playing with only partial completion
+ Partial downloads should be reexamined and not played if stalled
Chad Miller (cmiller)
Changed in ubuntuone-android-music:
milestone: 1.0-3 → 1.1-1
Revision history for this message
John Lenton (chipaca) wrote :

But the issue is also that the client seems to think that the song is finished downloading; it puts a yellow star on it. This happens even when it's not the song currently playing.

Chad Miller (cmiller)
Changed in ubuntuone-android-music:
assignee: Chad Miller (cmiller) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.