aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/static
Commit message (Collapse)AuthorAgeFilesLines
* av-merge: Retry failed requestsAstound2024-01-261-11/+37
| | | | Should reduce playback stalling
* av-merge: Use fetchRange promise properlyAstound2024-01-261-18/+25
|
* Set flexible responsive videoAstound2024-01-241-1/+1
|
* update plyrAstound2024-01-224-5314/+4812
|
* Add autoplay to plyrAstound2024-01-221-48/+42
|
* Refactor captions logic in Plyr video player initializationAstound2024-01-221-11/+4
| | | | | Simplify the captions logic in the Plyr video player initialization by using a conditional statement. Cleaner and more concise code.
* Add autoplay functionality in Plyr video playerAstound2024-01-221-0/+4
| | | | Introduce autoplay feature in the Plyr video player based on the configuration settings.
* copyTextToClipboard: support fullscreenzrose5842022-08-071-2/+3
|
* onKeyDown: ignore plyr CustomEventszrose5842022-08-071-0/+1
|
* fix figure tag of sc-videoJesús2022-05-311-0/+3
|
* Revert update plyrJesús2022-05-303-3231/+3875
| | | | | because iceweasel not support engine v8+ More info: https://repo.palemoon.org/MoonchildProductions/UXP/issues/1675
* update plyr configJesús2022-02-111-0/+5
|
* Update plyr moduleJesús2022-02-113-45/+105
|
* Fix name settings in hotkeysJesús2022-01-291-1/+1
|
* hotkeys.js: fix 'f'Jesús2022-01-291-2/+11
|
* handle missing storyboardzrose5842022-01-171-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* add preview thumbnailszrose5842022-01-091-0/+4
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* [FrontEnd]: fix dropdown designJesús2021-12-319-59/+39
|
* [FrontEnd]: remove unused stylesJesús2021-12-311-91/+0
|
* [FrontEnd]: fix missing unsubscribe styleJesús2021-12-311-0/+269
|
* [FrontEnd]: light_theme, change link-visited colorJesús2021-12-271-1/+1
|
* [FrontEnd]: fix dropdown designJesús2021-12-2711-53/+116
|
* [FrontEnd]: improved settings designJesús2021-12-264-3/+10
|
* [frontend]: fix design in playlistJesús2021-12-181-0/+6
|
* [frontend]: fix reporInfo in prototypeJesús2021-12-161-0/+3
|
* [frontend]: relax find segmentJesús2021-12-161-1/+4
|
* [frontend]: fix global scope, change var to letJesús2021-12-167-84/+87
|
* [Design]: add 0.5rem for grid-gap (col and row)Jesús2021-12-031-3/+3
|
* Improve input stylesJesús2021-09-2211-0/+22
|
* improve quality-selectJesús2021-09-142-12/+6
|
* Redo av codec settings & selections to accomodate webmJames Taylor2021-09-063-36/+51
| | | | | | | | | | | | | | 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>
* av-merge: Add webm supportJames Taylor2021-09-061-7/+269
| | | | | | | 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>
* av-merge: Fix segments not properly reappended during QuotaExceededJames Taylor2021-09-011-16/+23
| | | | | | | | | | | | | | | | | | 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>
* watch.js: video variable as const and improve data.time_start syntaxJesús2021-09-011-3/+2
|
* plyr: use strict and fix undefined quality variableJesús2021-09-011-107/+110
|
* plyr: minor fixJesús2021-09-011-2/+1
|
* plyr: remove sourceMappingURL=plyr.min.js.mapJesús2021-08-311-1/+0
|
* av-merge: Specify which of MediaSource, audio, or video are unsupportedJames Taylor2021-08-311-7/+17
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Use .shift() instead of .pop() in appendQueue for FIFOJames Taylor2021-08-311-1/+1
| | | | | | | .pop() gives LIFO, but FIFO was the intention for appendQueue. O(n) behavior is fine because appendQueue should be very small. Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Fix handling of QuotaExceededErrorJames Taylor2021-08-311-15/+75
| | | | | | | | | | | | | | Many things fixed: - Delete from end of video in addition to from beginning. Firefox automatically deletes from the beginning already. - Increment i in the while loop (oops) - Calling .remove takes time for the sourceBuffer to perform, and it will be in the updating=true state. Continuing to delete more would give an error. Waits until the updateend event is fired before deleting more segments. - Retry appendBuffer if the quota was exceeded during a seek append Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix embed page broken due to changes to jinja variablesJames Taylor2021-08-291-1/+3
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Fix numDeleted not incremented during segment deletionJames Taylor2021-08-291-0/+1
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Fix malformed mp4 fragments wrongly considered deletedJames Taylor2021-08-291-1/+32
| | | | | | | | See comment within. They would be constantly rerequested and av-merge would think it didn't have them, so it wouldn't request subsequent segments Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: print sourceBuffer.buffered in printDebuggingInfoJames Taylor2021-08-291-0/+7
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Fix error when switching qualities after endOfStreamJames Taylor2021-08-291-3/+5
| | | | | | | | | After the video has been buffered to the end and mediaSource.endOfStream() has been called, the close function would perform some closing operations on the sourceBuffers that gave InvalidStateError Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Add function to dump debugging infoJames Taylor2021-08-291-1/+12
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Use tickEnd+1 when calculating segment time rangesJames Taylor2021-08-291-4/+5
| | | | | | | | | | | | | | | | | | | | | | tickEnd is inclusive, so two segments might have the following ticks: -- Segment 0 -- tickStart: 0 tickEnd: 44099 -- Segment 1 -- tickStart: 44100 tickEnd: 88199 When doing calculations in seconds about segment extent, there were gaps between segment 0's end and segment 1's beginning. This sometimes resulted in errors of not finding the corresponding segment index inside these gaps. Using (tickEnd+1)/this.sidx.timeScale is the correct method. Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: End stream correctly when last segments do not overlapJames Taylor2021-08-291-3/+2
| | | | | | | | | | | | In this video at 480p: https://www.youtube.com/watch?v=6bnanI9jXps There is an extremely tiny audio segment from 30.00018140589569 to 30.06981859410431 after the last video segment ends at 29.99998888888889. Call end of stream when we have all segments until the end, instead of calling it when we are playing the last segment. Signed-off-by: Jesús <heckyel@hyperbola.info>
* watch.html: Move loose inline javascript into watch.jsJesús2021-08-293-20/+201
| | | | | | | | The number of inline code blocks and the dependencies between them became unmanageable. From 9d96c07a3c2e68f1893634574c3be64e41a2c041 Mon Sep 17 00:00:00 2001 From: James Taylor <user234683@users.noreply.github.com>
* av-merge: Use console.warn and console.errorJames Taylor2021-08-291-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>