diff --git a/Cargo.lock b/Cargo.lock index 6757d9a463b..83d69e12ebc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1986,19 +1986,6 @@ dependencies = [ "gl_generator 0.13.1", ] -[[package]] -name = "glib" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d70d737019da0473a7cd6d9240571cf58c6897dcb10edf32b90774f4ba237c1b" -dependencies = [ - "bitflags", - "glib-sys", - "gobject-sys", - "lazy_static", - "libc", -] - [[package]] name = "glib" version = "0.9.3" @@ -2136,25 +2123,6 @@ dependencies = [ "toml", ] -[[package]] -name = "gstreamer" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa91e470b0cd4b05611f7d0e89caf76e39752156440877f04c23ad34ffc9761c" -dependencies = [ - "bitflags", - "cfg-if", - "glib 0.8.0", - "glib-sys", - "gobject-sys", - "gstreamer-sys", - "lazy_static", - "libc", - "muldiv", - "num-rational", - "paste", -] - [[package]] name = "gstreamer" version = "0.15.3" @@ -2166,7 +2134,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", "gstreamer-sys", @@ -2186,12 +2154,12 @@ dependencies = [ "bitflags", "futures-core", "futures-sink", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-app-sys", - "gstreamer-base 0.15.3", + "gstreamer-base", "gstreamer-sys", "lazy_static", "libc", @@ -2218,12 +2186,12 @@ checksum = "6176dbe5c1c28e8739ffe14f5667b6a8a086e5960ce83fe84fad99bee98f2879" dependencies = [ "array-init", "bitflags", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-audio-sys", - "gstreamer-base 0.15.3", + "gstreamer-base", "gstreamer-base-sys", "gstreamer-sys", "libc", @@ -2243,22 +2211,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "gstreamer-base" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9e72a0456c51e9cf3a21c96539bed9be3f38c85ea49eee6d87a4d61db0cc2b0" -dependencies = [ - "bitflags", - "glib 0.8.0", - "glib-sys", - "gobject-sys", - "gstreamer 0.14.5", - "gstreamer-base-sys", - "gstreamer-sys", - "libc", -] - [[package]] name = "gstreamer-base" version = "0.15.3" @@ -2266,10 +2218,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cc044450693b54c09a4563257566e6161a0055ffa9f908aa5788282984581ca" dependencies = [ "bitflags", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-base-sys", "gstreamer-sys", "libc", @@ -2288,27 +2240,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "gstreamer-gl" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a7e54a021369cc93be69d2aaaab75e8916517bbc6de9d19f6584135df740580" -dependencies = [ - "bitflags", - "byteorder", - "glib 0.8.0", - "glib-sys", - "gobject-sys", - "gstreamer 0.14.5", - "gstreamer-base 0.14.0", - "gstreamer-gl-sys", - "gstreamer-sys", - "gstreamer-video 0.14.0", - "gstreamer-video-sys", - "lazy_static", - "libc", -] - [[package]] name = "gstreamer-gl" version = "0.15.0" @@ -2317,14 +2248,14 @@ checksum = "7af26f75082a835541e09a347df10bf433533302e454487e532011e3c96d1d52" dependencies = [ "bitflags", "byteorder", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", - "gstreamer-base 0.15.3", + "gstreamer", + "gstreamer-base", "gstreamer-gl-sys", "gstreamer-sys", - "gstreamer-video 0.15.3", + "gstreamer-video", "gstreamer-video-sys", "lazy_static", "libc", @@ -2352,13 +2283,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11840a08baf63d5e2b4c94cc25c023cbfccb39f02e920c75b0550b975898be3b" dependencies = [ "bitflags", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-player-sys", "gstreamer-sys", - "gstreamer-video 0.15.3", + "gstreamer-video", "libc", ] @@ -2382,10 +2313,10 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "674df58b85cb077a357c581c29796fbeb5aa36e8362269807a11f938e5c7b973" dependencies = [ - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-sdp-sys", "gstreamer-sys", ] @@ -2415,25 +2346,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "gstreamer-video" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b3f0b864eced7c270c0e083a433128ddf65cda2409a5f400e1c7af3cb59858f" -dependencies = [ - "bitflags", - "glib 0.8.0", - "glib-sys", - "gobject-sys", - "gstreamer 0.14.5", - "gstreamer-base 0.14.0", - "gstreamer-base-sys", - "gstreamer-sys", - "gstreamer-video-sys", - "lazy_static", - "libc", -] - [[package]] name = "gstreamer-video" version = "0.15.3" @@ -2443,11 +2355,11 @@ dependencies = [ "bitflags", "futures-channel", "futures-util", - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", - "gstreamer-base 0.15.3", + "gstreamer", + "gstreamer-base", "gstreamer-base-sys", "gstreamer-sys", "gstreamer-video-sys", @@ -2475,10 +2387,10 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64235af90676896b01f3cbe50808fefaf498057ca288ce4a31a89de81464e04" dependencies = [ - "glib 0.9.3", + "glib", "glib-sys", "gobject-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-sdp", "gstreamer-sys", "gstreamer-webrtc-sys", @@ -3245,7 +3157,7 @@ dependencies = [ "gaol", "gfx", "gleam 0.6.18", - "gstreamer 0.14.5", + "gstreamer", "ipc-channel", "keyboard-types", "layout_thread_2013", @@ -5137,14 +5049,14 @@ dependencies = [ "crossbeam-channel", "euclid", "gleam 0.6.18", - "glib 0.8.0", + "glib", "gst-plugin-version-helper", - "gstreamer 0.14.5", - "gstreamer-base 0.14.0", - "gstreamer-gl 0.14.0", + "gstreamer", + "gstreamer-base", + "gstreamer-gl", "gstreamer-gl-sys", "gstreamer-sys", - "gstreamer-video 0.14.0", + "gstreamer-video", "lazy_static", "libservo", "log", @@ -5208,16 +5120,16 @@ source = "git+https://github.com/servo/media#03c7420794b7d1bb80e50e03eaf3ae6e55f dependencies = [ "boxfnonce", "byte-slice-cast", - "glib 0.9.3", + "glib", "glib-sys", - "gstreamer 0.15.3", + "gstreamer", "gstreamer-app", "gstreamer-audio", - "gstreamer-base 0.15.3", + "gstreamer-base", "gstreamer-player", "gstreamer-sdp", "gstreamer-sys", - "gstreamer-video 0.15.3", + "gstreamer-video", "gstreamer-webrtc", "ipc-channel", "lazy_static", @@ -5242,8 +5154,8 @@ name = "servo-media-gstreamer-render" version = "0.1.0" source = "git+https://github.com/servo/media#03c7420794b7d1bb80e50e03eaf3ae6e55f446ac" dependencies = [ - "gstreamer 0.15.3", - "gstreamer-video 0.15.3", + "gstreamer", + "gstreamer-video", "servo-media-player", ] @@ -5252,10 +5164,10 @@ name = "servo-media-gstreamer-render-android" version = "0.1.0" source = "git+https://github.com/servo/media#03c7420794b7d1bb80e50e03eaf3ae6e55f446ac" dependencies = [ - "glib 0.9.3", - "gstreamer 0.15.3", - "gstreamer-gl 0.15.0", - "gstreamer-video 0.15.3", + "glib", + "gstreamer", + "gstreamer-gl", + "gstreamer-video", "servo-media-gstreamer-render", "servo-media-player", ] @@ -5265,10 +5177,10 @@ name = "servo-media-gstreamer-render-unix" version = "0.1.0" source = "git+https://github.com/servo/media#03c7420794b7d1bb80e50e03eaf3ae6e55f446ac" dependencies = [ - "glib 0.9.3", - "gstreamer 0.15.3", - "gstreamer-gl 0.15.0", - "gstreamer-video 0.15.3", + "glib", + "gstreamer", + "gstreamer-gl", + "gstreamer-video", "servo-media-gstreamer-render", "servo-media-player", ] @@ -5541,7 +5453,7 @@ dependencies = [ "android_injected_glue", "android_logger", "cc", - "gstreamer 0.14.5", + "gstreamer", "jni", "libc", "log", diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index 6f196183ace..dfe9569c635 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -90,7 +90,7 @@ webvr_traits = {path = "../webvr_traits"} webxr-api = {git = "https://github.com/servo/webxr"} webxr = {git = "https://github.com/servo/webxr"} surfman = { version = "0.1", features = ["sm-osmesa"] } -gstreamer = { version = "0.14.5", optional = true } +gstreamer = { version = "0.15", optional = true } [target.'cfg(all(not(target_os = "windows"), not(target_os = "ios"), not(target_os="android"), not(target_arch="arm"), not(target_arch="aarch64")))'.dependencies] gaol = "0.2.1" diff --git a/ports/gstplugin/Cargo.toml b/ports/gstplugin/Cargo.toml index 3d7683205ef..5718f383f33 100644 --- a/ports/gstplugin/Cargo.toml +++ b/ports/gstplugin/Cargo.toml @@ -18,13 +18,13 @@ path = "lib.rs" crossbeam-channel = "0.4" euclid = "0.20" gleam = "0.6" -glib = { version = "0.8", features = ["subclassing"] } -gstreamer = { version = "0.14", features = ["subclassing"] } -gstreamer-base = { version = "0.14", features = ["subclassing"] } -gstreamer-gl = { version = "0.14" } +glib = "0.9" +gstreamer = "0.15" +gstreamer-base = "0.15" +gstreamer-gl = "0.15" gstreamer-gl-sys = { version = "0.8", features = ["wayland"] } -gstreamer-sys = { version = "0.8" } -gstreamer-video = { version = "0.14", features = ["subclassing"] } +gstreamer-sys = "0.8" +gstreamer-video = "0.15" log = "0.4" lazy_static = "1.4" libservo = {path = "../../components/servo"} diff --git a/ports/gstplugin/servowebsrc.rs b/ports/gstplugin/servowebsrc.rs index fc2320ad0ba..d09b18fbf9b 100644 --- a/ports/gstplugin/servowebsrc.rs +++ b/ports/gstplugin/servowebsrc.rs @@ -12,7 +12,6 @@ use euclid::Rect; use euclid::Scale; use euclid::Size2D; -use glib::glib_bool_error; use glib::glib_object_impl; use glib::glib_object_subclass; use glib::object::Cast; @@ -110,6 +109,7 @@ use std::collections::HashMap; use std::convert::TryFrom; use std::ffi::c_void; use std::rc::Rc; +use std::str::FromStr; use std::sync::atomic::AtomicU64; use std::sync::atomic::Ordering; use std::sync::Mutex; @@ -519,7 +519,7 @@ impl ObjectSubclass for ServoWebSrc { env!("CARGO_PKG_AUTHORS"), ); - let src_caps = Caps::from_string(CAPS).unwrap(); + let src_caps = Caps::from_str(CAPS).unwrap(); let src_pad_template = PadTemplate::new("src", PadDirection::Src, PadPresence::Always, &src_caps).unwrap(); klass.add_pad_template(src_pad_template); @@ -546,7 +546,7 @@ impl ObjectImpl for ServoWebSrc { Property("url", ..) => { let mut guard = self.url.lock().expect("Failed to lock mutex"); let url = value.get().expect("Failed to get url value"); - *guard = Some(url); + *guard = url; }, _ => unimplemented!(), } @@ -572,14 +572,14 @@ impl BaseSrcImpl for ServoWebSrc { // Save the video info for later use let info = VideoInfo::from_caps(outcaps) - .ok_or_else(|| gst_loggable_error!(CATEGORY, "Failed to get video info"))?; + .map_err(|_| gst_loggable_error!(CATEGORY, "Failed to get video info"))?; *self.info.lock().unwrap() = Some(info); // Save the framerate if it is set let framerate = outcaps .get_structure(0) - .and_then(|cap| cap.get::("framerate")); - if let Some(framerate) = framerate { + .and_then(|cap| cap.get::("framerate").ok()); + if let Some(Some(framerate)) = framerate { let frame_duration_micros = 1_000_000 * *framerate.denom() as u64 / *framerate.numer() as u64; debug!("Setting frame duration to {}micros", frame_duration_micros); diff --git a/ports/libsimpleservo/jniapi/Cargo.toml b/ports/libsimpleservo/jniapi/Cargo.toml index 953b1c1a4eb..c0f42bcec8d 100644 --- a/ports/libsimpleservo/jniapi/Cargo.toml +++ b/ports/libsimpleservo/jniapi/Cargo.toml @@ -16,7 +16,7 @@ bench = false [dependencies] android_injected_glue = "0.2" android_logger = "0.7" -gstreamer = "0.14.5" +gstreamer = "0.15" jni = "0.10.2" libc = "0.2" log = "0.4"