summaryrefslogtreecommitdiff
path: root/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch')
-rw-r--r--media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch174
1 files changed, 0 insertions, 174 deletions
diff --git a/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch b/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch
deleted file mode 100644
index 3f554c4ef335..000000000000
--- a/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From e26cfcfe002c87a39eac63bbaa5ad0d4d69c95a4 Mon Sep 17 00:00:00 2001
-From: Quentin Gliosca <quentin.gliosca@gmail.com>
-Date: Tue, 12 May 2020 16:48:31 +0200
-Subject: [PATCH 1/3] Fix the order of languages in audio track selection
-
-Fix #129
----
- gaupol/player.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/gaupol/player.py b/gaupol/player.py
-index 836abea2..c266e0b9 100644
---- a/gaupol/player.py
-+++ b/gaupol/player.py
-@@ -118,7 +118,8 @@ def _ensure_default_segment(self):
-
- def get_audio_languages(self):
- """Return a sequence of audio languages or ``None``."""
-- return tuple(x.get_language() for x in self._info.get_audio_streams())
-+ return tuple(self._playbin.emit("get-audio-tags", i).get_string("language-code")[1]
-+ for i in range(self._playbin.props.n_audio))
-
- def get_duration(self, mode=None):
- """Return duration of video stream or ``None``."""
-@@ -356,6 +357,10 @@ def set_uri(self, uri):
- dialog.add_button(_("_OK"), Gtk.ResponseType.OK)
- dialog.set_default_response(Gtk.ResponseType.OK)
- gaupol.util.flash_dialog(dialog)
-+ else:
-+ # Make stream tags available from _playbin
-+ self._playbin.set_state(Gst.State.PAUSED)
-+ self._playbin.get_state(Gst.CLOCK_TIME_NONE)
-
- def stop(self):
- """Stop."""
-
-From 9ace4fefe5d246c5588538a715a185c796e218ef Mon Sep 17 00:00:00 2001
-From: Quentin Gliosca <quentin.gliosca@gmail.com>
-Date: Tue, 12 May 2020 17:27:35 +0200
-Subject: [PATCH 2/3] Improve names of audio tracks in menu
-
----
- gaupol/agents/video.py | 18 ++++++++++++++----
- gaupol/player.py | 20 ++++++++++++++++----
- 2 files changed, 30 insertions(+), 8 deletions(-)
-
-diff --git a/gaupol/agents/video.py b/gaupol/agents/video.py
-index d434255a..0f6b935c 100644
---- a/gaupol/agents/video.py
-+++ b/gaupol/agents/video.py
-@@ -27,7 +27,11 @@
- from gi.repository import Gtk
-
- with aeidon.util.silent(Exception):
-+ from gi import require_version
-+ require_version('GstTag', '1.0')
- from gi.repository import Gst
-+ from gi.repository import GstTag
-+
-
-
- class VideoAgent(aeidon.Delegate):
-@@ -348,11 +352,17 @@ def _update_languages_menu(self):
- """Update the audio language selection menu."""
- menu = self.get_menubar_section("audio-languages-placeholder")
- menu.remove_all()
-- languages = self.player.get_audio_languages()
-- for i, language in enumerate(languages):
-- language = language or _("Undefined")
-+ tracks = self.player.get_audio_infos()
-+ for i, track in enumerate(tracks):
-+ title = track.title or "{} {}".format(_("Track"), i + 1)
-+ lang = None
-+ if track.language_code is not None:
-+ lang = GstTag.tag_get_language_name(track.language_code)
-+ if lang is None:
-+ lang = track.language_name
-+ name = title if lang is None else "{} - [{}]".format(title, lang.title())
- action = "win.set-audio-language::{:d}".format(i)
-- menu.append(language, action)
-+ menu.append(name, action)
- if i == self.player.audio_track:
- action = self.get_action("set-audio-language")
- action.set_state(str(i))
-diff --git a/gaupol/player.py b/gaupol/player.py
-index c266e0b9..ee1e96dc 100644
---- a/gaupol/player.py
-+++ b/gaupol/player.py
-@@ -21,6 +21,7 @@
- import gaupol
- import time
-
-+from collections import namedtuple
- from aeidon.i18n import _
- from gi.repository import GLib
- from gi.repository import Gtk
-@@ -56,6 +57,8 @@ class VideoPlayer(aeidon.Observable):
-
- signals = ("state-changed",)
-
-+ TrackInfo = namedtuple("TrackInfo", ["title", "language_code", "language_name"])
-+
- def __init__(self):
- """Initialize a :class:`VideoPlayer` instance."""
- aeidon.Observable.__init__(self)
-@@ -116,10 +119,19 @@ def _ensure_default_segment(self):
- self._playbin.seek_simple(Gst.Format.TIME, seek_flags, pos)
- self._in_default_segment = True
-
-- def get_audio_languages(self):
-- """Return a sequence of audio languages or ``None``."""
-- return tuple(self._playbin.emit("get-audio-tags", i).get_string("language-code")[1]
-- for i in range(self._playbin.props.n_audio))
-+ def get_audio_infos(self):
-+ """Return a sequence of audio track infos."""
-+ return tuple(
-+ self._make_track_infos(self._playbin.emit("get-audio-tags", i))
-+ for i in range(self._playbin.props.n_audio)
-+ )
-+
-+ def _make_track_infos(self, tags):
-+ return self.TrackInfo(
-+ tags.get_string("title")[1],
-+ tags.get_string("language-code")[1],
-+ tags.get_string("language-name")[1]
-+ )
-
- def get_duration(self, mode=None):
- """Return duration of video stream or ``None``."""
-
-From f50b4e54dc9aa84fc1b3eb403d680b8a0be77dc3 Mon Sep 17 00:00:00 2001
-From: Quentin Gliosca <quentin.gliosca@gmail.com>
-Date: Wed, 13 May 2020 07:29:27 +0200
-Subject: [PATCH 3/3] Cosmetic changes
-
----
- gaupol/__init__.py | 1 +
- gaupol/agents/video.py | 4 +---
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/gaupol/__init__.py b/gaupol/__init__.py
-index f7a9663d..fc02287b 100644
---- a/gaupol/__init__.py
-+++ b/gaupol/__init__.py
-@@ -44,6 +44,7 @@
- "Gst": "1.0",
- "GstPbutils": "1.0",
- "GstVideo": "1.0",
-+ "GstTag": "1.0",
- }.items():
- with aeidon.util.silent(Exception):
- gi.require_version(module, version)
-diff --git a/gaupol/agents/video.py b/gaupol/agents/video.py
-index 0f6b935c..3c9e3113 100644
---- a/gaupol/agents/video.py
-+++ b/gaupol/agents/video.py
-@@ -27,8 +27,6 @@
- from gi.repository import Gtk
-
- with aeidon.util.silent(Exception):
-- from gi import require_version
-- require_version('GstTag', '1.0')
- from gi.repository import Gst
- from gi.repository import GstTag
-
-@@ -354,7 +352,7 @@ def _update_languages_menu(self):
- menu.remove_all()
- tracks = self.player.get_audio_infos()
- for i, track in enumerate(tracks):
-- title = track.title or "{} {}".format(_("Track"), i + 1)
-+ title = track.title or _("Track {:d}").format(i + 1)
- lang = None
- if track.language_code is not None:
- lang = GstTag.tag_get_language_name(track.language_code)