GNOME Bugzilla – Bug 164019
Spins getting the mime-type of a last.fm stream
Last modified: 2005-01-28 15:49:57 UTC
1. go to http://last.fm/ and create an account 2. choose a "preview" playlist 3. grab the playlist with wget, or something else 4. the playlist references a mp3 stream 5. gnomevfs-info can't get the mime-type of the stream, and gets a whole load of data from the network Short version: gnomevfs-info "http://moses.last.fm/last.mp3?Session=17cb57b83ff3d9649e918e13797d2115"
This is definitly ICECAST that is broken here. It totally ignores the requested access method (PROPFIND, HEAD, even OPTIONS) but starts streaming immediately. I am trying to work around that now. I leave this bug open as long as I am working on this even though it's not a gnomevfs bug.
Created attachment 36309 [details] [review] Work around for broken icecast server This is the first part of the patch I am going to commit tomorrow. We will now do a OPTIONS command on get_file_info. We handle the start of the streaming in the http_options method. Then we decice to a PROPFIND or a HEAD based on the DAV header supplied (or not). So in the worst case of a webdav resource we have one round trip more but in the case of a normal http file we still have to roundtrips but a cheaper OPTIONS instead of a PROPFIND that would fail. Ill work and test that stuff more tomorrow and then commit it.
Created attachment 36652 [details] [review] Updated version! Updated version of the first approach. I put this here to just to have it if I wanna look at time some time later. I commited another patch to fix that issue.
Created attachment 36653 [details] [review] Differ between dav:// and http:// to avoid hangs in propfind (). This is the patch I commited to head to fix this issue. It's a total diffrent apporach then the first one: We are now differentiate between dav:// and http:// so we wont run into any problems inside the dav specific methods.