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 Structure
pub fn builder(name: &str) -> Builder
[src]
pub fn builder(name: &str) -> Builder
pub fn new_empty(name: &str) -> Structure
[src]
pub fn new_empty(name: &str) -> Structure
Creates 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)]) -> Structure
Creates 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 GstStructure
Methods from Deref<Target = StructureRef>
pub unsafe fn as_ptr(&self) -> *const GstStructure
[src]
pub unsafe fn as_ptr(&self) -> *const GstStructure
pub unsafe fn as_mut_ptr(&self) -> *mut GstStructure
[src]
pub unsafe fn as_mut_ptr(&self) -> *mut GstStructure
pub fn to_string(&self) -> String
[src]
pub fn to_string(&self) -> String
pub 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) -> &str
pub 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) -> bool
pub fn has_field_with_type(&self, field: &str, type_: Type) -> bool
[src]
pub fn has_field_with_type(&self, field: &str, type_: Type) -> bool
pub 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) -> Iter
pub 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) -> u32
pub fn can_intersect(&self, other: &StructureRef) -> bool
[src]
pub fn can_intersect(&self, other: &StructureRef) -> bool
pub 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) -> bool
pub 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) -> bool
pub fn fixate_field_bool(&mut self, name: &str, target: bool) -> bool
[src]
pub fn fixate_field_bool(&mut self, name: &str, target: bool) -> bool
pub fn fixate_field_str(&mut self, name: &str, target: &str) -> bool
[src]
pub fn fixate_field_str(&mut self, name: &str, target: &str) -> bool
pub 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) -> bool
pub 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
) -> bool
pub 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) -> bool
Trait Implementations
impl Send for Structure
[src]
impl Send for Structure
impl Deref for Structure
[src]
impl Deref for Structure
type Target = StructureRef
The resulting type after dereferencing.
fn deref(&self) -> &StructureRef
[src]
fn deref(&self) -> &StructureRef
Dereferences the value.
impl DerefMut for Structure
[src]
impl DerefMut for Structure
fn deref_mut(&mut self) -> &mut StructureRef
[src]
fn deref_mut(&mut self) -> &mut StructureRef
Mutably dereferences the value.
impl AsRef<StructureRef> for Structure
[src]
impl AsRef<StructureRef> for Structure
fn as_ref(&self) -> &StructureRef
[src]
fn as_ref(&self) -> &StructureRef
Performs the conversion.
impl AsMut<StructureRef> for Structure
[src]
impl AsMut<StructureRef> for Structure
fn as_mut(&mut self) -> &mut StructureRef
[src]
fn as_mut(&mut self) -> &mut StructureRef
Performs the conversion.
impl Clone for Structure
[src]
impl Clone for Structure
fn clone(&self) -> Self
[src]
fn clone(&self) -> Self
Returns 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 Structure
impl Debug for Structure
[src]
impl Debug for Structure
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Display for Structure
[src]
impl Display for Structure
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl PartialEq for Structure
[src]
impl PartialEq for Structure
fn eq(&self, other: &Structure) -> bool
[src]
fn eq(&self, other: &Structure) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl PartialEq<StructureRef> for Structure
[src]
impl PartialEq<StructureRef> for Structure
fn eq(&self, other: &StructureRef) -> bool
[src]
fn eq(&self, other: &StructureRef) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
This method tests for !=
.
impl Eq for Structure
[src]
impl Eq for Structure
impl FromStr for Structure
[src]
impl FromStr for Structure
type 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 Structure
fn borrow(&self) -> &StructureRef
[src]
fn borrow(&self) -> &StructureRef
Immutably borrows from an owned value. Read more
impl BorrowMut<StructureRef> for Structure
[src]
impl BorrowMut<StructureRef> for Structure
fn borrow_mut(&mut self) -> &mut StructureRef
[src]
fn borrow_mut(&mut self) -> &mut StructureRef
Mutably borrows from an owned value. Read more
impl StaticType for Structure
[src]
impl StaticType for Structure
fn static_type() -> Type
[src]
fn static_type() -> Type
Returns the type identifier of Self
.
impl<'a> ToGlibPtr<'a, *const GstStructure> for Structure
[src]
impl<'a> ToGlibPtr<'a, *const GstStructure> for Structure
type 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 GstStructure
Transfer: 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 Structure
type 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 GstStructure
Transfer: 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 Structure
type 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 Structure
unsafe fn from_glib_none(ptr: *const GstStructure) -> Self
[src]
unsafe fn from_glib_none(ptr: *const GstStructure) -> Self
impl FromGlibPtrNone<*mut GstStructure> for Structure
[src]
impl FromGlibPtrNone<*mut GstStructure> for Structure
unsafe fn from_glib_none(ptr: *mut GstStructure) -> Self
[src]
unsafe fn from_glib_none(ptr: *mut GstStructure) -> Self
impl FromGlibPtrFull<*const GstStructure> for Structure
[src]
impl FromGlibPtrFull<*const GstStructure> for Structure
unsafe fn from_glib_full(ptr: *const GstStructure) -> Self
[src]
unsafe fn from_glib_full(ptr: *const GstStructure) -> Self
impl FromGlibPtrFull<*mut GstStructure> for Structure
[src]
impl FromGlibPtrFull<*mut GstStructure> for Structure
unsafe fn from_glib_full(ptr: *mut GstStructure) -> Self
[src]
unsafe fn from_glib_full(ptr: *mut GstStructure) -> Self
impl<'a> FromValueOptional<'a> for Structure
[src]
impl<'a> FromValueOptional<'a> for Structure
unsafe 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 Structure
impl SetValueOptional for Structure
[src]
impl SetValueOptional for Structure
unsafe 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 Structure
type GlibType = *mut GstStructure
impl Serialize for Structure
[src]
impl Serialize for Structure
fn 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 Structure
fn 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