This might help with the bug that when VLC is installed, RAR archives
have no proper icon shown anymore, regardless of the app associated
as default to open the type.
The signature descrambling call changed to using several steps with
intermediate variables. We know that the signature field must be
URL-decoded before descrambling, so we now rely on that.
if available (in GNU tar >= 1.28)
and use ustar format to not have pax headers add nondetermistic bits
to make skins2/default.vlt reproducible.
See https://reproducible-builds.org/ for why this is good.
This patch was done while working on reproducible builds for openSUSE.
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
The previous client_id is not working anymore, this commit updates it
to the same id used by Twitch's website.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Passing a different value hasn't worked anymore for a while now, with
the API always returning an "invalid parameter" error. This restores at
least some functionality.
Since at least last September, youtube has shown developments towards
discontinuing the classic parameters that we currently rely on in the
general case to play any video: the classic parameters are simply
missing at least sometimes for some videos.
Stream parameters remain available in another form under a new data
structure, which seems available all the time. It seems likely that the
classic parameters will in turn be phased out at some point.
For now, we introduce support for the new-style parameters while keeping
support for the classic ones.
The new signature scheme expects the descrambled signature in the "sig"
parameter of the video URL, rather than "signature" formerly. There is a
parameter indicating just this in the stream map: parse and use it.
A new signature format has been phased in, using base64 instead of
hexadecimal encoding: the base64 "=" characters need to be properly
URL-decoded from the stream map, otherwise descrambling will fail.
It seems that unscrambled signatures are now already integrated in the
video URLs provided in the stream map, thus there is no need anymore
for this code merely appending them untouched. That unscrambled "sig"
parameter used distinctly from scrambled signatures doesn't seem in use
anymore. The current javascript code doesn't seem to provide any support
for this case either.
Only properly scrambled signatures remain requiring this processing.
Some strings do not need to be translated here.
CFBundleGetInfoString is replaced by NSHumanReadableCopyright,
therefore not needed anymore.
The usage strings always need to be in Info.plist as a fallback,
otherwise the app might crash if a translated version is not
found.
Services discovery media were displayed via the old playlist, which allowed to
display their tree.
The new playlist is not a tree, but a list, so it can't be used to display
services discovery trees. This lua API is only used from cli.lua, and we
consider it's not worth it to implement this feature for now, so just remove
it.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
The lua API exposed a function to search in (actually, filter) the
playlist. The filtering was directly applied on the core playlist,
so every playlist clients shared the same filter.
The new playlist does not filter. Instead, each client could create its
own filtered view of the core playlist.
We do not want to invest time to implement this for the lua API for now,
so remove the search feature of the "cli" interface.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
When VLSub asks for the cache directory and it doesn't exist an error is
thrown. This patch makes sure that the directory is created before it is
accessed for writing.
Fixes#21595
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Access player config API directly rather than player page. Stop parsing
web page contents for the player URL, it's simpler to extract and insert
the video ID from the calling URL; the player URL is half hard-coded in
the rest of the script anyway.
Instead of the previous "hlsvp" parameter, the URL can now be found in a
deeper "hlsManifestUrl" parameter.
Thanks to forum thread for analysis!
Fixes#21738
When compiling against the 10.14 SDK, it would be enabled automatically. This flag allows us to continue using earlier SDKs while retaining support for it.