pub trait ElementExtManual: 'static {
Show 44 methods
// Required methods
fn element_class(&self) -> &Class<Element>;
fn current_state(&self) -> State;
fn pending_state(&self) -> State;
fn query(&self, query: &mut QueryRef) -> bool;
fn send_event(&self, event: impl Into<Event>) -> bool;
fn metadata<'a>(&self, key: &str) -> Option<&'a str>;
fn pad_template(&self, name: &str) -> Option<PadTemplate>;
fn pad_template_list(&self) -> List<PadTemplate>;
fn message_full<T: MessageErrorDomain>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32
);
fn set_element_flags(&self, flags: ElementFlags);
fn unset_element_flags(&self, flags: ElementFlags);
fn element_flags(&self) -> ElementFlags;
fn message_full_with_details<T: MessageErrorDomain>(
&self,
type_: ElementMessageType,
code: T,
message: Option<&str>,
debug: Option<&str>,
file: &str,
function: &str,
line: u32,
structure: Structure
);
fn post_error_message(&self, msg: ErrorMessage);
fn iterate_pads(&self) -> Iterator<Pad>;
fn iterate_sink_pads(&self) -> Iterator<Pad>;
fn iterate_src_pads(&self) -> Iterator<Pad>;
fn pads(&self) -> Vec<Pad> ⓘ;
fn sink_pads(&self) -> Vec<Pad> ⓘ;
fn src_pads(&self) -> Vec<Pad> ⓘ;
fn num_pads(&self) -> u16;
fn num_sink_pads(&self) -> u16;
fn num_src_pads(&self) -> u16;
fn add_property_deep_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId;
fn add_property_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId;
fn remove_property_notify_watch(&self, watch_id: NotifyWatchId);
fn query_convert<U: SpecificFormattedValueFullRange>(
&self,
src_val: impl FormattedValue
) -> Option<U>;
fn query_convert_generic(
&self,
src_val: impl FormattedValue,
dest_format: Format
) -> Option<GenericFormattedValue>;
fn query_duration<T: SpecificFormattedValueIntrinsic>(&self) -> Option<T>;
fn query_duration_generic(
&self,
format: Format
) -> Option<GenericFormattedValue>;
fn query_position<T: SpecificFormattedValueIntrinsic>(&self) -> Option<T>;
fn query_position_generic(
&self,
format: Format
) -> Option<GenericFormattedValue>;
fn seek<V: FormattedValue>(
&self,
rate: f64,
flags: SeekFlags,
start_type: SeekType,
start: V,
stop_type: SeekType,
stop: impl CompatibleFormattedValue<V>
) -> Result<(), BoolError>;
fn seek_simple(
&self,
seek_flags: SeekFlags,
seek_pos: impl FormattedValue
) -> Result<(), BoolError>;
fn call_async<F>(&self, func: F)
where F: FnOnce(&Self) + Send + 'static;
fn call_async_future<F, T>(
&self,
func: F
) -> Pin<Box<dyn Future<Output = T> + Send + 'static>>
where F: FnOnce(&Self) -> T + Send + 'static,
T: Send + 'static;
fn current_running_time(&self) -> Option<ClockTime>;
fn current_clock_time(&self) -> Option<ClockTime>;
fn request_pad_simple(&self, name: &str) -> Option<Pad>;
fn link(&self, dest: &impl IsA<Element>) -> Result<(), BoolError>;
fn link_filtered(
&self,
dest: &impl IsA<Element>,
filter: &Caps
) -> Result<(), BoolError>;
fn link_pads(
&self,
srcpadname: Option<&str>,
dest: &impl IsA<Element>,
destpadname: Option<&str>
) -> Result<(), BoolError>;
fn link_pads_filtered(
&self,
srcpadname: Option<&str>,
dest: &impl IsA<Element>,
destpadname: Option<&str>,
filter: &Caps
) -> Result<(), BoolError>;
fn link_pads_full(
&self,
srcpadname: Option<&str>,
dest: &impl IsA<Element>,
destpadname: Option<&str>,
flags: PadLinkCheck
) -> Result<(), BoolError>;
}