fmp4mux: Correctly get ISO 639-2T language codes from the tags

The tags gives ISO 639-1 language codes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2193>
This commit is contained in:
Sebastian Dröge 2025-04-09 17:50:44 +03:00 committed by GStreamer Marge Bot
parent 800e4a579f
commit 269e469a7b
4 changed files with 76 additions and 49 deletions

122
Cargo.lock generated
View file

@ -1868,7 +1868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@ -2328,7 +2328,7 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]] [[package]]
name = "gio" name = "gio"
version = "0.21.0" version = "0.21.0"
source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#8042abb81c9bb26c423f3703ff3d59698caa584f" source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#d3dc994916566f86ef23f5e2e26512b6b02015d7"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -2344,19 +2344,19 @@ dependencies = [
[[package]] [[package]]
name = "gio-sys" name = "gio-sys"
version = "0.21.0" version = "0.21.0"
source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#8042abb81c9bb26c423f3703ff3d59698caa584f" source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#d3dc994916566f86ef23f5e2e26512b6b02015d7"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
"libc", "libc",
"system-deps 7.0.3", "system-deps 7.0.3",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
name = "glib" name = "glib"
version = "0.21.0" version = "0.21.0"
source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#8042abb81c9bb26c423f3703ff3d59698caa584f" source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#d3dc994916566f86ef23f5e2e26512b6b02015d7"
dependencies = [ dependencies = [
"bitflags 2.9.0", "bitflags 2.9.0",
"futures-channel", "futures-channel",
@ -2376,7 +2376,7 @@ dependencies = [
[[package]] [[package]]
name = "glib-macros" name = "glib-macros"
version = "0.21.0" version = "0.21.0"
source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#8042abb81c9bb26c423f3703ff3d59698caa584f" source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#d3dc994916566f86ef23f5e2e26512b6b02015d7"
dependencies = [ dependencies = [
"heck 0.5.0", "heck 0.5.0",
"proc-macro-crate", "proc-macro-crate",
@ -2388,7 +2388,7 @@ dependencies = [
[[package]] [[package]]
name = "glib-sys" name = "glib-sys"
version = "0.21.0" version = "0.21.0"
source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#8042abb81c9bb26c423f3703ff3d59698caa584f" source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#d3dc994916566f86ef23f5e2e26512b6b02015d7"
dependencies = [ dependencies = [
"libc", "libc",
"system-deps 7.0.3", "system-deps 7.0.3",
@ -2403,7 +2403,7 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
[[package]] [[package]]
name = "gobject-sys" name = "gobject-sys"
version = "0.21.0" version = "0.21.0"
source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#8042abb81c9bb26c423f3703ff3d59698caa584f" source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=main#d3dc994916566f86ef23f5e2e26512b6b02015d7"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"libc", "libc",
@ -2701,6 +2701,7 @@ dependencies = [
"gstreamer-base", "gstreamer-base",
"gstreamer-check", "gstreamer-check",
"gstreamer-pbutils", "gstreamer-pbutils",
"gstreamer-tag",
"gstreamer-video", "gstreamer-video",
"m3u8-rs", "m3u8-rs",
"quick-xml 0.37.4", "quick-xml 0.37.4",
@ -3448,7 +3449,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer" name = "gstreamer"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"futures-channel", "futures-channel",
@ -3474,7 +3475,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-allocators" name = "gstreamer-allocators"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3485,7 +3486,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-allocators-sys" name = "gstreamer-allocators-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3497,7 +3498,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-analytics" name = "gstreamer-analytics"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3508,7 +3509,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-analytics-sys" name = "gstreamer-analytics-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-sys", "gstreamer-sys",
@ -3519,7 +3520,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-app" name = "gstreamer-app"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@ -3533,7 +3534,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-app-sys" name = "gstreamer-app-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-base-sys", "gstreamer-base-sys",
@ -3545,7 +3546,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-audio" name = "gstreamer-audio"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"glib", "glib",
@ -3560,7 +3561,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-audio-sys" name = "gstreamer-audio-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3573,7 +3574,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-base" name = "gstreamer-base"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"atomic_refcell", "atomic_refcell",
"cfg-if", "cfg-if",
@ -3586,7 +3587,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-base-sys" name = "gstreamer-base-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3598,7 +3599,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-check" name = "gstreamer-check"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3608,7 +3609,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-check-sys" name = "gstreamer-check-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3620,7 +3621,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl" name = "gstreamer-gl"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3633,7 +3634,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-egl" name = "gstreamer-gl-egl"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3645,7 +3646,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-egl-sys" name = "gstreamer-gl-egl-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-gl-sys", "gstreamer-gl-sys",
@ -3656,7 +3657,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-sys" name = "gstreamer-gl-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3670,7 +3671,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-wayland" name = "gstreamer-gl-wayland"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3682,7 +3683,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-wayland-sys" name = "gstreamer-gl-wayland-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-gl-sys", "gstreamer-gl-sys",
@ -3693,7 +3694,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-x11" name = "gstreamer-gl-x11"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3705,7 +3706,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-gl-x11-sys" name = "gstreamer-gl-x11-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-gl-sys", "gstreamer-gl-sys",
@ -3716,7 +3717,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-net" name = "gstreamer-net"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"gio", "gio",
"glib", "glib",
@ -3727,7 +3728,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-net-sys" name = "gstreamer-net-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"gio-sys", "gio-sys",
"glib-sys", "glib-sys",
@ -3739,7 +3740,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-pbutils" name = "gstreamer-pbutils"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3753,7 +3754,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-pbutils-sys" name = "gstreamer-pbutils-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3767,7 +3768,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-rtp" name = "gstreamer-rtp"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3778,7 +3779,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-rtp-sys" name = "gstreamer-rtp-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-base-sys", "gstreamer-base-sys",
@ -3790,7 +3791,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-sdp" name = "gstreamer-sdp"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3800,7 +3801,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-sdp-sys" name = "gstreamer-sdp-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-sys", "gstreamer-sys",
@ -3811,7 +3812,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-sys" name = "gstreamer-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"glib-sys", "glib-sys",
@ -3820,10 +3821,33 @@ dependencies = [
"system-deps 7.0.3", "system-deps 7.0.3",
] ]
[[package]]
name = "gstreamer-tag"
version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [
"glib",
"gstreamer",
"gstreamer-tag-sys",
"libc",
]
[[package]]
name = "gstreamer-tag-sys"
version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [
"glib-sys",
"gobject-sys",
"gstreamer-sys",
"libc",
"system-deps 7.0.3",
]
[[package]] [[package]]
name = "gstreamer-utils" name = "gstreamer-utils"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"gstreamer", "gstreamer",
"gstreamer-app", "gstreamer-app",
@ -3834,7 +3858,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-video" name = "gstreamer-video"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"futures-channel", "futures-channel",
@ -3850,7 +3874,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-video-sys" name = "gstreamer-video-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gobject-sys", "gobject-sys",
@ -3863,7 +3887,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-webrtc" name = "gstreamer-webrtc"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib", "glib",
"gstreamer", "gstreamer",
@ -3875,7 +3899,7 @@ dependencies = [
[[package]] [[package]]
name = "gstreamer-webrtc-sys" name = "gstreamer-webrtc-sys"
version = "0.24.0" version = "0.24.0"
source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#f65d6f9c07bf8b9e1ea4c76fa7d3b2dc7c52196f" source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#a91f5bceb5b438ace42c6814dfa578cda8633687"
dependencies = [ dependencies = [
"glib-sys", "glib-sys",
"gstreamer-sdp-sys", "gstreamer-sdp-sys",
@ -6011,7 +6035,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4"
dependencies = [ dependencies = [
"bytes", "bytes",
"heck 0.5.0", "heck 0.4.1",
"itertools 0.12.1", "itertools 0.12.1",
"log", "log",
"multimap", "multimap",
@ -6186,7 +6210,7 @@ dependencies = [
"once_cell", "once_cell",
"socket2", "socket2",
"tracing", "tracing",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@ -6668,7 +6692,7 @@ dependencies = [
"errno", "errno",
"libc", "libc",
"linux-raw-sys 0.4.15", "linux-raw-sys 0.4.15",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@ -6681,7 +6705,7 @@ dependencies = [
"errno", "errno",
"libc", "libc",
"linux-raw-sys 0.9.3", "linux-raw-sys 0.9.3",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@ -6808,7 +6832,7 @@ dependencies = [
"security-framework 3.2.0", "security-framework 3.2.0",
"security-framework-sys", "security-framework-sys",
"webpki-root-certs", "webpki-root-certs",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@ -7565,7 +7589,7 @@ dependencies = [
"getrandom 0.3.2", "getrandom 0.3.2",
"once_cell", "once_cell",
"rustix 1.0.5", "rustix 1.0.5",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]

View file

@ -160,6 +160,7 @@ gst-pbutils = { package = "gstreamer-pbutils", git = "https://gitlab.freedesktop
gst-plugin-version-helper = { path="./version-helper" } gst-plugin-version-helper = { path="./version-helper" }
gst-rtp = { package = "gstreamer-rtp", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" } gst-rtp = { package = "gstreamer-rtp", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" }
gst-sdp = { package = "gstreamer-sdp", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" } gst-sdp = { package = "gstreamer-sdp", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" }
gst-tag = { package = "gstreamer-tag", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" }
gst-utils = { package = "gstreamer-utils", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" } gst-utils = { package = "gstreamer-utils", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" }
gst-video = { package = "gstreamer-video", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" } gst-video = { package = "gstreamer-video", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" }
gst-webrtc = { package = "gstreamer-webrtc", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" } gst-webrtc = { package = "gstreamer-webrtc", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", branch = "main" }

View file

@ -15,6 +15,7 @@ gst-base = { workspace = true, features = ["v1_18"] }
gst-audio = { workspace = true, features = ["v1_18"] } gst-audio = { workspace = true, features = ["v1_18"] }
gst-video = { workspace = true, features = ["v1_18"] } gst-video = { workspace = true, features = ["v1_18"] }
gst-pbutils = { workspace = true, features = ["v1_20"] } gst-pbutils = { workspace = true, features = ["v1_20"] }
gst-tag = { workspace = true, features = ["v1_20"] }
bitstream-io = "2.3" bitstream-io = "2.3"
[lib] [lib]

View file

@ -387,6 +387,7 @@ impl Stream {
} }
fn parse_language_code(lang: &str) -> Option<[u8; 3]> { fn parse_language_code(lang: &str) -> Option<[u8; 3]> {
let lang = gst_tag::language_codes::language_code_iso_639_2t(lang)?;
if lang.len() == 3 && lang.chars().all(|c| c.is_ascii_lowercase()) { if lang.len() == 3 && lang.chars().all(|c| c.is_ascii_lowercase()) {
let mut language_code: [u8; 3] = [0; 3]; let mut language_code: [u8; 3] = [0; 3];
for (out, c) in Iterator::zip(language_code.iter_mut(), lang.chars()) { for (out, c) in Iterator::zip(language_code.iter_mut(), lang.chars()) {