pub enum RtmpEndpointPublisherMessage {
PublisherRegistrationFailed,
PublisherRegistrationSuccessful,
PublisherRequiringApproval {
connection_id: ConnectionId,
stream_key: String,
response_channel: Sender<ValidationResponse>,
},
NewPublisherConnected {
connection_id: ConnectionId,
stream_id: StreamId,
stream_key: String,
reactor_update_channel: Option<UnboundedReceiver<ReactorWorkflowUpdate>>,
},
PublishingStopped {
connection_id: ConnectionId,
},
StreamMetadataChanged {
publisher: ConnectionId,
metadata: StreamMetadata,
},
NewVideoData {
publisher: ConnectionId,
codec: VideoCodec,
is_keyframe: bool,
is_sequence_header: bool,
data: Bytes,
timestamp: RtmpTimestamp,
composition_time_offset: i32,
},
NewAudioData {
publisher: ConnectionId,
codec: AudioCodec,
is_sequence_header: bool,
data: Bytes,
timestamp: RtmpTimestamp,
},
}
Expand description
Messages the rtmp server endpoint will send to publisher registrants.
Variants
PublisherRegistrationFailed
Notification that the publisher registration failed. No further messages will be sent if this is sent.
PublisherRegistrationSuccessful
Notification that the publisher registration succeeded.
PublisherRequiringApproval
Fields
connection_id: ConnectionId
Unique identifier for the TCP connection that’s requesting to be a publisher
stream_key: String
The stream key that the connection is requesting to be a publisher to
response_channel: Sender<ValidationResponse>
Channel to send the approval or rejection response to
Notification that a new RTMP connection has been made and they have requested to be a publisher on a stream key, but they require validation before being approved.
NewPublisherConnected
Fields
connection_id: ConnectionId
Unique identifier for the TCP connection that’s publishing
stream_id: StreamId
Unique identifier for the stream.
stream_key: String
Actual stream key that this stream is coming in from. Mostly used if the registrant specified that Any stream key would be allowed.
reactor_update_channel: Option<UnboundedReceiver<ReactorWorkflowUpdate>>
If provided, this is a channel which will receive workflow updates from a reactor tied to this publisher
Notification that a new RTMP connection has been made and is publishing media
PublishingStopped
Fields
connection_id: ConnectionId
Unique identifier for the TCP connection that stopped publishing
Notification that a publisher has stopped publishing. It may still be connected to the server, but it is no longer in a publisher state.
StreamMetadataChanged
An RTMP publisher has sent in new stream metadata information
NewVideoData
Fields
publisher: ConnectionId
codec: VideoCodec
is_keyframe: bool
is_sequence_header: bool
data: Bytes
timestamp: RtmpTimestamp
composition_time_offset: i32
An RTMP publisher has sent in new video data
NewAudioData
Fields
publisher: ConnectionId
codec: AudioCodec
is_sequence_header: bool
data: Bytes
timestamp: RtmpTimestamp
An RTMP publisher has sent in new audio data
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for RtmpEndpointPublisherMessage
impl Send for RtmpEndpointPublisherMessage
impl Sync for RtmpEndpointPublisherMessage
impl Unpin for RtmpEndpointPublisherMessage
impl !UnwindSafe for RtmpEndpointPublisherMessage
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