gstrtp.rtpbase_depayload
Module for [RTPBaseDepayload] class
Types 3
Provides a base class for RTP depayloaders
In order to handle RTP header extensions correctly if the depayloader aggregates multiple RTP packet payloads into one output buffer this class provides the function [gstrtp.rtpbase_depayload.RTPBaseDepayload.setAggregateHdrextEnabled]. If the aggregation is enabled the virtual functions @GstRTPBaseDepayload.process or @GstRTPBaseDepayload.process_rtp_packet must tell the base class what happens to the current RTP packet. By default the base class assumes that the packet payload is used with the next output buffer.
If the RTP packet will not be used with an output buffer [gstrtp.rtpbase_depayload.RTPBaseDepayload.dropped] must be called. A typical situation would be if we are waiting for a keyframe.
If the RTP packet will be used but not with the current output buffer but with the next one [gstrtp.rtpbase_depayload.RTPBaseDepayload.delayed] must be called. This may happen if the current RTP packet signals the start of a new output buffer and the currently processed output buffer will be pushed first. The undelay happens implicitly once the current buffer has been pushed or [gstrtp.rtpbase_depayload.RTPBaseDepayload.flush] has been called.
If [gstrtp.rtpbase_depayload.RTPBaseDepayload.flush] is called all RTP packets that have not been dropped since the last output buffer are dropped, e.g. if an output buffer is discarded due to malformed data. This may or may not include the current RTP packet depending on the 2nd parameter @keep_current.
Be aware that in case [gstrtp.rtpbase_depayload.RTPBaseDepayload.pushList] is used each buffer will see the same list of RTP header extensions.
RTPBaseDepayload self()Returns `this`, for use in `with` statements.RTPBaseDepayloadGidBuilder builder()Get builder for [gstrtp.rtpbase_depayload.RTPBaseDepayload] Returns: New builder objectbool autoHeaderExtension() @propertyGet `autoHeaderExtension` property. Returns: If enabled, the depayloader will automatically try to enable all the RTP header extensions provided in the sink caps, saving the application the need to...void autoHeaderExtension(bool propval) @propertySet `autoHeaderExtension` property. Params: propval = If enabled, the depayloader will automatically try to enable all the RTP header extensions provided in the sink caps, saving the application th...int maxReorder() @propertyGet `maxReorder` property. Returns: Max seqnum reorder before the sender is assumed to have restarted.void maxReorder(int propval) @propertySet `maxReorder` property. Params: propval = Max seqnum reorder before the sender is assumed to have restarted.bool sourceInfo() @propertyGet `sourceInfo` property. Returns: Add RTP source information found in RTP header as meta to output buffer.void sourceInfo(bool propval) @propertySet `sourceInfo` property. Params: propval = Add RTP source information found in RTP header as meta to output buffer.gst.structure.Structure stats() @propertyGet `stats` property. Returns: Various depayloader statistics retrieved atomically (and are therefore synchroized with each other). This property return a GstStructure named application/x-rtp-depay...void delayed()Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.processrtppacket when the depayloader needs to keep the current input RTP header for use with the next output buffer.void dropped()Called from GstRTPBaseDepayload.process or GstRTPBaseDepayload.processrtppacket if the depayloader does not use the current buffer for the output buffer. This will either drop the delayed buffer or...void flush(bool keepCurrent)If GstRTPBaseDepayload.process or GstRTPBaseDepayload.processrtppacket drop an output buffer this function tells the base class to flush header extension cache as well.bool isAggregateHdrextEnabled()Queries whether header extensions will be aggregated per depayloaded buffers. Returns: true if aggregate-header-extension is enabled.bool isSourceInfoEnabled()Queries whether #GstRTPSourceMeta will be added to depayloaded buffers. Returns: true if source-info is enabled.gst.types.FlowReturn push(gst.buffer.Buffer outBuf)Push outbuf to the peer of filter. This function takes ownership of outbuf.gst.types.FlowReturn pushList(gst.buffer_list.BufferList outList)Push outlist to the peer of filter. This function takes ownership of outlist.void setAggregateHdrextEnabled(bool enable)Enable or disable aggregating header extensions.void setSourceInfoEnabled(bool enable)Enable or disable adding #GstRTPSourceMeta to depayloaded buffers.gulong connectAddExtension(T)(T callback, Flag!"After" after = No.After) if (isCallable!T
&& is(ReturnType!T == void)
&& (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gstrtp.rtpheader_extension.RTPHeaderExtension)))
&& (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gstrtp.rtpbase_depayload.RTPBaseDepayload)))
&& Parameters!T.length < 3)Connect to `AddExtension` signal.gulong connectClearExtensions(T)(T callback, Flag!"After" after = No.After) if (isCallable!T
&& is(ReturnType!T == void)
&& (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gstrtp.rtpbase_depayload.RTPBaseDepayload)))
&& Parameters!T.length < 2)Connect to `ClearExtensions` signal.gulong connectRequestExtension(T)(T callback, Flag!"After" after = No.After) if (isCallable!T
&& is(ReturnType!T : gstrtp.rtpheader_extension.RTPHeaderExtension)
&& (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == uint)))
&& (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] == string)))
&& (Parameters!T.length < 3 || (ParameterStorageClassTuple!T[2] == ParameterStorageClass.none && is(Parameters!T[2] : gstrtp.rtpbase_depayload.RTPBaseDepayload)))
&& Parameters!T.length < 4)Connect to `RequestExtension` signal.T autoHeaderExtension(bool propval)Set `autoHeaderExtension` property. Params: propval = If enabled, the depayloader will automatically try to enable all the RTP header extensions provided in the sink caps, saving the application th...T maxReorder(int propval)Set `maxReorder` property. Params: propval = Max seqnum reorder before the sender is assumed to have restarted.T sourceInfo(bool propval)Set `sourceInfo` property. Params: propval = Add RTP source information found in RTP header as meta to output buffer. Returns: Builder instance for fluent chainingFluent builder for [gstrtp.rtpbase_depayload.RTPBaseDepayload]