mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
mpv: update to 0.36.0.
This commit is contained in:
parent
b02abcc7fa
commit
0ac468669a
4 changed files with 3 additions and 144 deletions
|
@ -1,26 +0,0 @@
|
||||||
From 94c189dae76ba280d9883b16346c3dfb9720687e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christoph Heinrich <christoph.heinrich@student.tugraz.at>
|
|
||||||
Date: Fri, 3 Mar 2023 00:45:45 +0100
|
|
||||||
Subject: [PATCH] ytdl_hook: init fragment requires other fragments
|
|
||||||
|
|
||||||
With dash the first fragment was always considered an init fragment if
|
|
||||||
there wasn't a duration. However that only makes sense when there are
|
|
||||||
also other fragments, so check if there are other fragments in addition
|
|
||||||
to the lack of a duration.
|
|
||||||
---
|
|
||||||
player/lua/ytdl_hook.lua | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
|
|
||||||
index 27e5f4544b2..9e50b3a80b8 100644
|
|
||||||
--- a/player/lua/ytdl_hook.lua
|
|
||||||
+++ b/player/lua/ytdl_hook.lua
|
|
||||||
@@ -297,7 +297,7 @@ local function edl_track_joined(fragments, protocol, is_live, base)
|
|
||||||
local args = ""
|
|
||||||
|
|
||||||
-- assume MP4 DASH initialization segment
|
|
||||||
- if not fragments[1].duration then
|
|
||||||
+ if not fragments[1].duration and #fragments > 1 then
|
|
||||||
msg.debug("Using init segment")
|
|
||||||
args = args .. ",init=" .. edl_escape(join_url(base, fragments[1]))
|
|
||||||
offset = 2
|
|
|
@ -1,78 +0,0 @@
|
||||||
From ac6bb48728af60c706a6a92573ea13651adb6d7d Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
|
|
||||||
Date: Sun, 23 Jul 2023 09:10:55 +0200
|
|
||||||
Subject: [PATCH] ao_pipewire: for_each_sink: properly check termination
|
|
||||||
condition
|
|
||||||
|
|
||||||
Doing a pw_thread_loop_wait() without checking conditions is invalid.
|
|
||||||
The thread loop could be signalled for other reasons and in this case
|
|
||||||
the wait needs to continue.
|
|
||||||
|
|
||||||
PipeWire added such additional signaling in
|
|
||||||
commit 33be898130f0 ("thread-loop: signal when started").
|
|
||||||
|
|
||||||
This meant that for_each_sink would return before the callbacks have
|
|
||||||
fired and session_has_sink() would incorrectly return "false", failing
|
|
||||||
the initialization of ao_pipewire.
|
|
||||||
|
|
||||||
Fixes #11995
|
|
||||||
---
|
|
||||||
audio/out/ao_pipewire.c | 19 +++++++++++++++----
|
|
||||||
1 file changed, 15 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/audio/out/ao_pipewire.c b/audio/out/ao_pipewire.c
|
|
||||||
index 8e93dc5341b..0a39e4e1a59 100644
|
|
||||||
--- a/audio/out/ao_pipewire.c
|
|
||||||
+++ b/audio/out/ao_pipewire.c
|
|
||||||
@@ -354,6 +354,11 @@ static void for_each_sink_registry_event_global(void *data, uint32_t id,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
+struct for_each_done_ctx {
|
|
||||||
+ struct pw_thread_loop *loop;
|
|
||||||
+ bool done;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
static const struct pw_registry_events for_each_sink_registry_events = {
|
|
||||||
.version = PW_VERSION_REGISTRY_EVENTS,
|
|
||||||
.global = for_each_sink_registry_event_global,
|
|
||||||
@@ -361,8 +366,9 @@ static const struct pw_registry_events for_each_sink_registry_events = {
|
|
||||||
|
|
||||||
static void for_each_sink_done(void *data, uint32_t it, int seq)
|
|
||||||
{
|
|
||||||
- struct pw_thread_loop *loop = data;
|
|
||||||
- pw_thread_loop_signal(loop, false);
|
|
||||||
+ struct for_each_done_ctx *ctx = data;
|
|
||||||
+ ctx->done = true;
|
|
||||||
+ pw_thread_loop_signal(ctx->loop, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct pw_core_events for_each_sink_core_events = {
|
|
||||||
@@ -376,12 +382,16 @@ static int for_each_sink(struct ao *ao, void (cb) (struct ao *ao, uint32_t id,
|
|
||||||
struct priv *priv = ao->priv;
|
|
||||||
struct pw_registry *registry;
|
|
||||||
struct spa_hook core_listener;
|
|
||||||
+ struct for_each_done_ctx done_ctx = {
|
|
||||||
+ .loop = priv->loop,
|
|
||||||
+ .done = false,
|
|
||||||
+ };
|
|
||||||
int ret = -1;
|
|
||||||
|
|
||||||
pw_thread_loop_lock(priv->loop);
|
|
||||||
|
|
||||||
spa_zero(core_listener);
|
|
||||||
- if (pw_core_add_listener(priv->core, &core_listener, &for_each_sink_core_events, priv->loop) < 0)
|
|
||||||
+ if (pw_core_add_listener(priv->core, &core_listener, &for_each_sink_core_events, &done_ctx) < 0)
|
|
||||||
goto unlock_loop;
|
|
||||||
|
|
||||||
registry = pw_core_get_registry(priv->core, PW_VERSION_REGISTRY, 0);
|
|
||||||
@@ -400,7 +410,8 @@ static int for_each_sink(struct ao *ao, void (cb) (struct ao *ao, uint32_t id,
|
|
||||||
if (pw_registry_add_listener(registry, ®istry_listener, &for_each_sink_registry_events, &revents_ctx) < 0)
|
|
||||||
goto destroy_registry;
|
|
||||||
|
|
||||||
- pw_thread_loop_wait(priv->loop);
|
|
||||||
+ while (!done_ctx.done)
|
|
||||||
+ pw_thread_loop_wait(priv->loop);
|
|
||||||
|
|
||||||
spa_hook_remove(®istry_listener);
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
From 362256edbc4f95c63e69c1fa8c8dce9cc6c44288 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christoph Heinrich <christoph.heinrich@student.tugraz.at>
|
|
||||||
Date: Fri, 3 Mar 2023 00:50:58 +0100
|
|
||||||
Subject: [PATCH] ytdl_hook: only log error when no fallback url available
|
|
||||||
|
|
||||||
An error indicates that something doesn't work, but as long as a
|
|
||||||
safe url is available, playback is still expected to work.
|
|
||||||
|
|
||||||
Thus reduce logging level of MP4 DASH without fragments message and
|
|
||||||
add a new error message for when there is no safe url available either.
|
|
||||||
|
|
||||||
Also adds a missing space.
|
|
||||||
---
|
|
||||||
player/lua/ytdl_hook.lua | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
|
|
||||||
index 9e50b3a80b8..77f7446ed22 100644
|
|
||||||
--- a/player/lua/ytdl_hook.lua
|
|
||||||
+++ b/player/lua/ytdl_hook.lua
|
|
||||||
@@ -309,7 +309,7 @@ local function edl_track_joined(fragments, protocol, is_live, base)
|
|
||||||
-- if not available in all, give up.
|
|
||||||
for i = offset, #fragments do
|
|
||||||
if not fragments[i].duration then
|
|
||||||
- msg.error("EDL doesn't support fragments" ..
|
|
||||||
+ msg.verbose("EDL doesn't support fragments " ..
|
|
||||||
"without duration with MP4 DASH")
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
@@ -423,6 +423,7 @@ local function formats_to_edl(json, formats, use_all_formats)
|
|
||||||
track.protocol, json.is_live,
|
|
||||||
track.fragment_base_url)
|
|
||||||
if not edl_track and not url_is_safe(track.url) then
|
|
||||||
+ msg.error("No safe URL or supported fragmented stream available")
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'mpv'
|
# Template file for 'mpv'
|
||||||
pkgname=mpv
|
pkgname=mpv
|
||||||
version=0.35.1
|
version=0.36.0
|
||||||
revision=3
|
revision=1
|
||||||
build_style=meson
|
build_style=meson
|
||||||
configure_args="-Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled
|
configure_args="-Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled
|
||||||
-Dlibmpv=true -Dcplugins=enabled
|
-Dlibmpv=true -Dcplugins=enabled
|
||||||
|
@ -41,7 +41,7 @@ license="GPL-2.0-or-later"
|
||||||
homepage="https://mpv.io"
|
homepage="https://mpv.io"
|
||||||
changelog="https://github.com/mpv-player/mpv/releases"
|
changelog="https://github.com/mpv-player/mpv/releases"
|
||||||
distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
|
distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"
|
||||||
checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9
|
checksum=29abc44f8ebee013bb2f9fe14d80b30db19b534c679056e4851ceadf5a5e8bf6
|
||||||
|
|
||||||
build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
|
build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2
|
||||||
sndio vapoursynth vdpau vulkan wayland x11"
|
sndio vapoursynth vdpau vulkan wayland x11"
|
||||||
|
|
Loading…
Add table
Reference in a new issue