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

Fields

publisher: ConnectionId
metadata: StreamMetadata

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

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more