Backport upstream patch to fix yt-dlp hook

This restores compatibility with the latest yt-dlp release. I'm blocking
the yt-dlp update on this fix [1].

[1] https://bodhi.fedoraproject.org/updates/FEDORA-2023-4e472e2c77#comment-2934829
f38
Maxwell G 2 years ago
parent df25d7a3b6
commit 53c8dc10d4
No known key found for this signature in database
GPG Key ID: F79E4E25E8C661F8

@ -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

@ -1,11 +1,12 @@
Name: mpv Name: mpv
Version: 0.35.1 Version: 0.35.1
Release: 1%{?dist} Release: 2%{?dist}
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
Summary: Movie player playing most video formats and DVDs Summary: Movie player playing most video formats and DVDs
URL: https://%{name}.io/ URL: https://%{name}.io/
Source0: https://github.com/%{name}-player/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/%{name}-player/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch: https://github.com/mpv-player/mpv/pull/11398.patch#/fix-yt-dlp-hook.patch
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: gcc BuildRequires: gcc
@ -175,6 +176,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc
%changelog %changelog
* Tue Mar 07 2023 Maxwell G <maxwell@gtmx.me> - 0.35.1-2
- Backport upstream patch to fix yt-dlp hook
* Mon Jan 30 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.35.1-1 * Mon Jan 30 2023 Vitaly Zaitsev <vitaly@easycoding.org> - 0.35.1-1
- Updated to version 0.35.1. - Updated to version 0.35.1.

Loading…
Cancel
Save