Metadata

Overview

Metadata works much in the same way as properties, except that they are queried only from the system, and they cannot be set externally. They can be treated as read-only properties.

Metadata can only be queried by name using the EIL_QueryMetadata API.

Metadata additionally implements an extension to properties allowing access to a contiguous block of memory (EIL_PT_Blob). This system is incorporated with the Base encoder plugin, such that a Base encoder can output some data to the integrator of the IL, with the IL being ignorant to its usage.

This system is used to allow the EIL to report to the user some internal values, or data that are either not interpreted as properties, or that cannot be expressed as properties.

For example, the ffmpeg sample integration utilises this feature to obtain the h.264 global headers from the libx264 Base encoder plugin to be used for HLS.

Metadata Values

Overview

This section describes the metadata values available from the EIL. It is broken down into sections for each discrete component of the EIL. The following tables indicate the name of the metadata, its associated property type, and a description of what it is and how it is used.

Integration Layer

Metadata

Type

Description

base_type

EIL_PT_String

Describes the underlying technology of the base encoder plugin utilised. For example, the libx264 plugin will output h264 in this metadata.

base_width

EIL_PT_Uint32

Width of the base encoded video.

base_height

EIL_PT_Uint32

Height of the base encoded video.

x264 Integration Layer Plugin

Metadata

Type

Description

h264_header_data

EIL_PT_Blob

This is available when the ‘global-header’ x264 property is set to 1. This is a contiguous block of memory containing the H.264 headers (PPS, SPS, etc.), and can be used when the output container is segmented, so that the headers can be injected at the start of each segment.

Last updated

Was this helpful?