forked from mirrors/gstreamer-rs
gstreamer: meta: Add upcast_ref()
function to go from a specific to a generic meta
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1337>
This commit is contained in:
parent
db2b39d382
commit
6f52f3e4fa
1 changed files with 15 additions and 0 deletions
|
@ -220,6 +220,11 @@ impl<'a, T> MetaRef<'a, T> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn upcast_ref(&self) -> &MetaRef<'a, Meta> {
|
||||||
|
unsafe { &*(self as *const MetaRef<'a, T> as *const MetaRef<'a, Meta>) }
|
||||||
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn as_ptr(&self) -> *const T::GstType
|
pub fn as_ptr(&self) -> *const T::GstType
|
||||||
where
|
where
|
||||||
|
@ -296,6 +301,16 @@ impl<'a, T, U> MetaRefMut<'a, T, U> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn upcast_ref(&self) -> &MetaRef<'a, Meta> {
|
||||||
|
unsafe { &*(self as *const MetaRefMut<'a, T, U> as *const MetaRef<'a, Meta>) }
|
||||||
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn upcast_mut(&mut self) -> &MetaRefMut<'a, Meta, U> {
|
||||||
|
unsafe { &mut *(self as *mut MetaRefMut<'a, T, U> as *mut MetaRefMut<'a, Meta, U>) }
|
||||||
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn as_ptr(&self) -> *const T::GstType
|
pub fn as_ptr(&self) -> *const T::GstType
|
||||||
where
|
where
|
||||||
|
|
Loading…
Reference in a new issue