GstProtection
The GstProtectionMeta class enables the information needed to decrypt a GstBuffer to be attached to that buffer.
Typically, a demuxer element would attach GstProtectionMeta objects to the buffers that it pushes downstream. The demuxer would parse the protection information for a video/audio frame from its input data and use this information to populate the GstStructure info field, which is then encapsulated in a GstProtectionMeta object and attached to the corresponding output buffer using the gst_buffer_add_protection_meta function. The information in this attached GstProtectionMeta would be used by a downstream decrypter element to recover the original unencrypted frame.
In addition to the GstProtectionMeta demuxers signal encrypted streams with
specific caps. The caps GstStructure name will usually depend on the
encryption scheme, for instance Common Encryption will be signaled with
application/x-cenc
. To prevent loss of information the media type of the
decrypted stream will be stored in a original-media-type
string field.
Downstream elements can re-use that information, for instance decryptors can
set their source pad caps according to the original-media-type
received on
their sink pad.
GstProtectionMeta
Metadata type that holds information about a sample from a protection-protected track, including the information needed to decrypt it (if it is encrypted).
Members
info
(GstStructure *)
–
the cryptographic information needed to decrypt the sample.
Since : 1.6
Gst.ProtectionMeta
Metadata type that holds information about a sample from a protection-protected track, including the information needed to decrypt it (if it is encrypted).
Members
info
(Gst.Structure)
–
the cryptographic information needed to decrypt the sample.
Since : 1.6
Gst.ProtectionMeta
Metadata type that holds information about a sample from a protection-protected track, including the information needed to decrypt it (if it is encrypted).
Members
info
(Gst.Structure)
–
the cryptographic information needed to decrypt the sample.
Since : 1.6
Functions
gst_protection_meta_get_info
const GstMetaInfo * gst_protection_meta_get_info ()
Gst.prototype.protection_meta_get_info
function Gst.prototype.protection_meta_get_info(): {
// javascript wrapper for 'gst_protection_meta_get_info'
}
Gst.protection_meta_get_info
def Gst.protection_meta_get_info ():
#python wrapper for 'gst_protection_meta_get_info'
Functions
gst_protection_filter_systems_by_available_decryptors
gchar ** gst_protection_filter_systems_by_available_decryptors (const gchar ** system_identifiers)
Iterates the supplied list of UUIDs and checks the GstRegistry for all the decryptors supporting one of the supplied UUIDs.
Parameters:
system_identifiers
–
(transfer none) (array zero-terminated=1): A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
(transfer full) (array zero-terminated=1) (nullable): A null terminated array containing all the system_identifiers supported by the set of available decryptors, or NULL if no matches were found.
Since : 1.14
Gst.prototype.protection_filter_systems_by_available_decryptors
function Gst.prototype.protection_filter_systems_by_available_decryptors(system_identifiers: [ String ]): {
// javascript wrapper for 'gst_protection_filter_systems_by_available_decryptors'
}
Iterates the supplied list of UUIDs and checks the GstRegistry for all the decryptors supporting one of the supplied UUIDs.
Parameters:
(transfer none) (array zero-terminated=1): A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
Since : 1.14
Gst.protection_filter_systems_by_available_decryptors
def Gst.protection_filter_systems_by_available_decryptors (system_identifiers):
#python wrapper for 'gst_protection_filter_systems_by_available_decryptors'
Iterates the supplied list of UUIDs and checks the GstRegistry for all the decryptors supporting one of the supplied UUIDs.
Parameters:
(transfer none) (array zero-terminated=1): A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
Since : 1.14
gst_protection_select_system
const gchar * gst_protection_select_system (const gchar ** system_identifiers)
Iterates the supplied list of UUIDs and checks the GstRegistry for an element that supports one of the supplied UUIDs. If more than one element matches, the system ID of the highest ranked element is selected.
Parameters:
system_identifiers
(
[transfer: none][arrayzero-terminated=1])
–
A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
One of the strings from system_identifiers that indicates the highest ranked element that implements the protection system indicated by that system ID, or NULL if no element has been found.
Since : 1.6
Gst.prototype.protection_select_system
function Gst.prototype.protection_select_system(system_identifiers: [ String ]): {
// javascript wrapper for 'gst_protection_select_system'
}
Iterates the supplied list of UUIDs and checks the GstRegistry for an element that supports one of the supplied UUIDs. If more than one element matches, the system ID of the highest ranked element is selected.
Parameters:
A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
Since : 1.6
Gst.protection_select_system
def Gst.protection_select_system (system_identifiers):
#python wrapper for 'gst_protection_select_system'
Iterates the supplied list of UUIDs and checks the GstRegistry for an element that supports one of the supplied UUIDs. If more than one element matches, the system ID of the highest ranked element is selected.
Parameters:
A null terminated array of strings that contains the UUID values of each protection system that is to be checked.
Since : 1.6
Function Macros
gst_buffer_get_protection_meta
#define gst_buffer_get_protection_meta(b) \ ((GstProtectionMeta*)gst_buffer_get_meta ((b), GST_PROTECTION_META_API_TYPE))
Constants
GST_PROTECTION_META_API_TYPE
#define GST_PROTECTION_META_API_TYPE (gst_protection_meta_api_get_type())
GST_PROTECTION_META_INFO
#define GST_PROTECTION_META_INFO (gst_protection_meta_get_info())
GST_PROTECTION_SYSTEM_ID_CAPS_FIELD
#define GST_PROTECTION_SYSTEM_ID_CAPS_FIELD "protection-system"
The field name in a GstCaps that is used to signal the UUID of the protection system.
Since : 1.6
Gst.PROTECTION_SYSTEM_ID_CAPS_FIELD
The field name in a GstCaps that is used to signal the UUID of the protection system.
Since : 1.6
Gst.PROTECTION_SYSTEM_ID_CAPS_FIELD
The field name in a GstCaps that is used to signal the UUID of the protection system.
Since : 1.6
GST_PROTECTION_UNSPECIFIED_SYSTEM_ID
#define GST_PROTECTION_UNSPECIFIED_SYSTEM_ID "unspecified-system-id"
The protection system value of the unspecified UUID. In some cases the system protection ID is not present in the contents or in their metadata, as encrypted WebM. This define is used to set the value of the "system_id" field in GstProtectionEvent, with this value, the application will use an external information to choose which protection system to use.
Example: The matroskademux uses this value in the case of encrypted WebM, the application will choose the appropriate protection system based on the information received through EME API.
Since : 1.16
Gst.PROTECTION_UNSPECIFIED_SYSTEM_ID
The protection system value of the unspecified UUID. In some cases the system protection ID is not present in the contents or in their metadata, as encrypted WebM. This define is used to set the value of the "system_id" field in GstProtectionEvent, with this value, the application will use an external information to choose which protection system to use.
Example: The matroskademux uses this value in the case of encrypted WebM, the application will choose the appropriate protection system based on the information received through EME API.
Since : 1.16
Gst.PROTECTION_UNSPECIFIED_SYSTEM_ID
The protection system value of the unspecified UUID. In some cases the system protection ID is not present in the contents or in their metadata, as encrypted WebM. This define is used to set the value of the "system_id" field in GstProtectionEvent, with this value, the application will use an external information to choose which protection system to use.
Example: The matroskademux uses this value in the case of encrypted WebM, the application will choose the appropriate protection system based on the information received through EME API.
Since : 1.16
The results of the search are