diff --git a/Cargo.lock b/Cargo.lock index 8fa178c..505055e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -95,7 +95,7 @@ checksum = "b869e97a87170f96762f9f178eae8c461147e722ba21dd8814105bf5716bf14a" dependencies = [ "bitflags 1.3.2", "cairo-sys-rs", - "glib 0.15.2", + "glib", "libc", "thiserror", ] @@ -106,9 +106,9 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" dependencies = [ - "glib-sys 0.15.1", + "glib-sys", "libc", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -117,15 +117,6 @@ version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" -[[package]] -name = "cfg-expr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e" -dependencies = [ - "smallvec", -] - [[package]] name = "cfg-expr" version = "0.9.0" @@ -160,12 +151,6 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - [[package]] name = "error-chain" version = "0.10.0" @@ -207,6 +192,12 @@ dependencies = [ "rustc_version", ] +[[package]] +name = "fragile" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da1b8f89c5b5a5b7e59405cfcf0bb9588e5ed19f0b57a4cd542bbba3f164a6d" + [[package]] name = "futures-channel" version = "0.3.17" @@ -268,7 +259,7 @@ dependencies = [ "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", - "glib 0.15.2", + "glib", "libc", ] @@ -279,10 +270,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413424d9818621fa3cfc8a3a915cdb89a7c3c507d56761b4ec83a9a98e587171" dependencies = [ "gio-sys", - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-sys", + "gobject-sys", "libc", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -296,7 +287,7 @@ dependencies = [ "gdk-pixbuf", "gdk4-sys", "gio", - "glib 0.15.2", + "glib", "libc", "pango", ] @@ -310,12 +301,12 @@ dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gio-sys", - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-sys", + "gobject-sys", "libc", "pango-sys", "pkg-config", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -355,7 +346,7 @@ dependencies = [ "futures-core", "futures-io", "gio-sys", - "glib 0.15.2", + "glib", "libc", "once_cell", "thiserror", @@ -367,32 +358,13 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04b57719ccaacf2a0d9c79f151be629f3a3ef3991658ee2af0bb66287e4ea86c" dependencies = [ - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-sys", + "gobject-sys", "libc", - "system-deps 6.0.0", + "system-deps", "winapi", ] -[[package]] -name = "glib" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c515f1e62bf151ef6635f528d05b02c11506de986e43b34a5c920ef0b3796a4" -dependencies = [ - "bitflags 1.3.2", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "glib-macros 0.14.1", - "glib-sys 0.14.0", - "gobject-sys 0.14.0", - "libc", - "once_cell", - "smallvec", -] - [[package]] name = "glib" version = "0.15.2" @@ -404,30 +376,15 @@ dependencies = [ "futures-core", "futures-executor", "futures-task", - "glib-macros 0.15.1", - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-macros", + "glib-sys", + "gobject-sys", "libc", "once_cell", "smallvec", "thiserror", ] -[[package]] -name = "glib-macros" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518" -dependencies = [ - "anyhow", - "heck 0.3.3", - "proc-macro-crate", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "glib-macros" version = "0.15.1" @@ -443,16 +400,6 @@ dependencies = [ "syn", ] -[[package]] -name = "glib-sys" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae" -dependencies = [ - "libc", - "system-deps 3.2.0", -] - [[package]] name = "glib-sys" version = "0.15.1" @@ -460,18 +407,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c668102c6e15e0a7f6b99b59f602c2e806967bb86414f617b77e19b1de5b3fac" dependencies = [ "libc", - "system-deps 6.0.0", -] - -[[package]] -name = "gobject-sys" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5" -dependencies = [ - "glib-sys 0.14.0", - "libc", - "system-deps 3.2.0", + "system-deps", ] [[package]] @@ -480,9 +416,9 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6edb1f0b3e4c08e2a0a490d1082ba9e902cdff8ff07091e85c6caec60d17e2ab" dependencies = [ - "glib-sys 0.15.1", + "glib-sys", "libc", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -491,7 +427,7 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c54f9fbbeefdb62c99f892dfca35f83991e2cb5b46a8dc2a715e58612f85570" dependencies = [ - "glib 0.15.2", + "glib", "graphene-sys", "libc", ] @@ -502,10 +438,10 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03f311acb023cf7af5537f35de028e03706136eead7f25a31e8fd26f5011e0b3" dependencies = [ - "glib-sys 0.15.1", + "glib-sys", "libc", "pkg-config", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -517,7 +453,7 @@ dependencies = [ "bitflags 1.3.2", "cairo-rs", "gdk4", - "glib 0.15.2", + "glib", "graphene-rs", "gsk4-sys", "libc", @@ -532,12 +468,12 @@ checksum = "e31d21d7ce02ba261bb24c50c4ab238a10b41a2c97c32afffae29471b7cca69b" dependencies = [ "cairo-sys-rs", "gdk4-sys", - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-sys", + "gobject-sys", "graphene-sys", "libc", "pango-sys", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -559,22 +495,24 @@ dependencies = [ [[package]] name = "gstreamer" -version = "0.17.4" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6a255f142048ba2c4a4dce39106db1965abe355d23f4b5335edea43a553faa4" +checksum = "8050dd478c50f1796595275eb8f21b2e1c2604f7797fcd2cc513c7af710bb4ac" dependencies = [ "bitflags 1.3.2", "cfg-if", + "fragile", "futures-channel", "futures-core", "futures-util", - "glib 0.14.8", + "glib", "gstreamer-sys", "libc", "muldiv", "num-integer", "num-rational", "once_cell", + "option-operations", "paste", "pretty-hex", "thiserror", @@ -582,14 +520,14 @@ dependencies = [ [[package]] name = "gstreamer-sys" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a81704feeb3e8599913bdd1e738455c2991a01ff4a1780cb62200993e454cc3e" +checksum = "e3517a65d3c2e6f8905b456eba5d53bda158d664863aef960b44f651cb7d33e2" dependencies = [ - "glib-sys 0.14.0", - "gobject-sys 0.14.0", + "glib-sys", + "gobject-sys", "libc", - "system-deps 3.2.0", + "system-deps", ] [[package]] @@ -605,7 +543,7 @@ dependencies = [ "gdk-pixbuf", "gdk4", "gio", - "glib 0.15.2", + "glib", "graphene-rs", "gsk4", "gtk4-macros", @@ -639,13 +577,13 @@ dependencies = [ "gdk-pixbuf-sys", "gdk4-sys", "gio-sys", - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-sys", + "gobject-sys", "graphene-sys", "gsk4-sys", "libc", "pango-sys", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -674,15 +612,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "itertools" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "0.4.8" @@ -864,6 +793,15 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +[[package]] +name = "option-operations" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95d6113415f41b268f1195907427519769e40ee6f28cbb053795098a2c16f447" +dependencies = [ + "paste", +] + [[package]] name = "pango" version = "0.15.2" @@ -871,7 +809,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79211eff430c29cc38c69e0ab54bc78fa1568121ca9737707eee7f92a8417a94" dependencies = [ "bitflags 1.3.2", - "glib 0.15.2", + "glib", "libc", "once_cell", "pango-sys", @@ -883,10 +821,10 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7022c2fb88cd2d9d55e1a708a8c53a3ae8678234c4a54bf623400aeb7f31fac2" dependencies = [ - "glib-sys 0.15.1", - "gobject-sys 0.15.1", + "glib-sys", + "gobject-sys", "libc", - "system-deps 6.0.0", + "system-deps", ] [[package]] @@ -1165,24 +1103,6 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" -[[package]] -name = "strum" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" - -[[package]] -name = "strum_macros" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" -dependencies = [ - "heck 0.3.3", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "syn" version = "1.0.80" @@ -1206,35 +1126,17 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "system-deps" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6" -dependencies = [ - "anyhow", - "cfg-expr 0.8.1", - "heck 0.3.3", - "itertools", - "pkg-config", - "strum", - "strum_macros", - "thiserror", - "toml 0.5.8", - "version-compare 0.0.11", -] - [[package]] name = "system-deps" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b1487aaddaacbc5d60a2a507ba1617c5ca66c57dd0dd07d0c5efd5b693841d4" dependencies = [ - "cfg-expr 0.9.0", + "cfg-expr", "heck 0.3.3", "pkg-config", "toml 0.5.8", - "version-compare 0.1.0", + "version-compare", ] [[package]] @@ -1360,12 +1262,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "version-compare" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" - [[package]] name = "version-compare" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 5668108..485f793 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ edition = "2018" gtk = { version = "0.4.1", package = "gtk4" } anyhow = "1" gettext-rs = {version = "0.7", features = ["gettext-system"]} -gstreamer = "0.17" +gstreamer = "0.18.1" log = "0.4.11" once_cell = "1.7.2" xml-rs = "0.8.4" diff --git a/src/gps/element.rs b/src/gps/element.rs index 90f13a9..ff1abc5 100644 --- a/src/gps/element.rs +++ b/src/gps/element.rs @@ -47,10 +47,10 @@ impl ElementInfo { pub fn elements_list() -> anyhow::Result> { let registry = gst::Registry::get(); let mut elements: Vec = Vec::new(); - let plugins = gst::Registry::plugin_list(®istry); + let plugins = gst::Registry::plugins(®istry); for plugin in plugins { let plugin_name = gst::Plugin::plugin_name(&plugin); - let features = gst::Registry::feature_list_by_plugin(®istry, &plugin_name); + let features = gst::Registry::features_by_plugin(®istry, &plugin_name); for feature in features { let mut element = ElementInfo::default(); if let Ok(factory) = feature.downcast::() { @@ -90,7 +90,7 @@ impl ElementInfo { desc.push_str(""); desc.push_str(&key); desc.push_str(":"); - desc.push_str(>k::glib::markup_escape_text(&val).to_string()); + desc.push_str(>k::glib::markup_escape_text(val).to_string()); desc.push('\n'); } } @@ -168,13 +168,12 @@ impl ElementInfo { let element = factory.create(None)?; let params = element.class().list_properties(); - for param in params { + for param in params.iter() { GPS_INFO!("Property_name {}", param.name()); if (param.flags() & glib::ParamFlags::READABLE) == glib::ParamFlags::READABLE || (param.flags() & glib::ParamFlags::READWRITE) == glib::ParamFlags::READWRITE { - let value = ElementInfo::value_as_str(&element.property(param.name()).unwrap()) - .unwrap_or_else(|| String::from("")); + let value = element.property::(param.name()); properties_list.insert(String::from(param.name()), value); } else if let Some(value) = ElementInfo::value_as_str(param.default_value()) { properties_list.insert(String::from(param.name()), value);