GNOME Bugzilla – Bug 319758
Podcast: resume partial downloads
Last modified: 2008-07-29 13:18:07 UTC
Distribution/Version: Fedora Core Rawhide Due to having RB crash from time to time and not having the Podcast db updated, I end up downloading some files multiple times. It would be nice (as the RSS has the size of the file) to compare the size of the file in place with the size given by the RSS feed and not try to re-download it.
Created attachment 53937 [details] [review] patch This patch makes RB check an existing file, and if it is the same size as the feed says it doesn't download it again. There is an obvious place to add support for resuming partialally downloaded podcasts - but AFAICT the gnome-vfs xfer functions don't have support for doing that.
This doesn't seem to work for me. I downloaded a podcast, killed RB before it got written to the DB and then tried to download again and it re-downloaded the file. I used the Download Post in the right click menu.
Created attachment 53960 [details] [review] patch i made some changes in the James's patch
Renato's patch crashes RB. Attached is a BT
Created attachment 53969 [details] [review] updated patch The last patch accidently removed one of the fixes that has just been committed to cvs - the fix for the crash you were seeing.
This latest patch seems to work correctly, yay!
Patch committed to cvs. Retitling for resuming partially-downloaded podcasts.
Change to "Podcast" Component
*** Bug 330385 has been marked as a duplicate of this bug. ***
There is a TODO in the code for this, in rb_podcast_manager_copy_post(). I'm not sure if gnome_vfs_async_xfer supports a "resume" option, which would make this easy.
Back on dial-up and I had my modem connection die during a long podcast download. It had been downloading for about 45 mins. Then I restarted rhythmbox and the podcast restarted downloading all over again! Grrr. This is a bad behaviour because it is destructive of previous downloads, at the very least it should offer to back-up the file. Is there not any other way to make this work other than via gnome_vfs-async_xfer()?
We could write some code which does exactly what gnome_vfs_async_xfer does, except that it supports resume ;) The big issue is that we'd need to fix bug 330766 first, otherwise we can't tell whether it's a partially downloaded episode, or a completely different episode with the same file name.
Could this resume functionality be added to gnome vfs and then used by RB?
(In reply to comment #13) > Could this resume functionality be added to gnome vfs and then used by RB? You'd have to ask the gnome-vfs developers, best thing would be to open new a bug for gnome-vfs requesting a resume function, then make this bug depend on that bug.
My understanding is that no new features will be added to gnome-vfs. Instead, we should make sure that gvfs (which is replacing gnome-vfs) will allow us to resume transfers.
.. and indeed it does. My gio port tree now has working podcast download resumption.
.. which has now been committed to svn.