[][src]Struct gif::StreamingDecoder

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

GIF decoder which supports streaming


state: Option<State>lzw_reader: Option<Decoder<LsbReader>>skip_extensions: boolversion: &'static strwidth: u16height: u16global_color_table: Vec<u8>background_color: [u8; 4]ext: (u8, Vec<u8>, bool)

ext buffer

current: Option<Frame<'static>>

Frame data


impl StreamingDecoder[src]

pub fn new() -> StreamingDecoder[src]

Creates a new streaming decoder

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

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) -> (u8, &[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

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

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

fn add_frame(&mut self)[src]

Trait Implementations

impl Debug for StreamingDecoder[src]

impl Parameter<StreamingDecoder> for Extensions[src]

type Result = ()

Result type of set_param.

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

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

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

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

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.