gstrtp.rtpbase_audio_payload

Module for [RTPBaseAudioPayload] class

Types 3

Provides a base class for audio RTP payloaders for frame or sample based audio codecs (constant bitrate)

This class derives from GstRTPBasePayload. It can be used for payloading audio codecs. It will only work with constant bitrate codecs. It supports both frame based and sample based codecs. It takes care of packing up the audio data into RTP packets and filling up the headers accordingly. The payloading is done based on the maximum MTU (mtu) and the maximum time per packet (max-ptime). The general idea is to divide large data buffers into smaller RTP packets. The RTP packet size is the minimum of either the MTU, max-ptime (if set) or available data. The RTP packet size is always larger or equal to min-ptime (if set). If min-ptime is not set, any residual data is sent in a last RTP packet. In the case of frame based codecs, the resulting RTP packets always contain full frames.

Usage

To use this base class, your child element needs to call either [gstrtp.rtpbase_audio_payload.RTPBaseAudioPayload.setFrameBased] or [gstrtp.rtpbase_audio_payload.RTPBaseAudioPayload.setSampleBased]. This is usually done in the element's _init() function. Then, the child element must call either [gstrtp.rtpbase_audio_payload.RTPBaseAudioPayload.setFrameOptions], [gstrtp.rtpbase_audio_payload.RTPBaseAudioPayload.setSampleOptions] or gst_rtp_base_audio_payload_set_samplebits_options. Since GstRTPBaseAudioPayload derives from GstRTPBasePayload, the child element must set any variables or call/override any functions required by that base class. The child element does not need to override any other functions specific to GstRTPBaseAudioPayload.

Methods
GType _gType() @property
RTPBaseAudioPayload self()Returns `this`, for use in `with` statements.
RTPBaseAudioPayloadGidBuilder builder()Get builder for [gstrtp.rtpbaseaudiopayload.RTPBaseAudioPayload] Returns: New builder object
bool bufferList() @property
void bufferList(bool propval) @property
gst.types.FlowReturn flush(uint payloadLen, gst.types.ClockTime timestamp)Create an RTP buffer and store payload_len bytes of the adapter as the payload. Set the timestamp on the new buffer to timestamp before pushing the buffer downstream.
gstbase.adapter.Adapter getAdapter()Gets the internal adapter used by the depayloader. Returns: a #GstAdapter.
gst.types.FlowReturn push(ubyte[] data, gst.types.ClockTime timestamp)Create an RTP buffer and store payload_len bytes of data as the payload. Set the timestamp on the new buffer to timestamp before pushing the buffer downstream.
void setFrameBased()Tells #GstRTPBaseAudioPayload that the child element is for a frame based audio codec
void setFrameOptions(int frameDuration, int frameSize)Sets the options for frame based audio codecs.
void setSampleBased()Tells #GstRTPBaseAudioPayload that the child element is for a sample based audio codec
void setSampleOptions(int sampleSize)Sets the options for sample based audio codecs.
void setSamplebitsOptions(int sampleSize)Sets the options for sample based audio codecs.
Constructors
this(void * ptr, Flag!"Take" take)

Fluent builder for [gstrtp.rtpbase_audio_payload.RTPBaseAudioPayload]