Fix Youtube mplayer error "No stream found to handle url"
Set the "_play_proxy" boolean attribute to the video object to pipe the video to mplayer. Fix Youtube module test. Signed-off-by: Vincent Texier <vit@free.fr>
This commit is contained in:
parent
dec4d08184
commit
baa289a777
3 changed files with 10 additions and 5 deletions
|
|
@ -95,6 +95,10 @@ class VideoPage(BasePage):
|
|||
|
||||
video.set_empty_fields(NotAvailable)
|
||||
|
||||
# Dailymotion video url is protected by a redirection with cookie verification
|
||||
# so we need to use the "play_proxy" method using urllib2 proxy streaming to handle this
|
||||
video._play_proxy = True
|
||||
|
||||
return video
|
||||
|
||||
def set_video_metadata(self, video):
|
||||
|
|
@ -153,10 +157,6 @@ class VideoPage(BasePage):
|
|||
|
||||
video.url = unicode(info[max_quality])
|
||||
|
||||
# dailymotion video url is protected by a redirection with cookie verification
|
||||
# so we need to do a "play_proxy" using urllib2 proxy streaming to handle this
|
||||
video._play_proxy = True
|
||||
|
||||
class KidsVideoPage(VideoPage):
|
||||
|
||||
CONTROLLER_PAGE = 'http://kids.dailymotion.com/controller/Page_Kids_KidsUserHome?%s'
|
||||
|
|
|
|||
|
|
@ -115,6 +115,11 @@ class YoutubeBackend(BaseBackend, ICapVideo, ICapCollection):
|
|||
self._set_video_url(video)
|
||||
|
||||
video.set_empty_fields(NotAvailable)
|
||||
|
||||
# Youtube video url is https, using ssl encryption
|
||||
# so we need to use the "play_proxy" method using urllib2 proxy streaming to handle this
|
||||
video._play_proxy = True
|
||||
|
||||
return video
|
||||
|
||||
def search_videos(self, pattern, sortby=ICapVideo.SEARCH_RELEVANCE, nsfw=False):
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class YoutubeTest(BackendTest):
|
|||
self.assertTrue(len(l) > 0)
|
||||
v = l[0]
|
||||
self.backend.fillobj(v, ('url',))
|
||||
self.assertTrue(v.url and v.url.startswith('http://'), 'URL for video "%s" not found: %s' % (v.id, v.url))
|
||||
self.assertTrue(v.url and v.url.startswith('https://'), 'URL for video "%s" not found: %s' % (v.id, v.url))
|
||||
assert self.backend.get_video(v.shorturl)
|
||||
self.backend.browser.openurl(v.url)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue