diff --git a/gstreamer/src/query.rs b/gstreamer/src/query.rs index dd54b7ced..64d82d10d 100644 --- a/gstreamer/src/query.rs +++ b/gstreamer/src/query.rs @@ -120,10 +120,14 @@ impl GstRc { } impl QueryRef { - pub fn get_structure(&self) -> &StructureRef { + pub fn get_structure(&self) -> Option<&StructureRef> { unsafe { let structure = ffi::gst_query_get_structure(self.as_mut_ptr()); - StructureRef::from_glib_borrow(structure) + if structure.is_null() { + None + } else { + Some(StructureRef::from_glib_borrow(structure)) + } } }