aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/static/js
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* av-merge: change QuotaExceeded messages to warningsJames Taylor2021-08-291-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: buffer same duration of audio and videoJames Taylor2021-08-291-4/+10
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: Make segment fetching message more usefulJames Taylor2021-08-291-2/+7
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* av-merge: call mediaSource.endOfStream() so player pauses at endJames Taylor2021-08-291-4/+35
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Integrate quality selection into PlyrJames Taylor2021-08-291-1/+89
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* avmerge: Fix errors if close is called twiceJames Taylor2021-08-291-0/+4
| | | | | | | | | | | This can happen if the quality is changed from an avmerge source to an integrated source, and then changed back to an avmerge source Close is called the first change, but on the last change, it's called again because the avMerge object is still present, resulting in InvalidStateError Signed-off-by: Jesús <heckyel@hyperbola.info>
* avmerge: Remove obsolete shouldFetchNextSegment functionJames Taylor2021-08-291-9/+0
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* avmerge: Close streams to avoid errors while changing qualityJames Taylor2021-08-291-8/+39
| | | | | | | | | | | | | If a fetchRange network request finished after the quality was changed, there would be a "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable" because appendSegment was trying to append to the sourceBuffer that was unusable after the video src was changed to a new mediaSource. Adds a close method to the AVMerge class to properly clean and close everything so these sorts of errors won't happen. Signed-off-by: Jesús <heckyel@hyperbola.info>
* avmerge: Buffer 50 mb ahead in videoJames Taylor2021-08-291-14/+43
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Add video quality selectorJames Taylor2021-08-291-55/+58
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Add support for more qualities, merging video+audio using MSEJames Taylor2021-08-291-0/+445
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Revert "Add support for more qualities, merging video+audio using MSE"Jesús2021-08-291-445/+0
| | | | This reverts commit d56df02e7b1eba86baf511289208295b1f6c5a50.
* Add support for more qualities, merging video+audio using MSEJames Taylor2021-08-291-0/+445
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* [plyr]: minor fix syntaxJesús2021-08-091-1/+0
|
* [plyr]: updateJesús2021-08-091-0/+37
|
* Remove `var` and fix transcript button jumping above autoplay on page loadJesús2021-07-041-19/+17
| | | | | | | | Obsolete code from #15 that was forgotten to be removed From ea34965be31dcf7e7e30c1edb9a9fa9d18fe6b30 Mon Sep 17 00:00:00 2001 From: James Taylor <user234683@users.noreply.github.com> Date: Sat, 3 Jul 2021 20:06:11 -0700
* Fix set language subtitlesJesús2021-06-231-23/+0
|
* Add plyr as main playerJesús2021-05-221-0/+23
| | | | Also plyr supports switch quality
* General theme: fix syntax W3C markup and add improve 'Published' dateJesús2020-12-301-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* General theme: add license and add URL source code in footerJesús2020-12-292-0/+99
|
* Hotkeys.js: improve fullscreenJesús2020-12-161-2/+2
|
* Replace document.fullscreen for fullscreenElementJesús2020-12-161-1/+1
| | | | | | | | | | | This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time. More info in https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreen#Deprecated
* Hotkeys.js: Add muted 'm' keyJesús2020-12-151-0/+4
|
* Migration general theme: fix query video tagJesús2020-12-155-15/+16
|
* Merge branch 'master' into add_sponsorblockJames Taylor2020-10-211-3/+1
|\
| * comments.js: include error in reply html rather than using an alertJames Taylor2020-10-201-3/+1
| |
* | fix sponserblock:jszrose5842020-10-211-2/+2
| |
* | proxy 'sponsor.ajay.app'zrose5842020-10-183-10/+5
| |
* | add sponsorblock.jszrose5842020-10-173-1/+45
|/
* add 't' hotkeyzrose5842020-10-122-0/+64
|
* doXhr: check xhr.statuszrose5842020-10-091-1/+5
|
* add comments.jszrose5842020-10-072-1/+31
|
* Transcript table: Fix timestamps for videos longer than an hourJames Taylor2020-09-241-4/+13
| | | | See #15
* Transcript: For clarity, use more verbose names and add commentsJames Taylor2020-09-242-49/+69
|
* style transcript divzrose5842020-09-151-1/+1
|
* handle firefox' VTT parsing bugzrose5842020-09-151-3/+6
| | | | | | | | from #15: "[..] Firefox's VTT parsing [ignores] newlines. So if the cue starts with a newline, that cue will have blank text (a corollary is that the first sentence uttered will fail to display in the automatic captions [..])."
* transcript-table: show transcript as contiguous text by defaultzrose5842020-09-121-25/+52
|
* let jinja create the transcript <details> elementzrose5842020-09-121-17/+3
|
* transcript-table.js: sync active transcript with select_ttzrose5842020-09-121-2/+6
|
* default to last textTrackzrose5842020-09-122-2/+12
|
* hotkeys.js: ignore if e.ctrlKeyzrose5842020-09-121-1/+2
|
* add transcript-table.jszrose5842020-09-111-0/+112
|
* hotkeys.js: add 'c' for transcriptzrose5842020-09-112-3/+36
|
* hotkeys.js: use DOMContentLoaded so images don't delay scriptJames Taylor2020-09-091-2/+2
| | | | | Instead of the load event, which waits until all assets are finished loading in order for script to start.
* add hotkeys.jszrose5842020-09-091-0/+32