You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yt-dlp/yt_dlp/downloader
Felix S 25a3f4f5d6
[webvtt] Merge daisy-chained duplicate cues (#638)
Fixes: https://github.com/yt-dlp/yt-dlp/issues/631#issuecomment-893338552

Previous deduplication algorithm only removed duplicate cues with
identical text, styles and timestamps.  This change also merges
cues that come in ‘daisy chains’, where sequences of cues with
identical text and styles appear in which the ending timestamp of
one equals the starting timestamp of the next.

This deduplication algorithm has the somewhat unfortunate side effect
that NOTE blocks between cues, if found, will be emitted in a different
order relative to their original cues.  This may be unwanted if perfect
fidelity is desired, but then so is daisy-chain deduplication itself.
NOTE blocks ought to be ignored by WebVTT players in any case.

Authored by: fstirlitz
3 years ago
..
__init__.py [downloader] Allow streaming unmerged formats to stdout using ffmpeg 3 years ago
common.py [docs] Fix some mistakes and improve doc 3 years ago
dash.py [cleanup] Fix linter in 96fccc101f 3 years ago
external.py [nbcolympics:stream] Fix extractor 3 years ago
f4m.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago
fragment.py [webvtt] Merge daisy-chained duplicate cues (#638) 3 years ago
hls.py [webvtt] Merge daisy-chained duplicate cues (#638) 3 years ago
http.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago
ism.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago
mhtml.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago
niconico.py [cleanup] Refactor some code 3 years ago
rtmp.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago
rtsp.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago
websocket.py [websockets] Add `WebSocketFragmentFD` (#399) 3 years ago
youtube_live_chat.py [downloader] Pass `info_dict` to `progress_hook`s 3 years ago