Skip to main content

Media

Struct Media 

Source
pub struct Media {
    pub media: String,
    pub port: u16,
    pub num_ports: Option<u16>,
    pub proto: String,
    pub fmt: String,
    pub media_title: Option<String>,
    pub connections: Vec<Connection>,
    pub bandwidths: Vec<Bandwidth>,
    pub key: Option<Key>,
    pub attributes: Vec<Attribute>,
}
Expand description

Media description.

See RFC 8866 Section 5.14 for more details.

Fields§

§media: String

Media type, e.g. “audio”, “video”, “text”, “application” or “message”.

§port: u16

Transport port to which the media is sent.

§num_ports: Option<u16>

Number of ports starting at port used for the media.

§proto: String

Transport protocol.

§fmt: String

Media format description.

§media_title: Option<String>

Media title.

§connections: Vec<Connection>

Connection data for the media.

§bandwidths: Vec<Bandwidth>

Bandwidth information for the media.

§key: Option<Key>

Encryption key for the media.

§attributes: Vec<Attribute>

Attributes of the media.

Implementations§

Source§

impl Media

Source

pub fn new( media: MediaType, port: u16, proto: TransportProto, fmt: impl ToString, ) -> Self

Source

pub fn builder( media: MediaType, port: u16, proto: TransportProto, fmt: impl ToString, ) -> Media

Source

pub fn set_num_ports(&mut self, num_ports: u16)

Source

pub fn set_media_title(&mut self, media_title: impl ToString)

Source

pub fn add_connection(&mut self, connection: impl Into<Connection>)

Source

pub fn add_connections( &mut self, connections: impl IntoIterator<Item = impl Into<Connection>>, )

Source

pub fn add_bandwidth(&mut self, bandwidth: Bandwidth)

Source

pub fn add_bandwidths( &mut self, bandwidths: impl IntoIterator<Item = Bandwidth>, )

Source

pub fn set_encryption_key(&mut self, key: impl Into<Key>)

Source

pub fn add_attribute(&mut self, attribute: impl Into<Attribute>)

Source

pub fn add_attribute_from_str(&mut self, attribute: impl ToString)

Source

pub fn add_attribute_with_value( &mut self, attribute: impl ToString, value: impl ToString, )

Source

pub fn add_attributes( &mut self, attributes: impl IntoIterator<Item = impl Into<Attribute>>, )

Source

pub fn add_attributes_from_strs( &mut self, attributes: impl IntoIterator<Item = impl ToString>, )

Source

pub fn has_attribute(&self, name: &str) -> bool

Checks if the given attribute exists.

Source

pub fn get_first_attribute_value<'a>( &'a self, name: &'a str, ) -> Option<Option<&'a str>>

Gets the first value of the given attribute.

The outter Option reflects the availability of the attribute. The inner Option reflects the optional value of the attribute.

Source

pub fn get_attribute_values<'a>( &'a self, name: &'a str, ) -> impl Iterator<Item = Option<&'a str>>

Gets an iterator over all attribute values of the given name.

Source

pub fn try_parse_mediatype(&self) -> Result<MediaType, ParseEnumError>

Tries to parse the media String of self as MediaType

Source

pub fn set_mediatype(&mut self, media: MediaType)

Sets the media String of self from the specified MediaType

Source

pub fn parse_transport_proto(&self) -> TransportProto

Parses the proto String of self as TransportProto

Source

pub fn set_transport_proto(&mut self, proto: TransportProto)

Sets the proto String of self from the specified TransportProto

Source

pub fn get_first_attribute_typed<T: TypedAttribute>( &self, ) -> Option<Result<T, AttributeError>>

Gets the first value of the given typed attribute.

Source

pub fn attributes_typed<'a, T: TypedAttribute>( &'a self, ) -> impl Iterator<Item = Result<T, AttributeError>> + 'a

Gets an iterator over all attribute values of the given name.

Each item represents the attribute parsing Result.

The iterator does not terminate upon an error item; continues with the next attribute

Trait Implementations§

Source§

impl Clone for Media

Source§

fn clone(&self) -> Media

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Media

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Media

Source§

impl PartialEq for Media

Source§

fn eq(&self, other: &Media) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Media

Auto Trait Implementations§

§

impl Freeze for Media

§

impl RefUnwindSafe for Media

§

impl Send for Media

§

impl Sync for Media

§

impl Unpin for Media

§

impl UnsafeUnpin for Media

§

impl UnwindSafe for Media

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.