Update gstreamer in gstplugin port.

This commit is contained in:
Josh Matthews 2020-02-19 17:46:43 -05:00
parent b13a37db28
commit fee7cc2a36
5 changed files with 58 additions and 146 deletions

176
Cargo.lock generated
View file

@ -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",

View file

@ -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"

View file

@ -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"}

View file

@ -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::<Fraction>("framerate"));
if let Some(framerate) = framerate {
.and_then(|cap| cap.get::<Fraction>("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);

View file

@ -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"