[packages/mpv] upstream fix to adjust to recent changes in yt-dlp; rel 2

atler atler at pld-linux.org
Mon Mar 6 12:25:24 CET 2023


commit ff10eee27f566161ee7da7d06a63bfe477b8dd35
Author: Jan Palus <atler at pld-linux.org>
Date:   Mon Mar 6 12:19:39 2023 +0100

    upstream fix to adjust to recent changes in yt-dlp; rel 2

 mpv.spec   |  4 +++-
 ytdl.patch | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 1 deletion(-)
---
diff --git a/mpv.spec b/mpv.spec
index da2670b..0f8dda5 100644
--- a/mpv.spec
+++ b/mpv.spec
@@ -13,13 +13,14 @@ Summary:	Movie player based on MPlayer and mplayer2
 Summary(pl.UTF-8):	Odtwarzacz filmów oparty na projektach MPlayer i mplayer2
 Name:		mpv
 Version:	0.35.1
-Release:	1
+Release:	2
 License:	GPL v2+
 Group:		Applications/Multimedia
 #Source0Download: http://github.com/mpv-player/mpv/releases
 Source0:	https://github.com/mpv-player/mpv/archive/v%{version}/%{name}-%{version}.tar.gz
 # Source0-md5:	68460d9eb1b42bc6dc13713d4303049b
 Source1:	%{name}.conf
+Patch0:		ytdl.patch
 URL:		http://mpv.io/
 BuildRequires:	EGL-devel
 BuildRequires:	Mesa-libgbm-devel >= 17.1.0
@@ -169,6 +170,7 @@ Dopełnianie parametrów mpv dla powłoki ZSH.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %waf configure \
diff --git a/ytdl.patch b/ytdl.patch
new file mode 100644
index 0000000..81792de
--- /dev/null
+++ b/ytdl.patch
@@ -0,0 +1,64 @@
+From 985655ebfd77ceddc44d76f8cc6dc446002f34ee Mon Sep 17 00:00:00 2001
+From: Christoph Heinrich <christoph.heinrich at 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.
+---
+ 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
+
+From a5961ad096b1361a12f836c8b170fc748f46962a Mon Sep 17 00:00:00 2001
+From: Christoph Heinrich <christoph.heinrich at 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.
+---
+ 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
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mpv.git/commitdiff/fc836dc858ed4010689fb13279cf862e8b48134f



More information about the pld-cvs-commit mailing list