pub trait ElementExt: 'static {
Show 40 methods
// Required methods
fn abort_state(&self);
fn add_pad(&self, pad: &impl IsA<Pad>) -> Result<(), BoolError>;
fn change_state(
&self,
transition: StateChange
) -> Result<StateChangeSuccess, StateChangeError>;
fn continue_state(
&self,
ret: impl Into<StateChangeReturn>
) -> Result<StateChangeSuccess, StateChangeError>;
fn create_all_pads(&self);
fn foreach_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool;
fn foreach_sink_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool;
fn foreach_src_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool;
fn base_time(&self) -> Option<ClockTime>;
fn bus(&self) -> Option<Bus>;
fn clock(&self) -> Option<Clock>;
fn compatible_pad(
&self,
pad: &impl IsA<Pad>,
caps: Option<&Caps>
) -> Option<Pad>;
fn compatible_pad_template(
&self,
compattempl: &PadTemplate
) -> Option<PadTemplate>;
fn context(&self, context_type: &str) -> Option<Context>;
fn contexts(&self) -> Vec<Context> ⓘ;
fn factory(&self) -> Option<ElementFactory>;
fn start_time(&self) -> Option<ClockTime>;
fn state(
&self,
timeout: impl Into<Option<ClockTime>>
) -> (Result<StateChangeSuccess, StateChangeError>, State, State);
fn static_pad(&self, name: &str) -> Option<Pad>;
fn is_locked_state(&self) -> bool;
fn lost_state(&self);
fn no_more_pads(&self);
fn post_message(&self, message: Message) -> Result<(), BoolError>;
fn provide_clock(&self) -> Option<Clock>;
fn release_request_pad(&self, pad: &impl IsA<Pad>);
fn remove_pad(&self, pad: &impl IsA<Pad>) -> Result<(), BoolError>;
fn request_pad(
&self,
templ: &PadTemplate,
name: Option<&str>,
caps: Option<&Caps>
) -> Option<Pad>;
fn set_base_time(&self, time: ClockTime);
fn set_bus(&self, bus: Option<&Bus>);
fn set_clock(&self, clock: Option<&impl IsA<Clock>>) -> Result<(), BoolError>;
fn set_context(&self, context: &Context);
fn set_locked_state(&self, locked_state: bool) -> bool;
fn set_start_time(&self, time: impl Into<Option<ClockTime>>);
fn set_state(
&self,
state: State
) -> Result<StateChangeSuccess, StateChangeError>;
fn sync_state_with_parent(&self) -> Result<(), BoolError>;
fn unlink(&self, dest: &impl IsA<Element>);
fn unlink_pads(
&self,
srcpadname: &str,
dest: &impl IsA<Element>,
destpadname: &str
);
fn connect_no_more_pads<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_pad_added<F: Fn(&Self, &Pad) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_pad_removed<F: Fn(&Self, &Pad) + Send + Sync + 'static>(
&self,
f: F
) -> SignalHandlerId;
}