pub enum DecoderEvent {
ProvidePictureBuffers {
min_num_buffers: u32,
width: i32,
height: i32,
visible_rect: Rect,
},
PictureReady {
picture_buffer_id: i32,
timestamp: u64,
},
NotifyEndOfBitstreamBuffer(u32),
NotifyError(VideoError),
FlushCompleted(Result<(), VideoError>),
ResetCompleted(Result<(), VideoError>),
}
Variants§
ProvidePictureBuffers
Emitted when the device knows the buffer format it will need to decode frames, and how many
buffers it will need. The decoder is supposed to call set_output_parameters()
to confirm
the pixel format and actual number of buffers used, and provide buffers of the requested
dimensions using use_output_buffer()
.
PictureReady
Emitted when the decoder is done decoding a picture. picture_buffer_id
corresponds to the argument of the same name passed to use_output_buffer()
or reuse_output_buffer()
. bitstream_id
corresponds to the argument of
the same name passed to decode()
and can be used to match decoded frames
to the input buffer they were produced from.
NotifyEndOfBitstreamBuffer(u32)
Emitted when an input buffer passed to decode()
is not used by the
device anymore and can be reused by the decoder. The parameter corresponds
to the timestamp
argument passed to decode()
.
NotifyError(VideoError)
Emitted when a decoding error has occured.
FlushCompleted(Result<(), VideoError>)
Emitted after flush()
has been called to signal that the flush is completed.
ResetCompleted(Result<(), VideoError>)
Emitted after reset()
has been called to signal that the reset is completed.
Trait Implementations§
source§impl Debug for DecoderEvent
impl Debug for DecoderEvent
Auto Trait Implementations§
impl RefUnwindSafe for DecoderEvent
impl Send for DecoderEvent
impl Sync for DecoderEvent
impl Unpin for DecoderEvent
impl UnwindSafe for DecoderEvent
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
§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>
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>
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)
&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)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.