pub struct Memory { /* private fields */ }
Implementations§
source§impl Memory
impl Memory
pub unsafe fn from_glib_ptr_borrow(ptr: &*mut GstMemory) -> &Self
pub unsafe fn from_glib_none(ptr: *const GstMemory) -> Self
pub unsafe fn from_glib_full(ptr: *const GstMemory) -> Self
pub unsafe fn from_glib_borrow(ptr: *const GstMemory) -> Borrowed<Self>
pub unsafe fn replace_ptr(&mut self, ptr: *mut GstMemory)
pub fn make_mut(&mut self) -> &mut MemoryRef
pub fn get_mut(&mut self) -> Option<&mut MemoryRef>
pub fn is_writable(&self) -> bool
pub fn upcast(self) -> MiniObject
source§impl Memory
impl Memory
pub fn with_size(size: usize) -> Self
pub fn with_size_and_params(size: usize, params: &AllocationParams) -> Self
sourcepub fn into_mapped_memory_readable(self) -> Result<MappedMemory<Readable>, Self>
pub fn into_mapped_memory_readable(self) -> Result<MappedMemory<Readable>, Self>
Fill info
with the pointer and sizes of the memory in self
that can be
accessed according to flags
.
This function can return false
for various reasons:
- the memory backed by
self
is not accessible with the givenflags
. - the memory was already mapped with a different mapping.
info
and its contents remain valid for as long as self
is valid and
until gst_memory_unmap()
is called.
For each into_mapped_memory_readable()
call, a corresponding gst_memory_unmap()
call
should be done.
§flags
mapping flags
§Returns
true
if the map operation was successful.
§info
pointer for info
pub fn into_mapped_memory_writable(self) -> Result<MappedMemory<Writable>, Self>
source§impl Memory
impl Memory
pub fn downcast_memory<M: MemoryType>(self) -> Result<M, Self>
Methods from Deref<Target = MemoryRef>§
pub fn as_ptr(&self) -> *const GstMemory
pub fn as_mut_ptr(&self) -> *mut GstMemory
pub fn copy(&self) -> Memory
pub fn upcast_ref(&self) -> &MiniObjectRef
pub fn allocator(&self) -> Option<&Allocator>
pub fn parent(&self) -> Option<&MemoryRef>
pub fn maxsize(&self) -> usize
pub fn align(&self) -> usize
pub fn offset(&self) -> usize
pub fn size(&self) -> usize
pub fn flags(&self) -> MemoryFlags
pub fn copy_range(&self, range: impl RangeBounds<usize>) -> Memory
pub fn copy_range_maxsize(&self, range: impl RangeBounds<usize>) -> Memory
pub fn is_span(&self, mem2: &MemoryRef) -> Option<usize>
pub fn is_type(&self, mem_type: &str) -> bool
pub fn map_readable(&self) -> Result<MemoryMap<'_, Readable>, BoolError>
pub fn dump(&self) -> Dump<'_>
pub fn dump_range(&self, range: impl RangeBounds<usize>) -> Dump<'_>
pub fn is_memory_type<M: MemoryType>(&self) -> bool
pub fn downcast_memory_ref<M: MemoryType>(&self) -> Option<&M::RefType>
Trait Implementations§
source§impl Extend<Memory> for BufferRef
impl Extend<Memory> for BufferRef
source§fn extend<T: IntoIterator<Item = Memory>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = Memory>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one
)Extends a collection with exactly one element.
source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
source§impl FromIterator<Memory> for Buffer
impl FromIterator<Memory> for Buffer
source§impl<'a> FromValue<'a> for &'a Memory
impl<'a> FromValue<'a> for &'a Memory
§type Checker = GenericValueTypeOrNoneChecker<&'a Memory>
type Checker = GenericValueTypeOrNoneChecker<&'a Memory>
Value type checker.
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Get the contained value from a
Value
. Read moresource§impl<'a> FromValue<'a> for Memory
impl<'a> FromValue<'a> for Memory
§type Checker = GenericValueTypeOrNoneChecker<Memory>
type Checker = GenericValueTypeOrNoneChecker<Memory>
Value type checker.
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Get the contained value from a
Value
. Read moresource§impl HasParamSpec for Memory
impl HasParamSpec for Memory
source§impl IntoGlibPtr<*mut GstMemory> for Memory
impl IntoGlibPtr<*mut GstMemory> for Memory
source§unsafe fn into_glib_ptr(self) -> *mut GstMemory
unsafe fn into_glib_ptr(self) -> *mut GstMemory
Transfer: full.
source§impl MemoryType for Memory
impl MemoryType for Memory
fn check_memory_type(_mem: &MemoryRef) -> bool
source§impl StaticType for Memory
impl StaticType for Memory
source§fn static_type() -> Type
fn static_type() -> Type
Returns the type identifier of
Self
.source§impl<'a> ToGlibContainerFromSlice<'a, *const *mut GstMemory> for Memory
impl<'a> ToGlibContainerFromSlice<'a, *const *mut GstMemory> for Memory
type Storage = (PhantomData<&'a [Memory]>, Option<Vec<*mut GstMemory>>)
fn to_glib_none_from_slice( t: &'a [Memory], ) -> (*const *mut GstMemory, Self::Storage)
fn to_glib_container_from_slice( _: &'a [Memory], ) -> (*const *mut GstMemory, Self::Storage)
fn to_glib_full_from_slice(_: &[Memory]) -> *const *mut GstMemory
source§impl<'a> ToGlibContainerFromSlice<'a, *mut *mut GstMemory> for Memory
impl<'a> ToGlibContainerFromSlice<'a, *mut *mut GstMemory> for Memory
type Storage = (PhantomData<&'a [Memory]>, Option<Vec<*mut GstMemory>>)
fn to_glib_none_from_slice( t: &'a [Memory], ) -> (*mut *mut GstMemory, Self::Storage)
fn to_glib_container_from_slice( t: &'a [Memory], ) -> (*mut *mut GstMemory, Self::Storage)
fn to_glib_full_from_slice(t: &[Memory]) -> *mut *mut GstMemory
source§impl ToValueOptional for Memory
impl ToValueOptional for Memory
impl Send for Memory
impl Sync for Memory
impl TransparentPtrType for Memory
impl ValueTypeOptional for Memory
Auto Trait Implementations§
impl Freeze for Memory
impl RefUnwindSafe for Memory
impl Unpin for Memory
impl UnwindSafe for Memory
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere
T: HasParamSpec,
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
Ensures that the type has been registered with the type system.
source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
Returns a
SendValue
clone of self
.