forked from mirrors/gstreamer-rs
examples: Fix compilation after GValue API changes
This commit is contained in:
parent
22d8828015
commit
39ef834cfe
5 changed files with 12 additions and 9 deletions
|
@ -271,6 +271,7 @@ fn example_main() -> Result<(), Error> {
|
|||
// application's execution.
|
||||
Some(details) if details.get_name() == "error-details" => details
|
||||
.get::<&ErrorValue>("error")
|
||||
.unwrap()
|
||||
.and_then(|v| v.0.lock().unwrap().take())
|
||||
.map(Result::Err)
|
||||
.expect("error-details message without actual error"),
|
||||
|
|
|
@ -299,6 +299,7 @@ fn example_main() -> Result<(), Error> {
|
|||
match err.get_details() {
|
||||
Some(details) if details.get_name() == "error-details" => details
|
||||
.get::<&ErrorValue>("error")
|
||||
.unwrap()
|
||||
.cloned()
|
||||
.and_then(|v| v.0.lock().unwrap().take())
|
||||
.map(Result::Err)
|
||||
|
|
|
@ -659,7 +659,8 @@ fn main_loop(mut app: App) -> Result<glutin::WindowedContext<glutin::PossiblyCur
|
|||
.glupload
|
||||
.get_property("context")
|
||||
.unwrap()
|
||||
.get::<gst_gl::GLContext>();
|
||||
.get::<gst_gl::GLContext>()
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
let sync_meta = buffer.get_meta::<gst_gl::GLSyncMeta>().unwrap();
|
||||
|
|
|
@ -45,7 +45,7 @@ fn create_ui(app: >k::Application) {
|
|||
// The gtkglsink creates the gtk widget for us. This is accessible through a property.
|
||||
// So we get it and use it later to add it to our gui.
|
||||
let widget = gtkglsink.get_property("widget").unwrap();
|
||||
(glsinkbin, widget.get::<gtk::Widget>().unwrap())
|
||||
(glsinkbin, widget.get::<gtk::Widget>().unwrap().unwrap())
|
||||
} else {
|
||||
// Unfortunately, using the OpenGL widget didn't work out, so we will have to render
|
||||
// our frames manually, using the CPU. An example why this may fail is, when
|
||||
|
@ -54,7 +54,7 @@ fn create_ui(app: >k::Application) {
|
|||
// The gtksink creates the gtk widget for us. This is accessible through a property.
|
||||
// So we get it and use it later to add it to our gui.
|
||||
let widget = sink.get_property("widget").unwrap();
|
||||
(sink, widget.get::<gtk::Widget>().unwrap())
|
||||
(sink, widget.get::<gtk::Widget>().unwrap().unwrap())
|
||||
};
|
||||
|
||||
pipeline.add_many(&[&src, &sink]).unwrap();
|
||||
|
|
|
@ -148,12 +148,12 @@ fn create_pipeline() -> Result<gst::Pipeline, Error> {
|
|||
let drawer = drawer.lock().unwrap();
|
||||
|
||||
// Get the signal's arguments
|
||||
let _overlay = args[0].get::<gst::Element>().unwrap();
|
||||
let _overlay = args[0].get::<gst::Element>().unwrap().unwrap();
|
||||
// This is the cairo context. This is the root of all of cairo's
|
||||
// drawing functionality.
|
||||
let cr = args[1].get::<cairo::Context>().unwrap();
|
||||
let timestamp = args[2].get::<gst::ClockTime>().unwrap();
|
||||
let _duration = args[3].get::<gst::ClockTime>().unwrap();
|
||||
let cr = args[1].get::<cairo::Context>().unwrap().unwrap();
|
||||
let timestamp = args[2].get_some::<gst::ClockTime>().unwrap();
|
||||
let _duration = args[3].get_some::<gst::ClockTime>().unwrap();
|
||||
|
||||
let info = drawer.info.as_ref().unwrap();
|
||||
let layout = drawer.layout.borrow();
|
||||
|
@ -223,8 +223,8 @@ fn create_pipeline() -> Result<gst::Pipeline, Error> {
|
|||
// stream that dynamically changes resolution when enough bandwith is available.
|
||||
overlay
|
||||
.connect("caps-changed", false, move |args| {
|
||||
let _overlay = args[0].get::<gst::Element>().unwrap();
|
||||
let caps = args[1].get::<gst::Caps>().unwrap();
|
||||
let _overlay = args[0].get::<gst::Element>().unwrap().unwrap();
|
||||
let caps = args[1].get::<gst::Caps>().unwrap().unwrap();
|
||||
|
||||
let drawer = &drawer_clone;
|
||||
let mut drawer = drawer.lock().unwrap();
|
||||
|
|
Loading…
Reference in a new issue