Enum RtmpEndpointPublisherMessage

Source
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

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.

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

§

NewPublisherConnected

Notification that a new RTMP connection has been made and is publishing media

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

§

PublishingStopped

Notification that a publisher has stopped publishing. It may still be connected to the server, but it is no longer in a publisher state.

Fields

§connection_id: ConnectionId

Unique identifier for the TCP connection that stopped publishing

§

StreamMetadataChanged

An RTMP publisher has sent in new stream metadata information

Fields

§publisher: ConnectionId
§

NewVideoData

An RTMP publisher has sent in new video data

Fields

§publisher: ConnectionId
§is_keyframe: bool
§is_sequence_header: bool
§data: Bytes
§timestamp: RtmpTimestamp
§composition_time_offset: i32
§

NewAudioData

An RTMP publisher has sent in new audio data

Fields

§publisher: ConnectionId
§is_sequence_header: bool
§data: Bytes
§timestamp: RtmpTimestamp

Trait Implementations§

Source§

impl Debug for RtmpEndpointPublisherMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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