Top |
gint64 | max-ptime | Read / Write |
gint64 | min-ptime | Read / Write |
guint | mtu | Read / Write |
gboolean | perfect-rtptime | Read / Write |
guint | pt | Read / Write |
gint64 | ptime-multiple | Read / Write |
guint | seqnum | Read |
gint | seqnum-offset | Read / Write |
guint | ssrc | Read / Write |
GstStructure * | stats | Read |
guint | timestamp | Read |
guint | timestamp-offset | Read / Write |
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstRTPBasePayload ╰── GstRTPBaseAudioPayload
#define GST_RTP_BASE_PAYLOAD_MTU(payload) (GST_RTP_BASE_PAYLOAD (payload)->mtu)
Get access to the configured MTU of payload
.
#define GST_RTP_BASE_PAYLOAD_PT(payload) (GST_RTP_BASE_PAYLOAD (payload)->pt)
Get access to the configured payload type of payload
.
#define GST_RTP_BASE_PAYLOAD_SINKPAD(payload) (GST_RTP_BASE_PAYLOAD (payload)->sinkpad)
Get access to the sinkpad of payload
.
#define GST_RTP_BASE_PAYLOAD_SRCPAD(payload) (GST_RTP_BASE_PAYLOAD (payload)->srcpad)
Get access to the srcpad of payload
.
gboolean gst_rtp_base_payload_is_filled (GstRTPBasePayload *payload
,guint size
,GstClockTime duration
);
Check if the packet with size
and duration
would exceed the configured
maximum size.
GstFlowReturn gst_rtp_base_payload_push (GstRTPBasePayload *payload
,GstBuffer *buffer
);
Push buffer
to the peer element of the payloader. The SSRC, payload type,
seqnum and timestamp of the RTP buffer will be updated first.
This function takes ownership of buffer
.
GstFlowReturn gst_rtp_base_payload_push_list (GstRTPBasePayload *payload
,GstBufferList *list
);
Push list
to the peer element of the payloader. The SSRC, payload type,
seqnum and timestamp of the RTP buffer will be updated first.
This function takes ownership of list
.
void gst_rtp_base_payload_set_options (GstRTPBasePayload *payload
,const gchar *media
,gboolean dynamic
,const gchar *encoding_name
,guint32 clock_rate
);
Set the rtp options of the payloader. These options will be set in the caps
of the payloader. Subclasses must call this method before calling
gst_rtp_base_payload_push()
or gst_rtp_base_payload_set_outcaps()
.
gboolean gst_rtp_base_payload_set_outcaps (GstRTPBasePayload *payload
,const gchar *fieldname
,...
);
Configure the output caps with the optional parameters.
Variable arguments should be in the form field name, field type (as a GType), value(s). The last variable argument should be NULL.
struct GstRTPBasePayloadClass { GstElementClass parent_class; /* query accepted caps */ GstCaps * (*get_caps) (GstRTPBasePayload *payload, GstPad * pad, GstCaps * filter); /* receive caps on the sink pad, configure the payloader. */ gboolean (*set_caps) (GstRTPBasePayload *payload, GstCaps *caps); /* handle a buffer, perform 0 or more gst_rtp_base_payload_push() on * the RTP buffers. This function takes ownership of the buffer. */ GstFlowReturn (*handle_buffer) (GstRTPBasePayload *payload, GstBuffer *buffer); /* handle events and queries */ gboolean (*sink_event) (GstRTPBasePayload *payload, GstEvent * event); gboolean (*src_event) (GstRTPBasePayload *payload, GstEvent * event); gboolean (*query) (GstRTPBasePayload *payload, GstPad *pad, GstQuery * query); };
Base class for audio RTP payloader.
“max-ptime”
property“max-ptime” gint64
Maximum duration of the packet data in ns (-1 = unlimited up to MTU).
Flags: Read / Write
Allowed values: >= -1
Default value: -1
“min-ptime”
property“min-ptime” gint64
Minimum duration of the packet data in ns (can't go above MTU)
Flags: Read / Write
Allowed values: >= 0
Default value: 0
“mtu”
property“mtu” guint
Maximum size of one packet.
Flags: Read / Write
Allowed values: >= 28
Default value: 1400
“perfect-rtptime”
property“perfect-rtptime” gboolean
Try to use the offset fields to generate perfect RTP timestamps. When this option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of each payloaded buffer. The PTSes of buffers may not necessarily increment with the amount of data in each input buffer, consider e.g. the case where the buffer arrives from a network which means that the PTS is unrelated to the amount of data. Because the RTP timestamps are generated from GST_BUFFER_PTS this can result in RTP timestamps that also don't increment with the amount of data in the payloaded packet. To circumvent this it is possible to set the perfect rtptime option enabled. When this option is enabled the payloader will increment the RTP timestamps based on GST_BUFFER_OFFSET which relates to the amount of data in each packet rather than the GST_BUFFER_PTS of each buffer and therefore the RTP timestamps will more closely correlate with the amount of data in each buffer. Currently GstRTPBasePayload is limited to handling perfect RTP timestamps for audio streams.
Flags: Read / Write
Default value: TRUE
“pt”
property“pt” guint
The payload type of the packets.
Flags: Read / Write
Allowed values: <= 127
Default value: 96
“ptime-multiple”
property“ptime-multiple” gint64
Force buffers to be multiples of this duration in ns (0 disables)
Flags: Read / Write
Allowed values: >= 0
Default value: 0
“seqnum”
property“seqnum” guint
The RTP sequence number of the last processed packet.
Flags: Read
Allowed values: <= 65535
Default value: 0
“seqnum-offset”
property“seqnum-offset” gint
Offset to add to all outgoing seqnum (-1 = random).
Flags: Read / Write
Allowed values: [-1,65535]
Default value: -1
“ssrc”
property“ssrc” guint
The SSRC of the packets (default == random).
Flags: Read / Write
Default value: 4294967295
“stats”
property“stats” GstStructure *
Various payloader statistics retrieved atomically (and are therefore synchroized with each other), these can be used e.g. to generate an RTP-Info header. This property return a GstStructure named application/x-rtp-payload-stats containing the following fields relating to the last processed buffer and current state of the stream being payloaded:
clock-rate |
G_TYPE_UINT, clock-rate of the stream |
running-time |
G_TYPE_UINT64, running time |
seqnum |
G_TYPE_UINT, sequence number, same as “seqnum” |
timestamp |
G_TYPE_UINT, RTP timestamp, same as “timestamp” |
ssrc |
G_TYPE_UINT, The SSRC in use |
pt |
G_TYPE_UINT, The Payload type in use, same as “pt” |
seqnum-offset |
G_TYPE_UINT, The current offset added to the seqnum |
timestamp-offset |
G_TYPE_UINT, The current offset added to the timestamp |
Flags: Read
“timestamp”
property“timestamp” guint
The RTP timestamp of the last processed packet.
Flags: Read
Default value: 0
“timestamp-offset”
property“timestamp-offset” guint
Offset to add to all outgoing timestamps (default = random).
Flags: Read / Write
Default value: 4294967295