The base url will be randomly missing.
Take one of the listed captions urls which already
has the &lang and automatic specifiers. Then remove these
specifiers.
Signed-off-by: Jesús <heckyel@hyperbola.info>
Sometimes YouTube redirects to a google.com/sorry page, seemingly
setting up redirect loops. Other times the url redirects
to itself.
Signed-off-by: Jesús <heckyel@hyperbola.info>
Allows for ranked preferences for h264, av1, and vp9 codecs in
settings, along with equal preferences which are tiebroken using
smaller file size.
For each quality, gives av-merge a list of video sources
and audio sources sorted based on preference & file size. It
will pick the first one that the browser supports.
Closes#84
Signed-off-by: Jesús <heckyel@hyperbola.info>
But watch.py is not providing them yet. Deciding how to fix the
codec options/defaults is for a later commit
Signed-off-by: Jesús <heckyel@hyperbola.info>
Two issues fixed:
1. The append was only retried if it was the result of a seek
event. But if the video is paused (such as if the video was
finished and the user seeks back to the beginning), the seek
won't happen because the MediaSource will not issue a sourceopen
until the user plays the video. A better strategy that solves
the true issue is to retry the append if it is for the segment
corresponding to the current time, since that is critical to get
immediately.
2. If the append was not retried, entry.requested was not getting
marked as false, so it would refuse to ever rerequest the segment,
so it would stall. Set it to false if we decide not to retry the
append, so it can be rerequested later.
Signed-off-by: Jesús <heckyel@hyperbola.info>