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: ConnectionIdUnique identifier for the TCP connection that’s requesting to be a publisher
stream_key: StringThe 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: ConnectionIdUnique identifier for the TCP connection that’s publishing
stream_id: StreamIdUnique identifier for the stream.
stream_key: StringActual 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: ConnectionIdUnique 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: ConnectionIdcodec: VideoCodecis_keyframe: boolis_sequence_header: booldata: Bytestimestamp: RtmpTimestampcomposition_time_offset: i32An RTMP publisher has sent in new video data
NewAudioData
Fields
publisher: ConnectionIdcodec: AudioCodecis_sequence_header: booldata: Bytestimestamp: RtmpTimestampAn 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