# GstVideoDSCMeta

This meta carries Digitally Signed Content (DSC) SEI message information for video streams. DSC allows the verification of the integrity and authenticity of the video content.

The mechanism is realized through three supplemental enhancement information (SEI) messages that enable attaching cryptographic signatures to flexible chunks of data within a video stream at the Network Abstraction Layer (NAL) unit level.

The current implementation follows the specification defined in https://www.jvet-experts.org/doc_end_user/documents/40_Geneva/wg11/JVET-AN1019-v1.zip

The main concepts and mechanisms are also described in the paper: https://www.hhi.fraunhofer.de/fileadmin/Events/2025/IBC_2025/IBC2025PaperAuthentication_HHI.pdf

Three types of metadata are provided:

- Initialization: Contains hash method, key source, and verification settings
- Selection: Indicates which verification substream to use
- Verification: Contains the actual signature data for verification

## GstVideoDSCInitializationMeta

Metadata for Digitally Signed Content Initialization SEI message.

### Members

`meta` (GstMeta) –

parent GstMeta

`dsc_initialization` (GstH274DigitallySignedContentInitialization) –

DSC Initialization data structure

Since : 1.30

## GstVideo.VideoDSCInitializationMeta

Metadata for Digitally Signed Content Initialization SEI message.

### Members

`meta` (Gst.Meta) –

parent Gst.Meta

`dsc_initialization` (GstVideo.H274DigitallySignedContentInitialization) –

DSC Initialization data structure

Since : 1.30

## GstVideo.VideoDSCInitializationMeta

Metadata for Digitally Signed Content Initialization SEI message.

### Members

`meta` (Gst.Meta) –

parent Gst.Meta

`dsc_initialization` (GstVideo.H274DigitallySignedContentInitialization) –

DSC Initialization data structure

Since : 1.30

### Functions

#### gst_video_dsc_initialization_meta_get_info

    const GstMetaInfo *
    gst_video_dsc_initialization_meta_get_info ()

Returns –
No description available

Since : 1.30

#### GstVideo.prototype.video_dsc_initialization_meta_get_info

    function GstVideo.prototype.video_dsc_initialization_meta_get_info(): {
        // javascript wrapper for 'gst_video_dsc_initialization_meta_get_info'
    }

Returns (Gst.MetaInfo) –
No description available

Since : 1.30

#### GstVideo.video_dsc_initialization_meta_get_info

    def GstVideo.video_dsc_initialization_meta_get_info ():
        #python wrapper for 'gst_video_dsc_initialization_meta_get_info'

Returns (Gst.MetaInfo) –
No description available

Since : 1.30

## GstVideoDSCSelectionMeta

Metadata for Digitally Signed Content Selection SEI message.

### Members

`meta` (GstMeta) –

parent GstMeta

`dsc_selection` (GstH274DigitallySignedContentSelection) –

DSC Selection data structure

Since : 1.30

## GstVideo.VideoDSCSelectionMeta

Metadata for Digitally Signed Content Selection SEI message.

### Members

`meta` (Gst.Meta) –

parent Gst.Meta

`dsc_selection` (GstVideo.H274DigitallySignedContentSelection) –

DSC Selection data structure

Since : 1.30

## GstVideo.VideoDSCSelectionMeta

Metadata for Digitally Signed Content Selection SEI message.

### Members

`meta` (Gst.Meta) –

parent Gst.Meta

`dsc_selection` (GstVideo.H274DigitallySignedContentSelection) –

DSC Selection data structure

Since : 1.30

### Functions

#### gst_video_dsc_selection_meta_get_info

    const GstMetaInfo *
    gst_video_dsc_selection_meta_get_info ()

Returns –
No description available

Since : 1.30

#### GstVideo.prototype.video_dsc_selection_meta_get_info

    function GstVideo.prototype.video_dsc_selection_meta_get_info(): {
        // javascript wrapper for 'gst_video_dsc_selection_meta_get_info'
    }

Returns (Gst.MetaInfo) –
No description available

Since : 1.30

#### GstVideo.video_dsc_selection_meta_get_info

    def GstVideo.video_dsc_selection_meta_get_info ():
        #python wrapper for 'gst_video_dsc_selection_meta_get_info'

Returns (Gst.MetaInfo) –
No description available

Since : 1.30

## GstVideoDSCVerificationMeta

Metadata for Digitally Signed Content Verification SEI message.

### Members

`meta` (GstMeta) –

parent GstMeta

`dsc_verification` (GstH274DigitallySignedContentVerification) –

DSC Verification data structure

Since : 1.30

## GstVideo.VideoDSCVerificationMeta

Metadata for Digitally Signed Content Verification SEI message.

### Members

`meta` (Gst.Meta) –

parent Gst.Meta

`dsc_verification` (GstVideo.H274DigitallySignedContentVerification) –

DSC Verification data structure

Since : 1.30

## GstVideo.VideoDSCVerificationMeta

Metadata for Digitally Signed Content Verification SEI message.

### Members

`meta` (Gst.Meta) –

parent Gst.Meta

`dsc_verification` (GstVideo.H274DigitallySignedContentVerification) –

DSC Verification data structure

Since : 1.30

### Functions

#### gst_video_dsc_verification_meta_get_info

    const GstMetaInfo *
    gst_video_dsc_verification_meta_get_info ()

Returns –
No description available

Since : 1.30

#### GstVideo.prototype.video_dsc_verification_meta_get_info

    function GstVideo.prototype.video_dsc_verification_meta_get_info(): {
        // javascript wrapper for 'gst_video_dsc_verification_meta_get_info'
    }

Returns (Gst.MetaInfo) –
No description available

Since : 1.30

#### GstVideo.video_dsc_verification_meta_get_info

    def GstVideo.video_dsc_verification_meta_get_info ():
        #python wrapper for 'gst_video_dsc_verification_meta_get_info'

Returns (Gst.MetaInfo) –
No description available

Since : 1.30

## Functions

### gst_buffer_add_video_dsc_initialization_meta

    GstVideoDSCInitializationMeta *
    gst_buffer_add_video_dsc_initialization_meta (GstBuffer * buffer,
                                                  const GstH274DigitallySignedContentInitialization * dsc_initialization)

Attaches GstVideoDSCInitializationMeta metadata to buffer.

Parameters:

`buffer` –

a GstBuffer

`dsc_initialization` –

DSC Initialization data

Returns ( [transfer: none]) –

the GstVideoDSCInitializationMeta on buffer.

Since : 1.30

### GstVideo.prototype.buffer_add_video_dsc_initialization_meta

    function GstVideo.prototype.buffer_add_video_dsc_initialization_meta(buffer: Gst.Buffer, dsc_initialization: GstVideo.H274DigitallySignedContentInitialization): {
        // javascript wrapper for 'gst_buffer_add_video_dsc_initialization_meta'
    }

Attaches GstVideoDSCInitializationMeta metadata to buffer.

Parameters:

`buffer` (Gst.Buffer) –

a Gst.Buffer

`dsc_initialization` (GstVideo.H274DigitallySignedContentInitialization) –

DSC Initialization data

Returns (GstVideo.VideoDSCInitializationMeta) –

the GstVideo.VideoDSCInitializationMeta on buffer.

Since : 1.30

### GstVideo.buffer_add_video_dsc_initialization_meta

    def GstVideo.buffer_add_video_dsc_initialization_meta (buffer, dsc_initialization):
        #python wrapper for 'gst_buffer_add_video_dsc_initialization_meta'

Attaches GstVideoDSCInitializationMeta metadata to buffer.

Parameters:

`buffer` (Gst.Buffer) –

a Gst.Buffer

`dsc_initialization` (GstVideo.H274DigitallySignedContentInitialization) –

DSC Initialization data

Returns (GstVideo.VideoDSCInitializationMeta) –

the GstVideo.VideoDSCInitializationMeta on buffer.

Since : 1.30

### gst_buffer_add_video_dsc_selection_meta

    GstVideoDSCSelectionMeta *
    gst_buffer_add_video_dsc_selection_meta (GstBuffer * buffer,
                                             const GstH274DigitallySignedContentSelection * dsc_selection)

Attaches GstVideoDSCSelectionMeta metadata to buffer.

Parameters:

`buffer` –

a GstBuffer

`dsc_selection` –

DSC Selection data

Returns ( [transfer: none]) –

the GstVideoDSCSelectionMeta on buffer.

Since : 1.30

### GstVideo.prototype.buffer_add_video_dsc_selection_meta

    function GstVideo.prototype.buffer_add_video_dsc_selection_meta(buffer: Gst.Buffer, dsc_selection: GstVideo.H274DigitallySignedContentSelection): {
        // javascript wrapper for 'gst_buffer_add_video_dsc_selection_meta'
    }

Attaches GstVideoDSCSelectionMeta metadata to buffer.

Parameters:

`buffer` (Gst.Buffer) –

a Gst.Buffer

`dsc_selection` (GstVideo.H274DigitallySignedContentSelection) –

DSC Selection data

Returns (GstVideo.VideoDSCSelectionMeta) –

the GstVideo.VideoDSCSelectionMeta on buffer.

Since : 1.30

### GstVideo.buffer_add_video_dsc_selection_meta

    def GstVideo.buffer_add_video_dsc_selection_meta (buffer, dsc_selection):
        #python wrapper for 'gst_buffer_add_video_dsc_selection_meta'

Attaches GstVideoDSCSelectionMeta metadata to buffer.

Parameters:

`buffer` (Gst.Buffer) –

a Gst.Buffer

`dsc_selection` (GstVideo.H274DigitallySignedContentSelection) –

DSC Selection data

Returns (GstVideo.VideoDSCSelectionMeta) –

the GstVideo.VideoDSCSelectionMeta on buffer.

Since : 1.30

### gst_buffer_add_video_dsc_verification_meta

    GstVideoDSCVerificationMeta *
    gst_buffer_add_video_dsc_verification_meta (GstBuffer * buffer,
                                                const GstH274DigitallySignedContentVerification * dsc_verification)

Attaches GstVideoDSCVerificationMeta metadata to buffer.

Parameters:

`buffer` –

a GstBuffer

`dsc_verification` –

DSC Verification data

Returns ( [transfer: none]) –

the GstVideoDSCVerificationMeta on buffer.

Since : 1.30

### GstVideo.prototype.buffer_add_video_dsc_verification_meta

    function GstVideo.prototype.buffer_add_video_dsc_verification_meta(buffer: Gst.Buffer, dsc_verification: GstVideo.H274DigitallySignedContentVerification): {
        // javascript wrapper for 'gst_buffer_add_video_dsc_verification_meta'
    }

Attaches GstVideoDSCVerificationMeta metadata to buffer.

Parameters:

`buffer` (Gst.Buffer) –

a Gst.Buffer

`dsc_verification` (GstVideo.H274DigitallySignedContentVerification) –

DSC Verification data

Returns (GstVideo.VideoDSCVerificationMeta) –

the GstVideo.VideoDSCVerificationMeta on buffer.

Since : 1.30

### GstVideo.buffer_add_video_dsc_verification_meta

    def GstVideo.buffer_add_video_dsc_verification_meta (buffer, dsc_verification):
        #python wrapper for 'gst_buffer_add_video_dsc_verification_meta'

Attaches GstVideoDSCVerificationMeta metadata to buffer.

Parameters:

`buffer` (Gst.Buffer) –

a Gst.Buffer

`dsc_verification` (GstVideo.H274DigitallySignedContentVerification) –

DSC Verification data

Returns (GstVideo.VideoDSCVerificationMeta) –

the GstVideo.VideoDSCVerificationMeta on buffer.

Since : 1.30

### gst_video_dsc_initialization_meta_api_get_type

    GType
    gst_video_dsc_initialization_meta_api_get_type ()

Returns –
No description available

Since : 1.30

### GstVideo.prototype.video_dsc_initialization_meta_api_get_type

    function GstVideo.prototype.video_dsc_initialization_meta_api_get_type(): {
        // javascript wrapper for 'gst_video_dsc_initialization_meta_api_get_type'
    }

Returns (GObject.Type) –
No description available

Since : 1.30

### GstVideo.video_dsc_initialization_meta_api_get_type

    def GstVideo.video_dsc_initialization_meta_api_get_type ():
        #python wrapper for 'gst_video_dsc_initialization_meta_api_get_type'

Returns (GObject.Type) –
No description available

Since : 1.30

### gst_video_dsc_selection_meta_api_get_type

    GType
    gst_video_dsc_selection_meta_api_get_type ()

Returns –
No description available

Since : 1.30

### GstVideo.prototype.video_dsc_selection_meta_api_get_type

    function GstVideo.prototype.video_dsc_selection_meta_api_get_type(): {
        // javascript wrapper for 'gst_video_dsc_selection_meta_api_get_type'
    }

Returns (GObject.Type) –
No description available

Since : 1.30

### GstVideo.video_dsc_selection_meta_api_get_type

    def GstVideo.video_dsc_selection_meta_api_get_type ():
        #python wrapper for 'gst_video_dsc_selection_meta_api_get_type'

Returns (GObject.Type) –
No description available

Since : 1.30

### gst_video_dsc_verification_meta_api_get_type

    GType
    gst_video_dsc_verification_meta_api_get_type ()

Returns –
No description available

Since : 1.30

### GstVideo.prototype.video_dsc_verification_meta_api_get_type

    function GstVideo.prototype.video_dsc_verification_meta_api_get_type(): {
        // javascript wrapper for 'gst_video_dsc_verification_meta_api_get_type'
    }

Returns (GObject.Type) –
No description available

Since : 1.30

### GstVideo.video_dsc_verification_meta_api_get_type

    def GstVideo.video_dsc_verification_meta_api_get_type ():
        #python wrapper for 'gst_video_dsc_verification_meta_api_get_type'

Returns (GObject.Type) –
No description available

Since : 1.30

## Function Macros

### gst_buffer_get_video_dsc_initialization_meta

    #define gst_buffer_get_video_dsc_initialization_meta(b) \
        ((GstVideoDSCInitializationMeta *)gst_buffer_get_meta((b), \
            GST_VIDEO_DSC_INITIALIZATION_META_API_TYPE))

Parameters:

`b` –

a GstBuffer

Returns ( [transfer: none][nullable]) –

the GstVideoDSCInitializationMeta on the buffer or NULL if not present.

Since : 1.30

### gst_buffer_get_video_dsc_selection_meta

    #define gst_buffer_get_video_dsc_selection_meta(b) \
        ((GstVideoDSCSelectionMeta *)gst_buffer_get_meta((b), \
            GST_VIDEO_DSC_SELECTION_META_API_TYPE))

Parameters:

`b` –

a GstBuffer

Returns ( [transfer: none][nullable]) –

the GstVideoDSCSelectionMeta on the buffer or NULL if not present.

Since : 1.30

### gst_buffer_get_video_dsc_verification_meta

    #define gst_buffer_get_video_dsc_verification_meta(b) \
        ((GstVideoDSCVerificationMeta *)gst_buffer_get_meta((b), \
            GST_VIDEO_DSC_VERIFICATION_META_API_TYPE))

Parameters:

`b` –

a GstBuffer

Returns ( [transfer: none][nullable]) –

the GstVideoDSCVerificationMeta on the buffer or NULL if not present.

Since : 1.30

## Constants

### GST_VIDEO_DSC_INITIALIZATION_META_API_TYPE

    #define GST_VIDEO_DSC_INITIALIZATION_META_API_TYPE \
        (gst_video_dsc_initialization_meta_api_get_type())

Since : 1.30

### GST_VIDEO_DSC_INITIALIZATION_META_INFO

    #define GST_VIDEO_DSC_INITIALIZATION_META_INFO \
        (gst_video_dsc_initialization_meta_get_info())

Since : 1.30

### GST_VIDEO_DSC_SELECTION_META_API_TYPE

    #define GST_VIDEO_DSC_SELECTION_META_API_TYPE \
        (gst_video_dsc_selection_meta_api_get_type())

Since : 1.30

### GST_VIDEO_DSC_SELECTION_META_INFO

    #define GST_VIDEO_DSC_SELECTION_META_INFO \
        (gst_video_dsc_selection_meta_get_info())

Since : 1.30

### GST_VIDEO_DSC_VERIFICATION_META_API_TYPE

    #define GST_VIDEO_DSC_VERIFICATION_META_API_TYPE \
        (gst_video_dsc_verification_meta_api_get_type())

Since : 1.30

### GST_VIDEO_DSC_VERIFICATION_META_INFO

    #define GST_VIDEO_DSC_VERIFICATION_META_INFO \
        (gst_video_dsc_verification_meta_get_info())

Since : 1.30

The results of the search are