* maintain support for xx.orf.at/player/... URLs
* add `ORFRadioCollectionIE` to support playlists in ORF Sound
* back-port and re-work `ORFPodcastIE` from https://github.com/yt-dlp/yt-dlp/pull/8486, thx Esokrates
* add `ORFONIE`, back-porting yt-dlp PR https://github.com/yt-dlp/yt-dlp/pull/9113 and friends: thx HobbyistDev, TuxCoder, seproDev
* re-factor to support livestreams via new `ORFONliveIE`
* simplify aa_decode()
* review and update supported sites and tests
* in above, include FileMoon.sx, and remove separate module
* incorporate changes from yt-dlp
* allow for decoding multiple scripts (eg, FileMoon)
* use new JWPlayer extraction
* Add extractor for GB News TV channel
* Support more GBNews URL formats
Allow alphanumeric and _ in place of `shows`, which redirect to site's preferred URL
* Update for 2024
* add ThisVidIE, ThisVidMemberIE, ThisVidPlaylistIE
* redirect embed to main page for more metadata
* use KVS extraction newly added to GenericIE and remove duplicate tests
* also add MrDeepFake etc compat to GenericIE
(closes#22390)
Co-authored-by: dirkf <fieldhouse@gmx.net>
* back-port extractor, removing CeskaTelevizePoradyIE
* follow redirect URL
* support liveBroadcast and videobonusDetail in __NEXT__ data
* return single video for singleton playlist
* fix/add tests
* Add new IEs
* GlomexBaseIE: Base IE class
* GlomexIE: Extract videos from video.glomex.com (by deferring to
glomex:embed)
* GlomexEmbedIE: Extract Glomex videos by matching the player URL
* Query the API to extract metadata, detect video formats and get the
respective (JWT protected) stream/source URLs
* The API query may return one or more videos: the latter case is
treated as a playlist
* As this is otherwise identically handled, a separate IE was not
deemed necessary
* However title and description fields are not set for playlist
results
* They do not exist in the parent object; obtaining them from the
first entry is not indicative for the playlist content
* As the playlist order is not always stable (this is true at least
for related videos playlists), it makes writing test cases
impossible
* Let GenericIE detect embeds by matching all three integration methods:
* HTML: glomex-player tag or data attributes
* Javascript: naive parsing of inline scripts for string constants
assigned to integration parameters
* Iframe: src attribute GlomexEmbedIE._VALID_URL
* Let GlomexIE and the former embed detection pass the origin URL to
GlomexEmbedIE by smuggling it in the player URL, as this is an
expected parameter in API requests
* Add test cases for both single videos and two playlist flavors