gstrtp.rtcppacket
Module for [RTCPPacket] class
class RTCPPacket
Types 1
classRTCPPacket
Data structure that points to a packet at @offset in @buffer. The size of the structure is made public to allow stack allocations.
Fields
GstRTCPPacket _cInstanceMethods
void * _cPtr()void offset(uint propval) @propertySet `offset` field. Params: propval = offset of packet in buffer databool 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.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.ubyte * appGetData()Get the application-dependent data attached to a RTPFB or PSFB packet. Returns: A pointer to the dataushort appGetDataLength()Get the length of the application-dependent data attached to an APP packet. Returns: The length of data in 32-bit words.string appGetName()Get the name field of the APP packet. Returns: The 4-byte name field, not zero-terminated.uint appGetSsrc()Get the SSRC/CSRC field of the APP packet. Returns: The SSRC/CSRC.ubyte appGetSubtype()Get the subtype field of the APP packet. Returns: The subtype.bool appSetDataLength(ushort wordlen)Set the length of the application-dependent data attached to an APP packet.void appSetName(string name)Set the name field of the APP packet.void appSetSsrc(uint ssrc)Set the SSRC/CSRC field of the APP packet.void appSetSubtype(ubyte subtype)Set the subtype field of the APP packet.bool byeAddSsrc(uint ssrc)Add ssrc to the BYE packet.bool byeAddSsrcs(uint[] ssrc)Adds len SSRCs in ssrc to BYE packet.uint byeGetNthSsrc(uint nth)Get the nth SSRC of the BYE packet.string byeGetReason()Get the reason in packet. Returns: The reason for the BYE packet or NULL if the packet did not contain a reason string. The string must be freed with [glib.global.gfree] after usage.ubyte byeGetReasonLen()Get the length of the reason string. Returns: The length of the reason string or 0 when there is no reason string present.uint byeGetSsrcCount()Get the number of SSRC fields in packet. Returns: The number of SSRC fields in packet.bool byeSetReason(string reason)Set the reason string to reason in packet.bool copyProfileSpecificExt(out 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.ubyte * fbGetFci()Get the Feedback Control Information attached to a RTPFB or PSFB packet. Returns: a pointer to the FCIushort fbGetFciLength()Get the length of the Feedback Control Information attached to a RTPFB or PSFB packet. Returns: The length of the FCI in 32-bit words.uint fbGetMediaSsrc()Get the media SSRC field of the RTPFB or PSFB packet. Returns: the media SSRC.uint fbGetSenderSsrc()Get the sender SSRC field of the RTPFB or PSFB packet. Returns: the sender SSRC.gstrtp.types.RTCPFBType fbGetType()Get the feedback message type of the FB packet. Returns: The feedback message type.bool fbSetFciLength(ushort wordlen)Set the length of the Feedback Control Information attached to a RTPFB or PSFB packet.void fbSetMediaSsrc(uint ssrc)Set the media SSRC field of the RTPFB or PSFB packet.void fbSetSenderSsrc(uint ssrc)Set the sender SSRC field of the RTPFB or PSFB packet.void fbSetType(gstrtp.types.RTCPFBType type)Set the feedback message type of the FB packet.ubyte getCount()Get the count field in packet. Returns: The count field in packet or -1 if packet does not point to a valid packet.ushort getLength()Get the length field of packet. This is the length of the packet in 32-bit words minus one. Returns: The length field of packet.bool getPadding()Get the packet padding of the packet pointed to by packet. Returns: If the packet has the padding bit set.bool getProfileSpecificExt(out ubyte[] data)ushort getProfileSpecificExtLength()void getRb(uint nth, out uint ssrc, out ubyte fractionlost, out int packetslost, out uint exthighestseq, out uint jitter, out uint lsr, out uint dlsr)Parse the values of the nth report block in packet and store the result in the values.uint getRbCount()Get the number of report blocks in packet. Returns: The number of report blocks in packet.gstrtp.types.RTCPType getType()Get the packet type of the packet pointed to by packet. Returns: The packet type or GSTRTCPTYPE_INVALID when packet is not pointing to a valid packet.bool moveToNext()Move the packet pointer packet to the next packet in the payload. Use [gstrtp.rtcpbuffer.RTCPBuffer.getFirstPacket] to initialize packet. Returns: TRUE if packet is pointing to a valid packet after...bool remove()Removes the packet pointed to by packet and moves pointer to the next one Returns: TRUE if packet is pointing to a valid packet after calling this function.uint rrGetSsrc()Get the ssrc field of the RR packet. Returns: the ssrc.void rrSetSsrc(uint ssrc)Set the ssrc field of the RR packet.bool sdesAddEntry(gstrtp.types.RTCPSDESType type, ubyte[] data)Add a new SDES entry to the current item in packet.bool sdesAddItem(uint ssrc)Add a new SDES item for ssrc to packet.bool sdesCopyEntry(out gstrtp.types.RTCPSDESType type, out 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.bool sdesFirstEntry()Move to the first SDES entry in the current item. Returns: true if there was a first entry.bool sdesFirstItem()Move to the first SDES item in packet. Returns: TRUE if there was a first item.bool sdesGetEntry(out gstrtp.types.RTCPSDESType type, out 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.uint sdesGetItemCount()Get the number of items in the SDES packet packet. Returns: The number of items in packet.uint sdesGetSsrc()Get the SSRC of the current SDES item. Returns: the SSRC of the current item.bool sdesNextEntry()Move to the next SDES entry in the current item. Returns: true if there was a next entry.bool sdesNextItem()Move to the next SDES item in packet. Returns: TRUE if there was a next item.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.void srGetSenderInfo(out uint ssrc, out ulong ntptime, out uint rtptime, out uint packetCount, out uint octetCount)Parse the SR sender info and store the values.void srSetSenderInfo(uint ssrc, ulong ntptime, uint rtptime, uint packetCount, uint octetCount)Set the given values in the SR packet packet.bool xrFirstRb()Move to the first extended report block in XR packet. Returns: TRUE if there was a first extended report block.ushort xrGetBlockLength()gstrtp.types.RTCPXRType xrGetBlockType()Get the extended report block type of the XR packet. Returns: The extended report block type.bool xrGetDlrrBlock(uint nth, out uint ssrc, out uint lastRr, out uint delay)Parse the extended report block for DLRR report block type.bool xrGetPrtBySeq(ushort seq, out uint receiptTime)Retrieve the packet receipt time of seq which ranges in [beginseq, endseq).bool xrGetPrtInfo(out uint ssrc, out ubyte thinning, out ushort beginSeq, out ushort endSeq)Parse the Packet Recept Times Report Block from a XR packetbool xrGetRleInfo(out uint ssrc, out ubyte thinning, out ushort beginSeq, out ushort endSeq, out uint chunkCount)Parse the extended report block for Loss RLE and Duplicated LRE block type.bool xrGetRleNthChunk(uint nth, out ushort chunk)Retrieve actual chunk data.bool xrGetRrt(out ulong timestamp)uint xrGetSsrc()Get the ssrc field of the XR packet. Returns: the ssrc.bool xrGetSummaryInfo(out uint ssrc, out ushort beginSeq, out ushort endSeq)Extract a basic information from static summary report block of XR packet.bool xrGetSummaryJitter(out uint minJitter, out uint maxJitter, out uint meanJitter, out 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.bool xrGetSummaryPkt(out uint lostPackets, out uint dupPackets)Get the number of lost or duplicate packets. If the flag in a block header is set as zero, lostpackets or duppackets will be zero.bool xrGetSummaryTtl(out bool isIpv4, out ubyte minTtl, out ubyte maxTtl, out ubyte meanTtl, out ubyte devTtl)Extract the value of ttl for ipv4, or hop limit for ipv6.bool xrGetVoipBurstMetrics(out ubyte burstDensity, out ubyte gapDensity, out ushort burstDuration, out ushort gapDuration)bool xrGetVoipConfigurationParams(out ubyte gmin, out ubyte rxConfig)bool xrGetVoipDelayMetrics(out ushort roundtripDelay, out ushort endSystemDelay)bool xrGetVoipJitterBufferParams(out ushort jbNominal, out ushort jbMaximum, out ushort jbAbsMax)bool xrGetVoipMetricsSsrc(out uint ssrc)bool xrGetVoipPacketMetrics(out ubyte lossRate, out ubyte discardRate)bool xrGetVoipQualityMetrics(out ubyte rFactor, out ubyte extRFactor, out ubyte mosLq, out ubyte mosCq)bool xrGetVoipSignalMetrics(out ubyte signalLevel, out ubyte noiseLevel, out ubyte rerl, out ubyte gmin)bool xrNextRb()Move to the next extended report block in XR packet. Returns: TRUE if there was a next extended report block.