pub trait ElementExtManual: 'static {
Show 40 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) -> Vec<PadTemplate>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
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_message(&self, message: Message) -> Result<(), BoolError>;
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>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
fn sink_pads(&self) -> Vec<Pad>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
fn src_pads(&self) -> Vec<Pad>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
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<V: Into<GenericFormattedValue>, U: SpecificFormattedValue>(
        &self,
        src_val: V
    ) -> Option<U>;
fn query_convert_generic<V: Into<GenericFormattedValue>>(
        &self,
        src_val: V,
        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: Into<GenericFormattedValue>>(
        &self,
        rate: f64,
        flags: SeekFlags,
        start_type: SeekType,
        start: V,
        stop_type: SeekType,
        stop: V
    ) -> Result<(), BoolError>;
fn seek_simple<V: Into<GenericFormattedValue>>(
        &self,
        seek_flags: SeekFlags,
        seek_pos: V
    ) -> 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>;
}

Required methods

Performs a query on the given element.

For elements that don’t implement a query handler, this function forwards the query to a random srcpad or to the peer of a random linked sinkpad of this element.

Please note that some queries might need a running pipeline to work.

query

the Query.

Returns

true if the query could be performed.

MT safe.

Sends an event to an element. If the element doesn’t implement an event handler, the event will be pushed on a random linked sink pad for downstream events or a random linked source pad for upstream events.

This function takes ownership of the provided event so you should gst_event_ref() it if you want to reuse the event after this call.

MT safe.

event

the Event to send to the element.

Returns

true if the event was handled. Events that trigger a preroll (such as flushing seeks and steps) will emit GST_MESSAGE_ASYNC_DONE.

This is supported on crate feature v1_10 only.
This is supported on crate feature v1_10 only.
This is supported on crate feature v1_10 only.
This is supported on crate feature v1_10 only.
This is supported on crate feature v1_10 only.
This is supported on crate feature v1_10 only.

Implementors