Event: impl structure_mut getter

This commit is contained in:
François Laignel 2020-11-19 21:10:13 +01:00 committed by Sebastian Dröge
parent 3e8ecf4806
commit 6d30078c89

View file

@ -168,6 +168,14 @@ impl EventRef {
}
}
pub fn structure_mut(&mut self) -> &mut StructureRef {
unsafe {
StructureRef::from_glib_borrow_mut(gst_sys::gst_event_writable_structure(
self.as_mut_ptr(),
))
}
}
pub fn is_upstream(&self) -> bool {
self.get_type().is_upstream()
}
@ -2264,4 +2272,20 @@ mod tests {
_ => panic!("flush_stop_evt.view() is not an EventView::FlushStop(_)"),
}
}
#[test]
fn test_get_structure_mut() {
::init().unwrap();
let mut flush_start_evt = FlushStart::new();
{
let flush_start_evt = flush_start_evt.get_mut().unwrap();
let structure = flush_start_evt.structure_mut();
structure.set("test", &42u32);
}
let structure = flush_start_evt.get_structure().unwrap();
assert_eq!(structure.get_some("test"), Ok(42u32));
}
}