# GstVp8Decoder

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoDecoder
                        ╰──GstVp8Decoder

The opaque GstVp8Decoder data structure.

### Class structure

#### GstVp8DecoderClass

##### Fields

`parent_class` (GstVideoDecoderClass) –
No description available

### GstCodecs.Vp8DecoderClass

##### Attributes

`parent_class` (GstVideo.VideoDecoderClass) –
No description available

### GstCodecs.Vp8DecoderClass

##### Attributes

`parent_class` (GstVideo.VideoDecoderClass) –
No description available

## GstCodecs.Vp8Decoder

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstVideo.VideoDecoder
                        ╰──GstCodecs.Vp8Decoder

The opaque GstCodecs.Vp8Decoder data structure.

## GstCodecs.Vp8Decoder

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstVideo.VideoDecoder
                        ╰──GstCodecs.Vp8Decoder

The opaque GstCodecs.Vp8Decoder data structure.

### Virtual Methods

#### decode_picture

    GstFlowReturn
    decode_picture (GstVp8Decoder * decoder,
                    GstVp8Picture * picture,
                    GstVp8Parser * parser)

Parameters:

`decoder` –
No description available
`picture` –
No description available
`parser` –
No description available
Returns –
No description available

#### end_picture

    GstFlowReturn
    end_picture (GstVp8Decoder * decoder,
                 GstVp8Picture * picture)

Optional. Called per one GstVp8Picture to notify subclass to finish decoding process for the GstVp8Picture

Parameters:

`decoder` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_end_picture

    function vfunc_end_picture(decoder: GstCodecs.Vp8Decoder, picture: GstCodecs.Vp8Picture): {
        // javascript implementation of the 'end_picture' virtual method
    }

Optional. Called per one GstCodecs.Vp8Picture to notify subclass to finish decoding process for the GstCodecs.Vp8Picture

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_end_picture

    def do_end_picture (decoder, picture):
        #python implementation of the 'end_picture' virtual method

Optional. Called per one GstCodecs.Vp8Picture to notify subclass to finish decoding process for the GstCodecs.Vp8Picture

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### get_preferred_output_delay

    guint
    get_preferred_output_delay (GstVp8Decoder * decoder,
                                gboolean is_live)

Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.

Parameters:

`decoder` –

a GstVp8Decoder

`is_live` –

whether upstream is live or not

Returns –

the number of perferred delayed output frame

Since : 1.20

#### vfunc_get_preferred_output_delay

    function vfunc_get_preferred_output_delay(decoder: GstCodecs.Vp8Decoder, is_live: Number): {
        // javascript implementation of the 'get_preferred_output_delay' virtual method
    }

Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –

a GstCodecs.Vp8Decoder

`is_live` (Number) –

whether upstream is live or not

Returns (Number) –

the number of perferred delayed output frame

Since : 1.20

#### do_get_preferred_output_delay

    def do_get_preferred_output_delay (decoder, is_live):
        #python implementation of the 'get_preferred_output_delay' virtual method

Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –

a GstCodecs.Vp8Decoder

`is_live` (bool) –

whether upstream is live or not

Returns (int) –

the number of perferred delayed output frame

Since : 1.20

#### new_picture

    GstFlowReturn
    new_picture (GstVp8Decoder * decoder,
                 GstVideoCodecFrame * frame,
                 GstVp8Picture * picture)

Optional. Called whenever new GstVp8Picture is created. Subclass can set implementation specific user data on the GstVp8Picture via gst_vp8_picture_set_user_data

Parameters:

`decoder` –
No description available
`frame` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_new_picture

    function vfunc_new_picture(decoder: GstCodecs.Vp8Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.Vp8Picture): {
        // javascript implementation of the 'new_picture' virtual method
    }

Optional. Called whenever new GstCodecs.Vp8Picture is created. Subclass can set implementation specific user data on the GstCodecs.Vp8Picture via GstCodecs.Vp8Picture.prototype.set_user_data

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_new_picture

    def do_new_picture (decoder, frame, picture):
        #python implementation of the 'new_picture' virtual method

Optional. Called whenever new GstCodecs.Vp8Picture is created. Subclass can set implementation specific user data on the GstCodecs.Vp8Picture via GstCodecs.Vp8Picture.set_user_data

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### new_sequence

    GstFlowReturn
    new_sequence (GstVp8Decoder * decoder,
                  const GstVp8FrameHdr * frame_hdr,
                  gint max_dpb_size)

Notifies subclass of SPS update

Parameters:

`decoder` –
No description available
`frame_hdr` –
No description available
`max_dpb_size` –
No description available
Returns –
No description available

#### output_picture

    GstFlowReturn
    output_picture (GstVp8Decoder * decoder,
                    GstVideoCodecFrame * frame,
                    GstVp8Picture * picture)

Called with a GstVp8Picture which is required to be outputted. Subclass can retrieve parent GstVideoCodecFrame by using gst_video_decoder_get_frame with system_frame_number and the GstVideoCodecFrame must be consumed by subclass via gst_video_decoder_{finish,drop,release}_frame.

Parameters:

`decoder` –
No description available
`frame` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_output_picture

    function vfunc_output_picture(decoder: GstCodecs.Vp8Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.Vp8Picture): {
        // javascript implementation of the 'output_picture' virtual method
    }

Called with a GstCodecs.Vp8Picture which is required to be outputted. Subclass can retrieve parent GstVideo.VideoCodecFrame by using GstVideo.VideoDecoder.prototype.get_frame with system_frame_number and the GstVideo.VideoCodecFrame must be consumed by subclass via gst_video_decoder_{finish,drop,release}_frame.

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_output_picture

    def do_output_picture (decoder, frame, picture):
        #python implementation of the 'output_picture' virtual method

Called with a GstCodecs.Vp8Picture which is required to be outputted. Subclass can retrieve parent GstVideo.VideoCodecFrame by using GstVideo.VideoDecoder.get_frame with system_frame_number and the GstVideo.VideoCodecFrame must be consumed by subclass via gst_video_decoder_{finish,drop,release}_frame.

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### start_picture

    GstFlowReturn
    start_picture (GstVp8Decoder * decoder,
                   GstVp8Picture * picture)

Optional. Called per one GstVp8Picture to notify subclass to prepare decoding process for the GstVp8Picture

Parameters:

`decoder` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_start_picture

    function vfunc_start_picture(decoder: GstCodecs.Vp8Decoder, picture: GstCodecs.Vp8Picture): {
        // javascript implementation of the 'start_picture' virtual method
    }

Optional. Called per one GstCodecs.Vp8Picture to notify subclass to prepare decoding process for the GstCodecs.Vp8Picture

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_start_picture

    def do_start_picture (decoder, picture):
        #python implementation of the 'start_picture' virtual method

Optional. Called per one GstCodecs.Vp8Picture to notify subclass to prepare decoding process for the GstCodecs.Vp8Picture

Parameters:

`decoder` (GstCodecs.Vp8Decoder) –
No description available
`picture` (GstCodecs.Vp8Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

## GstVp8Picture

## GstCodecs.Vp8Picture

### Constructors

#### gst_vp8_picture_new

    GstVp8Picture *
    gst_vp8_picture_new ()

Create new GstVp8Picture

Returns –

a new GstVp8Picture

#### GstCodecs.Vp8Picture.prototype.new

    function GstCodecs.Vp8Picture.prototype.new(): {
        // javascript wrapper for 'gst_vp8_picture_new'
    }

Create new GstCodecs.Vp8Picture

Returns (GstCodecs.Vp8Picture) –

a new GstCodecs.Vp8Picture

#### GstCodecs.Vp8Picture.new

    def GstCodecs.Vp8Picture.new ():
        #python wrapper for 'gst_vp8_picture_new'

Create new GstCodecs.Vp8Picture

Returns (GstCodecs.Vp8Picture) –

a new GstCodecs.Vp8Picture

### Methods

#### gst_vp8_picture_get_user_data

    gpointer
    gst_vp8_picture_get_user_data (GstVp8Picture * picture)

Gets private data set on the picture via gst_vp8_picture_set_user_data previously.

Parameters:

`picture` –

a GstVp8Picture

Returns ( [transfer: none]) –

The previously set user_data

#### GstCodecs.Vp8Picture.prototype.get_user_data

    function GstCodecs.Vp8Picture.prototype.get_user_data(): {
        // javascript wrapper for 'gst_vp8_picture_get_user_data'
    }

Gets private data set on the picture via GstCodecs.Vp8Picture.prototype.set_user_data previously.

Parameters:

`picture` (GstCodecs.Vp8Picture) –

a GstCodecs.Vp8Picture

Returns (Object) –

The previously set user_data

#### GstCodecs.Vp8Picture.get_user_data

    def GstCodecs.Vp8Picture.get_user_data (self):
        #python wrapper for 'gst_vp8_picture_get_user_data'

Gets private data set on the picture via GstCodecs.Vp8Picture.set_user_data previously.

Parameters:

`picture` (GstCodecs.Vp8Picture) –

a GstCodecs.Vp8Picture

Returns (object) –

The previously set user_data

#### gst_vp8_picture_set_user_data

    gst_vp8_picture_set_user_data (GstVp8Picture * picture,
                                   gpointer user_data,
                                   GDestroyNotify notify)

Sets user_data on the picture and the GDestroyNotify that will be called when the picture is freed.

If a user_data was previously set, then the previous set notify will be called before the user_data is replaced.

Parameters:

`picture` –

a GstVp8Picture

`user_data` –

private data

`notify` ( [closure]) –

a GDestroyNotify

#### GstCodecs.Vp8Picture.prototype.set_user_data

    function GstCodecs.Vp8Picture.prototype.set_user_data(user_data: Object, notify: GLib.DestroyNotify): {
        // javascript wrapper for 'gst_vp8_picture_set_user_data'
    }

Sets user_data on the picture and the GLib.DestroyNotify that will be called when the picture is freed.

If a user_data was previously set, then the previous set notify will be called before the user_data is replaced.

Parameters:

`picture` (GstCodecs.Vp8Picture) –

a GstCodecs.Vp8Picture

`user_data` (Object) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

#### GstCodecs.Vp8Picture.set_user_data

    def GstCodecs.Vp8Picture.set_user_data (self, *user_data, notify):
        #python wrapper for 'gst_vp8_picture_set_user_data'

Sets user_data on the picture and the GLib.DestroyNotify that will be called when the picture is freed.

If a user_data was previously set, then the previous set notify will be called before the user_data is replaced.

Parameters:

`picture` (GstCodecs.Vp8Picture) –

a GstCodecs.Vp8Picture

`user_data` (variadic) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

## Function Macros

### GST_VP8_DECODER_CAST

    #define GST_VP8_DECODER_CAST(obj)       ((GstVp8Decoder*)obj)

### GST_VP8_PICTURE_CAST

    #define GST_VP8_PICTURE_CAST(obj) (GST_VP8_PICTURE(obj))

The results of the search are