Struct gstreamer::structure::Structure [−][src]
pub struct Structure(_, _);
A Structure is a collection of key/value pairs. The keys are expressed
as GQuarks and the values can be of any GType.
In addition to the key/value pairs, a Structure also has a name. The name
starts with a letter and can be filled by letters, numbers and any of "/-_.:".
Structure is used by various GStreamer subsystems to store information
in a flexible and extensible way. A Structure does not have a refcount
because it usually is part of a higher level object such as Caps,
Message, Event, Query. It provides a means to enforce mutability
using the refcount of the parent with the Structure::set_parent_refcount
method.
A Structure can be created with Structure::new_empty or
Structure::new, which both take a name and an optional set of
key/value pairs along with the types of the values.
Field values can be changed with Structure::set_value or
Structure::set.
Field values can be retrieved with Structure::get_value or the more
convenient gst_structure_get_*() functions.
Fields can be removed with Structure::remove_field or
Structure::remove_fields.
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
not allowed. Strings may be None however.
Be aware that the current Caps / Structure serialization into string
has limited support for nested Caps / Structure fields. It can only
support one level of nesting. Using more levels will lead to unexpected
behavior when using serialization features, such as Caps::to_string or
gst_value_serialize and their counterparts.
Methods
impl Structure[src]
impl Structurepub fn builder(name: &str) -> Builder[src]
pub fn builder(name: &str) -> Builderpub fn new_empty(name: &str) -> Structure[src]
pub fn new_empty(name: &str) -> StructureCreates a new, empty Structure with the given name.
See Structure::set_name for constraints on the name parameter.
Free-function: gst_structure_free
name
name of new structure
Returns
a new, empty Structure
pub fn new(name: &str, values: &[(&str, &ToSendValue)]) -> Structure[src]
pub fn new(name: &str, values: &[(&str, &ToSendValue)]) -> StructureCreates a new Structure with the given name. Parses the
list of variable arguments and sets fields to the values listed.
Variable arguments should be passed as field name, field type,
and value. Last variable argument should be None.
Free-function: gst_structure_free
name
name of new structure
firstfield
name of first field to set
Returns
a new Structure
pub fn from_string(s: &str) -> Option<Structure>[src]
pub fn from_string(s: &str) -> Option<Structure>Creates a Structure from a string representation.
If end is not None, a pointer to the place inside the given string
where parsing ended will be returned.
Free-function: gst_structure_free
string
a string representation of a Structure.
end
pointer to store the end of the string in.
Returns
a new Structure or None
when the string could not be parsed. Free with
Structure::free after use.
pub unsafe fn into_ptr(self) -> *mut GstStructure[src]
pub unsafe fn into_ptr(self) -> *mut GstStructureMethods from Deref<Target = StructureRef>
pub unsafe fn as_ptr(&self) -> *const GstStructure[src]
pub unsafe fn as_ptr(&self) -> *const GstStructurepub unsafe fn as_mut_ptr(&self) -> *mut GstStructure[src]
pub unsafe fn as_mut_ptr(&self) -> *mut GstStructurepub fn to_string(&self) -> String[src]
pub fn to_string(&self) -> Stringpub fn get<'a, T: FromValueOptional<'a>>(&'a self, name: &str) -> Option<T>[src]
pub fn get<'a, T: FromValueOptional<'a>>(&'a self, name: &str) -> Option<T>pub fn get_value<'a>(&'a self, name: &str) -> Option<&SendValue>[src]
pub fn get_value<'a>(&'a self, name: &str) -> Option<&SendValue>pub fn set<T: ToSendValue>(&mut self, name: &str, value: &T)[src]
pub fn set<T: ToSendValue>(&mut self, name: &str, value: &T)pub fn set_value(&mut self, name: &str, value: SendValue)[src]
pub fn set_value(&mut self, name: &str, value: SendValue)pub fn get_name(&self) -> &str[src]
pub fn get_name(&self) -> &strpub fn set_name(&mut self, name: &str)[src]
pub fn set_name(&mut self, name: &str)pub fn has_field(&self, field: &str) -> bool[src]
pub fn has_field(&self, field: &str) -> boolpub fn has_field_with_type(&self, field: &str, type_: Type) -> bool[src]
pub fn has_field_with_type(&self, field: &str, type_: Type) -> boolpub fn remove_field(&mut self, field: &str)[src]
pub fn remove_field(&mut self, field: &str)pub fn remove_fields(&mut self, fields: &[&str])[src]
pub fn remove_fields(&mut self, fields: &[&str])pub fn remove_all_fields(&mut self)[src]
pub fn remove_all_fields(&mut self)ⓘImportant traits for FieldIterator<'a>pub fn fields(&self) -> FieldIterator[src]
pub fn fields(&self) -> FieldIteratorⓘImportant traits for Iter<'a>pub fn iter(&self) -> Iter[src]
pub fn iter(&self) -> Iterpub fn get_nth_field_name(&self, idx: u32) -> Option<&str>[src]
pub fn get_nth_field_name(&self, idx: u32) -> Option<&str>pub fn n_fields(&self) -> u32[src]
pub fn n_fields(&self) -> u32pub fn can_intersect(&self, other: &StructureRef) -> bool[src]
pub fn can_intersect(&self, other: &StructureRef) -> boolpub fn intersect(&self, other: &StructureRef) -> Option<Structure>[src]
pub fn intersect(&self, other: &StructureRef) -> Option<Structure>pub fn is_subset(&self, superset: &StructureRef) -> bool[src]
pub fn is_subset(&self, superset: &StructureRef) -> boolpub fn fixate(&mut self)[src]
pub fn fixate(&mut self)pub fn fixate_field(&mut self, name: &str) -> bool[src]
pub fn fixate_field(&mut self, name: &str) -> boolpub fn fixate_field_bool(&mut self, name: &str, target: bool) -> bool[src]
pub fn fixate_field_bool(&mut self, name: &str, target: bool) -> boolpub fn fixate_field_str(&mut self, name: &str, target: &str) -> bool[src]
pub fn fixate_field_str(&mut self, name: &str, target: &str) -> boolpub fn fixate_field_nearest_double(&mut self, name: &str, target: f64) -> bool[src]
pub fn fixate_field_nearest_double(&mut self, name: &str, target: f64) -> boolpub fn fixate_field_nearest_fraction<T: Into<Fraction>>(
&mut self,
name: &str,
target: T
) -> bool[src]
pub fn fixate_field_nearest_fraction<T: Into<Fraction>>(
&mut self,
name: &str,
target: T
) -> boolpub fn fixate_field_nearest_int(&mut self, name: &str, target: i32) -> bool[src]
pub fn fixate_field_nearest_int(&mut self, name: &str, target: i32) -> boolTrait Implementations
impl Send for Structure[src]
impl Send for Structureimpl Deref for Structure[src]
impl Deref for Structuretype Target = StructureRef
The resulting type after dereferencing.
fn deref(&self) -> &StructureRef[src]
fn deref(&self) -> &StructureRefDereferences the value.
impl DerefMut for Structure[src]
impl DerefMut for Structurefn deref_mut(&mut self) -> &mut StructureRef[src]
fn deref_mut(&mut self) -> &mut StructureRefMutably dereferences the value.
impl AsRef<StructureRef> for Structure[src]
impl AsRef<StructureRef> for Structurefn as_ref(&self) -> &StructureRef[src]
fn as_ref(&self) -> &StructureRefPerforms the conversion.
impl AsMut<StructureRef> for Structure[src]
impl AsMut<StructureRef> for Structurefn as_mut(&mut self) -> &mut StructureRef[src]
fn as_mut(&mut self) -> &mut StructureRefPerforms the conversion.
impl Clone for Structure[src]
impl Clone for Structurefn clone(&self) -> Self[src]
fn clone(&self) -> SelfReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Drop for Structure[src]
impl Drop for Structureimpl Debug for Structure[src]
impl Debug for Structurefn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Display for Structure[src]
impl Display for Structurefn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl PartialEq for Structure[src]
impl PartialEq for Structurefn eq(&self, other: &Structure) -> bool[src]
fn eq(&self, other: &Structure) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl PartialEq<StructureRef> for Structure[src]
impl PartialEq<StructureRef> for Structurefn eq(&self, other: &StructureRef) -> bool[src]
fn eq(&self, other: &StructureRef) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> boolThis method tests for !=.
impl Eq for Structure[src]
impl Eq for Structureimpl FromStr for Structure[src]
impl FromStr for Structuretype Err = ()
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, ()>[src]
fn from_str(s: &str) -> Result<Self, ()>Parses a string s to return a value of this type. Read more
impl Borrow<StructureRef> for Structure[src]
impl Borrow<StructureRef> for Structurefn borrow(&self) -> &StructureRef[src]
fn borrow(&self) -> &StructureRefImmutably borrows from an owned value. Read more
impl BorrowMut<StructureRef> for Structure[src]
impl BorrowMut<StructureRef> for Structurefn borrow_mut(&mut self) -> &mut StructureRef[src]
fn borrow_mut(&mut self) -> &mut StructureRefMutably borrows from an owned value. Read more
impl StaticType for Structure[src]
impl StaticType for Structurefn static_type() -> Type[src]
fn static_type() -> TypeReturns the type identifier of Self.
impl<'a> ToGlibPtr<'a, *const GstStructure> for Structure[src]
impl<'a> ToGlibPtr<'a, *const GstStructure> for Structuretype Storage = &'a Self
fn to_glib_none(&'a self) -> Stash<'a, *const GstStructure, Self>[src]
fn to_glib_none(&'a self) -> Stash<'a, *const GstStructure, Self>Transfer: none. Read more
fn to_glib_full(&self) -> *const GstStructure[src]
fn to_glib_full(&self) -> *const GstStructureTransfer: full. Read more
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>Transfer: container. Read more
impl<'a> ToGlibPtr<'a, *mut GstStructure> for Structure[src]
impl<'a> ToGlibPtr<'a, *mut GstStructure> for Structuretype Storage = &'a Self
fn to_glib_none(&'a self) -> Stash<'a, *mut GstStructure, Self>[src]
fn to_glib_none(&'a self) -> Stash<'a, *mut GstStructure, Self>Transfer: none. Read more
fn to_glib_full(&self) -> *mut GstStructure[src]
fn to_glib_full(&self) -> *mut GstStructureTransfer: full. Read more
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>Transfer: container. Read more
impl<'a> ToGlibPtrMut<'a, *mut GstStructure> for Structure[src]
impl<'a> ToGlibPtrMut<'a, *mut GstStructure> for Structuretype Storage = &'a mut Self
fn to_glib_none_mut(&'a mut self) -> StashMut<*mut GstStructure, Self>[src]
fn to_glib_none_mut(&'a mut self) -> StashMut<*mut GstStructure, Self>Transfer: none. Read more
impl FromGlibPtrNone<*const GstStructure> for Structure[src]
impl FromGlibPtrNone<*const GstStructure> for Structureunsafe fn from_glib_none(ptr: *const GstStructure) -> Self[src]
unsafe fn from_glib_none(ptr: *const GstStructure) -> Selfimpl FromGlibPtrNone<*mut GstStructure> for Structure[src]
impl FromGlibPtrNone<*mut GstStructure> for Structureunsafe fn from_glib_none(ptr: *mut GstStructure) -> Self[src]
unsafe fn from_glib_none(ptr: *mut GstStructure) -> Selfimpl FromGlibPtrFull<*const GstStructure> for Structure[src]
impl FromGlibPtrFull<*const GstStructure> for Structureunsafe fn from_glib_full(ptr: *const GstStructure) -> Self[src]
unsafe fn from_glib_full(ptr: *const GstStructure) -> Selfimpl FromGlibPtrFull<*mut GstStructure> for Structure[src]
impl FromGlibPtrFull<*mut GstStructure> for Structureunsafe fn from_glib_full(ptr: *mut GstStructure) -> Self[src]
unsafe fn from_glib_full(ptr: *mut GstStructure) -> Selfimpl<'a> FromValueOptional<'a> for Structure[src]
impl<'a> FromValueOptional<'a> for Structureunsafe fn from_value_optional(v: &'a Value) -> Option<Self>[src]
unsafe fn from_value_optional(v: &'a Value) -> Option<Self>impl SetValue for Structure[src]
impl SetValue for Structureimpl SetValueOptional for Structure[src]
impl SetValueOptional for Structureunsafe fn set_value_optional(v: &mut Value, s: Option<&Self>)[src]
unsafe fn set_value_optional(v: &mut Value, s: Option<&Self>)impl GlibPtrDefault for Structure[src]
impl GlibPtrDefault for Structuretype GlibType = *mut GstStructure
impl Serialize for Structure[src]
impl Serialize for Structurefn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>[src]
fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>Serialize this value into the given Serde serializer. Read more
impl<'de> Deserialize<'de> for Structure[src]
impl<'de> Deserialize<'de> for Structurefn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>[src]
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>Deserialize this value from the given Serde deserializer. Read more