]> git.pld-linux.org Git - packages/mpv.git/commitdiff
upstream fix to adjust to recent changes in yt-dlp; rel 2
authorJan Palus <atler@pld-linux.org>
Mon, 6 Mar 2023 11:19:39 +0000 (12:19 +0100)
committerJan Palus <atler@pld-linux.org>
Mon, 6 Mar 2023 11:19:39 +0000 (12:19 +0100)
mpv.spec
ytdl.patch [new file with mode: 0644]

index da2670b0603224170f0aea036b96e8b1719c4a1b..0f8dda578d84800a35d1785833fee25f6cb77b69 100644 (file)
--- 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 (file)
index 0000000..81792de
--- /dev/null
@@ -0,0 +1,64 @@
+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.
+---
+ 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@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
This page took 0.282773 seconds and 4 git commands to generate.