Hi! One of my friends once reported that when browsing Youtube, sometimes the
video stopped in the middle and would not continue downloading new segments.
I checked the fetch.py code and found that the fragment identifier in request
url is omitted (intentionally?) when generating new url path. Here is the code:
# check path
(scm, netloc, path, params, query, _) = urlparse.urlparse(orig_path)
if (scm.lower() != "http" and scm.lower() != "https") or not netloc:
self.sendErrorPage(590, "Invalid local proxy, Unsupported Scheme.")
return
# create new path
new_path = urlparse.urlunparse((scm, netloc, path, params, query, ""))
But the Youtube happens to use fragment identifier to mark data segments in
video. Quote from Wikipedia:
"... for example, Google Video understands permalinks in the format of
#01h25m30s to start playing at the specified position,[2] and YouTube uses
similar code such as #t=3m25s."
So I guess my friend's problem is caused by mishandling the fragment
identifier. I just wondering why it is omitted in 'new_path'.
I'm new to GAPP. Hope this info helps.:)
Original issue reported on code.google.com by WentaoSh...@gmail.com on 23 Mar 2011 at 3:15
Original issue reported on code.google.com by
WentaoSh...@gmail.com
on 23 Mar 2011 at 3:15