pub enum RtmpEndpointRequest {
ListenForPublishers {
port: u16,
rtmp_app: String,
rtmp_stream_key: StreamKeyRegistration,
message_channel: UnboundedSender<RtmpEndpointPublisherMessage>,
stream_id: Option<StreamId>,
ip_restrictions: IpRestriction,
use_tls: bool,
requires_registrant_approval: bool,
},
ListenForWatchers {
port: u16,
rtmp_app: String,
rtmp_stream_key: StreamKeyRegistration,
notification_channel: UnboundedSender<RtmpEndpointWatcherNotification>,
media_channel: UnboundedReceiver<RtmpEndpointMediaMessage>,
ip_restrictions: IpRestriction,
use_tls: bool,
requires_registrant_approval: bool,
},
RemoveRegistration {
registration_type: RegistrationType,
port: u16,
rtmp_app: String,
rtmp_stream_key: StreamKeyRegistration,
},
}
Expand description
Operations the rtmp server endpoint is being requested to make
Variants
ListenForPublishers
Fields
port: u16
Port to listen for RTMP publisher connections on
rtmp_app: String
Name of the RTMP application publishers will connect to
rtmp_stream_key: StreamKeyRegistration
What stream key publishers should be using
message_channel: UnboundedSender<RtmpEndpointPublisherMessage>
Channel that the rtmp server endpoint should respond with
stream_id: Option<StreamId>
If specified, new media streams being published from this registration will be given the stream id specified. If no id is given than one will be generated. This is useful to correlate media streams that may have been pulled, processed externally, then brought back in for later workflow steps (e.g. an external transcoding workflow).
ip_restrictions: IpRestriction
What IP restriction rules should be in place for this registration
use_tls: bool
If true, this port should be on a TLS socket (i.e. RTMPS)
requires_registrant_approval: bool
If true, then publishers will not be automatically accepted even if they connect to the correct app/stream key combination and pass ip restrictions. Instead the registrant should be asked for final verification if the publisher should be allowed or not.
Requests the RTMP server to allow publishers on the given port, app, and stream key combinations.
ListenForWatchers
Fields
port: u16
Port to listen on
rtmp_app: String
Name of the RTMP application playback clients will connect to
rtmp_stream_key: StreamKeyRegistration
Stream keys clients can receive video on
notification_channel: UnboundedSender<RtmpEndpointWatcherNotification>
The channel that the rtmp server endpoint will send notifications to
media_channel: UnboundedReceiver<RtmpEndpointMediaMessage>
The channel that the registrant will send updated media data to the rtmp endpoint on
ip_restrictions: IpRestriction
What IP restriction rules should be in place for this registration
use_tls: bool
If true, this port should be on a TLS socket (i.e. RTMPS)
requires_registrant_approval: bool
If true, then watchers will not be automatically accepted even if they connect to the correct app/stream key combination and pass ip restrictions. Instead the registrant should be asked for final verification if the watcher should be allowed or not.
Requests the RTMP server to allow clients to receive video on the given port, app, and stream key combinations
RemoveRegistration
Fields
registration_type: RegistrationType
The type of registration that is being removed
port: u16
Port the removed registrant was listening on
rtmp_app: String
The RTMP application name that the registrant was listening on
rtmp_stream_key: StreamKeyRegistration
The stream key the registrant had registered for
Requests the specified registration should be removed
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for RtmpEndpointRequest
impl Send for RtmpEndpointRequest
impl Sync for RtmpEndpointRequest
impl Unpin for RtmpEndpointRequest
impl !UnwindSafe for RtmpEndpointRequest
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcepub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more
sourcepub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcepub fn as_any(&self) -> &(dyn Any + 'static)
pub 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. Read more
sourcepub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub 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. Read more
sourceimpl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more