RTCPPacket

Data structure that points to a packet at @offset in @buffer. The size of the structure is made public to allow stack allocations.

class RTCPPacket {
GstRTCPPacket cInstance;
}

Members

Functions

addProfileSpecificExt
bool addProfileSpecificExt(ubyte[] data)

Add profile-specific extension data to packet. If packet already contains profile-specific extension data will be appended to the existing extension.

addRb
bool addRb(uint ssrc, ubyte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr)

Add a new report block to packet with the given values.

appGetData
ubyte* appGetData()

Get the application-dependent data attached to a RTPFB or PSFB packet.

appGetDataLength
ushort appGetDataLength()

Get the length of the application-dependent data attached to an APP packet.

appGetName
string appGetName()

Get the name field of the APP packet.

appGetSsrc
uint appGetSsrc()

Get the SSRC/CSRC field of the APP packet.

appGetSubtype
ubyte appGetSubtype()

Get the subtype field of the APP packet.

appSetDataLength
bool appSetDataLength(ushort wordlen)

Set the length of the application-dependent data attached to an APP packet.

appSetName
void appSetName(string name)

Set the name field of the APP packet.

appSetSsrc
void appSetSsrc(uint ssrc)

Set the SSRC/CSRC field of the APP packet.

appSetSubtype
void appSetSubtype(ubyte subtype)

Set the subtype field of the APP packet.

byeAddSsrc
bool byeAddSsrc(uint ssrc)

Add ssrc to the BYE packet.

byeAddSsrcs
bool byeAddSsrcs(uint[] ssrc)

Adds len SSRCs in ssrc to BYE packet.

byeGetNthSsrc
uint byeGetNthSsrc(uint nth)

Get the nth SSRC of the BYE packet.

byeGetReason
string byeGetReason()

Get the reason in packet.

byeGetReasonLen
ubyte byeGetReasonLen()

Get the length of the reason string.

byeGetSsrcCount
uint byeGetSsrcCount()

Get the number of SSRC fields in packet.

byeSetReason
bool byeSetReason(string reason)

Set the reason string to reason in packet.

copyProfileSpecificExt
bool copyProfileSpecificExt(ubyte[] data)

The profile-specific extension data is copied into a new allocated memory area data. This must be freed with glib.global.gfree after usage.

fbGetFci
ubyte* fbGetFci()

Get the Feedback Control Information attached to a RTPFB or PSFB packet.

fbGetFciLength
ushort fbGetFciLength()

Get the length of the Feedback Control Information attached to a RTPFB or PSFB packet.

fbGetMediaSsrc
uint fbGetMediaSsrc()

Get the media SSRC field of the RTPFB or PSFB packet.

fbGetSenderSsrc
uint fbGetSenderSsrc()

Get the sender SSRC field of the RTPFB or PSFB packet.

fbGetType
gstrtp.types.RTCPFBType fbGetType()

Get the feedback message type of the FB packet.

fbSetFciLength
bool fbSetFciLength(ushort wordlen)

Set the length of the Feedback Control Information attached to a RTPFB or PSFB packet.

fbSetMediaSsrc
void fbSetMediaSsrc(uint ssrc)

Set the media SSRC field of the RTPFB or PSFB packet.

fbSetSenderSsrc
void fbSetSenderSsrc(uint ssrc)

Set the sender SSRC field of the RTPFB or PSFB packet.

fbSetType
void fbSetType(gstrtp.types.RTCPFBType type)

Set the feedback message type of the FB packet.

getCount
ubyte getCount()

Get the count field in packet.

getLength
ushort getLength()

Get the length field of packet. This is the length of the packet in 32-bit words minus one.

getPadding
bool getPadding()

Get the packet padding of the packet pointed to by packet.

getProfileSpecificExt
bool getProfileSpecificExt(ubyte[] data)
getProfileSpecificExtLength
ushort getProfileSpecificExtLength()
getRb
void getRb(uint nth, uint ssrc, ubyte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr)

Parse the values of the nth report block in packet and store the result in the values.

getRbCount
uint getRbCount()

Get the number of report blocks in packet.

getType
gstrtp.types.RTCPType getType()

Get the packet type of the packet pointed to by packet.

moveToNext
bool moveToNext()

Move the packet pointer packet to the next packet in the payload. Use gstrtp.rtcpbuffer.RTCPBuffer.getFirstPacket to initialize packet.

remove
bool remove()

Removes the packet pointed to by packet and moves pointer to the next one

rrGetSsrc
uint rrGetSsrc()

Get the ssrc field of the RR packet.

rrSetSsrc
void rrSetSsrc(uint ssrc)

Set the ssrc field of the RR packet.

sdesAddEntry
bool sdesAddEntry(gstrtp.types.RTCPSDESType type, ubyte[] data)

Add a new SDES entry to the current item in packet.

sdesAddItem
bool sdesAddItem(uint ssrc)

Add a new SDES item for ssrc to packet.

sdesCopyEntry
bool sdesCopyEntry(gstrtp.types.RTCPSDESType type, ubyte[] data)

This function is like gstrtp.rtcppacket.RTCPPacket.sdesGetEntry but it returns a null-terminated copy of the data instead. use glib.global.gfree after usage.

sdesFirstEntry
bool sdesFirstEntry()

Move to the first SDES entry in the current item.

sdesFirstItem
bool sdesFirstItem()

Move to the first SDES item in packet.

sdesGetEntry
bool sdesGetEntry(gstrtp.types.RTCPSDESType type, ubyte[] data)

Get the data of the current SDES item entry. type (when not NULL) will contain the type of the entry. data (when not NULL) will point to len bytes.

sdesGetItemCount
uint sdesGetItemCount()

Get the number of items in the SDES packet packet.

sdesGetSsrc
uint sdesGetSsrc()

Get the SSRC of the current SDES item.

sdesNextEntry
bool sdesNextEntry()

Move to the next SDES entry in the current item.

sdesNextItem
bool sdesNextItem()

Move to the next SDES item in packet.

setRb
void setRb(uint nth, uint ssrc, ubyte fractionlost, int packetslost, uint exthighestseq, uint jitter, uint lsr, uint dlsr)

Set the nth new report block in packet with the given values.

srGetSenderInfo
void srGetSenderInfo(uint ssrc, ulong ntptime, uint rtptime, uint packetCount, uint octetCount)

Parse the SR sender info and store the values.

srSetSenderInfo
void srSetSenderInfo(uint ssrc, ulong ntptime, uint rtptime, uint packetCount, uint octetCount)

Set the given values in the SR packet packet.

xrFirstRb
bool xrFirstRb()

Move to the first extended report block in XR packet.

xrGetBlockLength
ushort xrGetBlockLength()
xrGetBlockType
gstrtp.types.RTCPXRType xrGetBlockType()

Get the extended report block type of the XR packet.

xrGetDlrrBlock
bool xrGetDlrrBlock(uint nth, uint ssrc, uint lastRr, uint delay)

Parse the extended report block for DLRR report block type.

xrGetPrtBySeq
bool xrGetPrtBySeq(ushort seq, uint receiptTime)

Retrieve the packet receipt time of seq which ranges in [begin_seq, end_seq).

xrGetPrtInfo
bool xrGetPrtInfo(uint ssrc, ubyte thinning, ushort beginSeq, ushort endSeq)

Parse the Packet Recept Times Report Block from a XR packet

xrGetRleInfo
bool xrGetRleInfo(uint ssrc, ubyte thinning, ushort beginSeq, ushort endSeq, uint chunkCount)

Parse the extended report block for Loss RLE and Duplicated LRE block type.

xrGetRleNthChunk
bool xrGetRleNthChunk(uint nth, ushort chunk)

Retrieve actual chunk data.

xrGetRrt
bool xrGetRrt(ulong timestamp)
xrGetSsrc
uint xrGetSsrc()

Get the ssrc field of the XR packet.

xrGetSummaryInfo
bool xrGetSummaryInfo(uint ssrc, ushort beginSeq, ushort endSeq)

Extract a basic information from static summary report block of XR packet.

xrGetSummaryJitter
bool xrGetSummaryJitter(uint minJitter, uint maxJitter, uint meanJitter, uint devJitter)

Extract jitter information from the statistics summary. If the jitter flag in a block header is set as zero, all of jitters will be zero.

xrGetSummaryPkt
bool xrGetSummaryPkt(uint lostPackets, uint dupPackets)

Get the number of lost or duplicate packets. If the flag in a block header is set as zero, lost_packets or dup_packets will be zero.

xrGetSummaryTtl
bool xrGetSummaryTtl(bool isIpv4, ubyte minTtl, ubyte maxTtl, ubyte meanTtl, ubyte devTtl)

Extract the value of ttl for ipv4, or hop limit for ipv6.

xrGetVoipBurstMetrics
bool xrGetVoipBurstMetrics(ubyte burstDensity, ubyte gapDensity, ushort burstDuration, ushort gapDuration)
xrGetVoipConfigurationParams
bool xrGetVoipConfigurationParams(ubyte gmin, ubyte rxConfig)
xrGetVoipDelayMetrics
bool xrGetVoipDelayMetrics(ushort roundtripDelay, ushort endSystemDelay)
xrGetVoipJitterBufferParams
bool xrGetVoipJitterBufferParams(ushort jbNominal, ushort jbMaximum, ushort jbAbsMax)
xrGetVoipMetricsSsrc
bool xrGetVoipMetricsSsrc(uint ssrc)
xrGetVoipPacketMetrics
bool xrGetVoipPacketMetrics(ubyte lossRate, ubyte discardRate)
xrGetVoipQualityMetrics
bool xrGetVoipQualityMetrics(ubyte rFactor, ubyte extRFactor, ubyte mosLq, ubyte mosCq)
xrGetVoipSignalMetrics
bool xrGetVoipSignalMetrics(ubyte signalLevel, ubyte noiseLevel, ubyte rerl, ubyte gmin)
xrNextRb
bool xrNextRb()

Move to the next extended report block in XR packet.