28 lines
743 B
Rust
28 lines
743 B
Rust
use crate::priv_prelude::*;
|
|
|
|
wrap_gst!(Bus);
|
|
|
|
impl Bus {
|
|
pub fn iter_timed(
|
|
&self,
|
|
timeout: impl Into<Option<core::time::Duration>>,
|
|
) -> gstreamer::bus::Iter<'_> {
|
|
let clocktime = match timeout.into() {
|
|
Some(dur) => gstreamer::ClockTime::try_from(dur).ok(),
|
|
None => gstreamer::ClockTime::NONE,
|
|
};
|
|
self.inner.iter_timed(clocktime)
|
|
}
|
|
|
|
pub fn stream(&self) -> gstreamer::bus::BusStream {
|
|
self.inner.stream()
|
|
}
|
|
|
|
pub fn filtered_stream<'a>(
|
|
&self,
|
|
msg_types: &'a [gstreamer::MessageType],
|
|
) -> impl futures::stream::FusedStream<Item = gstreamer::Message> + Unpin + Send + 'a {
|
|
self.inner.stream_filtered(msg_types)
|
|
}
|
|
}
|