pub struct ExternalStreamReader {
pub status: StepStatus,
/* private fields */
}
Expand description
Represents logic for a basic workflow step that exposes streams to an RTMP endpoint so that an external system can read the video stream. This exposes a read-only interface for media, which means the external system is not expected to push media back into the same workflow as the same identifiable stream. An example of this is providing media for ffmpeg to generate HLS feeds for.
Since this is a read-only interface all media passed into it will flow as-is to the next workflow step.
Fields§
§status: StepStatus
Implementations§
Source§impl ExternalStreamReader
impl ExternalStreamReader
pub fn new( watcher_rtmp_app_name: String, rtmp_server: UnboundedSender<RtmpEndpointRequest>, external_handler_generator: Box<dyn ExternalStreamHandlerGenerator + Sync + Send>, ) -> (Self, FutureList)
pub fn handle_resolved_future( &mut self, notification: Box<dyn StepFutureResult>, outputs: &mut StepOutputs, )
pub fn handle_media( &mut self, media: MediaNotification, outputs: &mut StepOutputs, )
pub fn prepare_stream(&mut self, stream_id: StreamId, outputs: &mut StepOutputs)
pub fn stop_all_streams(&mut self)
Auto Trait Implementations§
impl Freeze for ExternalStreamReader
impl !RefUnwindSafe for ExternalStreamReader
impl Send for ExternalStreamReader
impl Sync for ExternalStreamReader
impl Unpin for ExternalStreamReader
impl !UnwindSafe for ExternalStreamReader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.