Trait gstreamer::prelude::ElementExtManual
source · [−]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>ⓘ;
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>ⓘ;
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<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
fn element_class(&self) -> &Class<Element>
fn current_state(&self) -> State
fn pending_state(&self) -> State
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.
fn send_event(&self, event: impl Into<Event>) -> bool
fn send_event(&self, event: impl Into<Event>) -> bool
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
.
fn pad_template(&self, name: &str) -> Option<PadTemplate>
fn pad_template_list(&self) -> Vec<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 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
)
v1_10
only.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 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_deep_notify_watch(
&self,
property_name: Option<&str>,
include_value: bool
) -> NotifyWatchId
v1_10
only.fn add_property_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
v1_10
only.fn remove_property_notify_watch(&self, watch_id: NotifyWatchId)
fn remove_property_notify_watch(&self, watch_id: NotifyWatchId)
v1_10
only.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<F>(&self, func: F) where
F: FnOnce(&Self) + Send + 'static,
v1_10
only.v1_10
only.