Struct gif::StreamingDecoder[][src]

pub struct StreamingDecoder {
    state: Option<State>,
    lzw_reader: Option<LzwDecoder>,
    decode_buffer: Vec<u8>,
    skip_extensions: bool,
    check_frame_consistency: bool,
    check_for_end_code: bool,
    version: &'static str,
    width: u16,
    height: u16,
    global_color_table: Vec<u8>,
    background_color: [u8; 4],
    ext: (AnyExtension, Vec<u8>, bool),
    current: Option<Frame<'static>>,
}

GIF decoder which supports streaming

Fields

state: Option<State>lzw_reader: Option<LzwDecoder>decode_buffer: Vec<u8>skip_extensions: boolcheck_frame_consistency: boolcheck_for_end_code: boolversion: &'static strwidth: u16height: u16global_color_table: Vec<u8>background_color: [u8; 4]ext: (AnyExtension, Vec<u8>, bool)

ext buffer

current: Option<Frame<'static>>

Frame data

Implementations

impl StreamingDecoder[src]

pub fn new() -> StreamingDecoder[src]

Creates a new streaming decoder

pub(crate) fn with_options(options: &DecodeOptions) -> Self[src]

pub fn update<'a>(
    &'a mut self,
    buf: &[u8]
) -> Result<(usize, Decoded<'a>), DecodingError>
[src]

Updates the internal state of the decoder.

Returns the number of bytes consumed from the input buffer and the last decoding result.

pub fn last_ext(&self) -> (AnyExtension, &[u8], bool)[src]

Returns the data of the last extension that has been decoded.

pub fn current_frame_mut<'a>(&'a mut self) -> &'a mut Frame<'static>[src]

Current frame info as a mutable ref.

pub fn current_frame<'a>(&'a self) -> &'a Frame<'static>[src]

Current frame info as a ref.

pub fn width(&self) -> u16[src]

Width of the image

pub fn height(&self) -> u16[src]

Height of the image

pub fn set_extensions(&mut self, extensions: Extensions)[src]

Configure whether extensions are saved or skipped.

fn next_state<'a>(
    &'a mut self,
    buf: &[u8]
) -> Result<(usize, Decoded<'a>), DecodingError>
[src]

fn read_control_extension(&mut self, b: u8) -> Result<State, DecodingError>[src]

fn add_frame(&mut self)[src]

Auto Trait Implementations

impl !RefUnwindSafe for StreamingDecoder

impl Send for StreamingDecoder

impl !Sync for StreamingDecoder

impl Unpin for StreamingDecoder

impl !UnwindSafe for StreamingDecoder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.