GstRTPHeaderExtensionClass

Base class for RTP Header extensions.

Members

Variables

GstReserved
void*[20] GstReserved;
getMaxSize
size_t function(GstRTPHeaderExtension* ext, const(GstBuffer)* inputMeta) getMaxSize;

retrieve the maximum size for this extension based on the information available from input_meta. Implementations should attempt to provide as accurate information as possible as the returned value will be used to control the amount of possible data in the payload. Implementations must return the maximum as the allocated size for writing the extension will be at least the size of the returned value. Return the amount of data read or <0 on failure.

getSupportedFlags
GstRTPHeaderExtensionFlags function(GstRTPHeaderExtension* ext) getSupportedFlags;

retrieve the supported flags

parentClass
GstElementClass parentClass;

the parent class

read
bool function(GstRTPHeaderExtension* ext, GstRTPHeaderExtensionFlags readFlags, const(ubyte)* data, size_t size, GstBuffer* buffer) read;

read from a rtp payloaded buffer and extract the extension information, optionally adding some meta onto the output buffer.

setAttributes
bool function(GstRTPHeaderExtension* ext, GstRTPHeaderExtensionDirection direction, const(char)* attributes) setAttributes;

set the necessary attributes that may be signaled e.g. with an SDP.

setCapsFromAttributes
bool function(GstRTPHeaderExtension* ext, GstCaps* caps) setCapsFromAttributes;

write the necessary caps field/s for the configured attributes e.g. as signalled with SDP.

setNonRtpSinkCaps
bool function(GstRTPHeaderExtension* ext, const(GstCaps)* caps) setNonRtpSinkCaps;

read any information from sink caps that the header extension needs for its function.

updateNonRtpSrcCaps
bool function(GstRTPHeaderExtension* ext, GstCaps* caps) updateNonRtpSrcCaps;

update depayloader non-RTP (depayloaded) caps with the information parsed from RTP header.

write
ptrdiff_t function(GstRTPHeaderExtension* ext, const(GstBuffer)* inputMeta, GstRTPHeaderExtensionFlags writeFlags, GstBuffer* output, ubyte* data, size_t size) write;

write into @data the information for this extension. Various information is provided to help writing extensions in particular cases.