Skip to content

Commit 9aca4b2

Browse files
committed
Set video title using taginject element
1 parent 31f8130 commit 9aca4b2

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

Cargo.lock

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ eyre = "0.6.12"
1515
futures-util = "0.3.31"
1616
gettext-rs = { version = "0.7", features = ["gettext-system"] }
1717
gsettings-macro = "0.2.1"
18+
gst = { version = "0.23.2", package = "gstreamer", features = ["v1_24"] }
1819
gtk = { version = "0.9.2", package = "gtk4", features = ["gnome_46", "blueprint"] }
1920
gvdb-macros = "0.1.13"
2021
html2pango = "0.6.0"

src/player.rs

+15
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,21 @@ mod imp {
5555
));
5656

5757
let slf = self.obj();
58+
59+
let taginject = gst::ElementFactory::make("taginject")
60+
.property("scope", gst::TagScope::Global)
61+
.build()
62+
.expect("failed to create `taginject` element");
63+
self.video
64+
.player()
65+
.expect("should not be nullable")
66+
.set_video_filter(Some(&taginject));
67+
slf.connect_title_notify(glib::clone!(
68+
#[weak]
69+
taginject,
70+
move |slf| taginject.set_property("tags", format!("title={}", slf.title()))
71+
));
72+
5873
self.video.connect_toggle_fullscreen(glib::clone!(
5974
#[weak]
6075
slf,

0 commit comments

Comments
 (0)