summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/mpv/files')
-rw-r--r--media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch86
-rw-r--r--media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch55
2 files changed, 0 insertions, 141 deletions
diff --git a/media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch b/media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch
deleted file mode 100644
index 41392ab0839c..000000000000
--- a/media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Issue point that pipewire itself may apply a workaround for mpv,
-so this may or may not be necessary for future pipewire versions.
-Albeit the actual issue seems to be in mpv, so let's backport the
-fix which appears to work properly for old 0.35.1 as well.
-
-Note that (unrelated to this issue), 0.35.1 is still a bit flaky
-with pipewire. If have other issues with ao=pipewire you may want
-to consider mpv-9999 until next release, or use ao=pulse/alsa/jack
-to use through pipewire meanwhile.
-
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3374
-https://github.com/mpv-player/mpv/issues/11995
-
-https://github.com/mpv-player/mpv/pull/11996
-https://github.com/mpv-player/mpv/commit/007019a303a09b098a387f607ae149705b57dc1c
-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
---- a/audio/out/ao_pipewire.c
-+++ b/audio/out/ao_pipewire.c
-@@ -337,6 +337,11 @@
- }
-
-
-+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,
-@@ -344,8 +349,9 @@
-
- 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 = {
-@@ -359,12 +365,16 @@
- 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);
-@@ -383,7 +393,8 @@
- if (pw_registry_add_listener(registry, &registry_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(&registry_listener);
-
diff --git a/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch b/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch
deleted file mode 100644
index 058c608233d4..000000000000
--- a/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-https://bugs.gentoo.org/899956
-https://github.com/mpv-player/mpv/pull/11398
-
-From 985655ebfd77ceddc44d76f8cc6dc446002f34ee 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 1/2] 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.
---- 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
-
-From a5961ad096b1361a12f836c8b170fc748f46962a 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 2/2] 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.
---- 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
-