summaryrefslogtreecommitdiff
path: root/media-video/mpv/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-03-06 23:55:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-03-06 23:55:40 +0000
commitf704f050bfdcc3bad4cd597edcce143ca6133848 (patch)
tree6609b8b496dac33c04e8d52c2d80580e46f15cf2 /media-video/mpv/files
parent47223eb70974998c84966981d9e4fc2be27b3f8a (diff)
gentoo auto-resync : 06:03:2023 - 23:55:39
Diffstat (limited to 'media-video/mpv/files')
-rw-r--r--media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch55
1 files changed, 55 insertions, 0 deletions
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
new file mode 100644
index 000000000000..058c608233d4
--- /dev/null
+++ b/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch
@@ -0,0 +1,55 @@
+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
+