struct Stream<T: EncoderSession> {Show 15 fields
id: u32,
src_params: Params,
dst_params: Params,
dst_bitrate: Bitrate,
dst_profile: Profile,
dst_h264_level: Option<Level>,
force_keyframe: bool,
encoder_session: Option<T>,
received_input_buffers_event: bool,
src_resources: BTreeMap<u32, InputResource>,
encoder_input_buffer_ids: BTreeMap<u32, u32>,
dst_resources: BTreeMap<u32, OutputResource>,
encoder_output_buffer_ids: BTreeMap<u32, u32>,
pending_commands: BTreeSet<PendingCommand>,
eos_manager: EosBufferManager,
}
Fields§
§id: u32
§src_params: Params
§dst_params: Params
§dst_bitrate: Bitrate
§dst_profile: Profile
§dst_h264_level: Option<Level>
§force_keyframe: bool
§encoder_session: Option<T>
§received_input_buffers_event: bool
§src_resources: BTreeMap<u32, InputResource>
§encoder_input_buffer_ids: BTreeMap<u32, u32>
§dst_resources: BTreeMap<u32, OutputResource>
§encoder_output_buffer_ids: BTreeMap<u32, u32>
§pending_commands: BTreeSet<PendingCommand>
§eos_manager: EosBufferManager
Implementations§
source§impl<T: EncoderSession> Stream<T>
impl<T: EncoderSession> Stream<T>
fn new<E: Encoder<Session = T>>( id: u32, src_resource_type: ResourceType, dst_resource_type: ResourceType, desired_format: Format, encoder: &EncoderDevice<E> ) -> Result<Self, VideoError>
fn has_encode_session(&self) -> bool
fn set_encode_session<U: Encoder<Session = T>>( &mut self, encoder: &mut U, wait_ctx: &WaitContext<Token> ) -> Result<(), VideoError>
fn clear_encode_session( &mut self, wait_ctx: &WaitContext<Token> ) -> Result<(), VideoError>
fn require_input_buffers( &mut self, input_count: u32, input_frame_width: u32, input_frame_height: u32, output_buffer_size: u32 ) -> Option<Vec<VideoEvtResponseType>>
fn processed_input_buffer( &mut self, input_buffer_id: u32 ) -> Option<Vec<VideoEvtResponseType>>
fn processed_output_buffer( &mut self, output_buffer_id: u32, bytesused: u32, keyframe: bool, timestamp: u64 ) -> Option<Vec<VideoEvtResponseType>>
fn flush_response( &mut self, flush_done: bool ) -> Option<Vec<VideoEvtResponseType>>
fn notify_error(&self, error: VideoError) -> Option<Vec<VideoEvtResponseType>>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Stream<T>where
T: RefUnwindSafe,
impl<T> Send for Stream<T>where
T: Send,
impl<T> Sync for Stream<T>where
T: Sync,
impl<T> Unpin for Stream<T>where
T: Unpin,
impl<T> UnwindSafe for Stream<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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
.§fn as_any(&self) -> &(dyn Any + 'static)
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.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.