package rtp
Import Path
github.com/pion/rtp (on go.dev)
Dependency Relation
imports 9 packages, and imported by 10 packages
Involved Source Files
abscapturetimeextension.go
abssendtimeextension.go
audiolevelextension.go
depacketizer.go
error.go
header_extension.go
packet.go
packetizer.go
partitionheadchecker.go
payload_types.go
playoutdelayextension.go
rand.go
Package rtp provides RTP packetizer and depacketizer
sequencer.go
transportccextension.go
vlaextension.go
Package-Level Type Names (total 20)
AbsCaptureTimeExtension is a extension payload format in.
http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID | len=7 | absolute capture timestamp (bit 0-23) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| absolute capture timestamp (bit 24-55) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... (56-63) |
+-+-+-+-+-+-+-+-+
.
EstimatedCaptureClockOffset *int64
Timestamp uint64
CaptureTime produces the estimated time.Time represented by this extension.
EstimatedCaptureClockOffsetDuration produces the estimated time.Duration represented by this extension.
Marshal serializes the members to buffer.
Unmarshal parses the passed byte slice and stores the result in the members.
*AbsCaptureTimeExtension : github.com/pion/rtcp.PacketStatusChunk
AbsCaptureTimeExtension : github.com/gogo/protobuf/proto.Marshaler
*AbsCaptureTimeExtension : github.com/gogo/protobuf/proto.Unmarshaler
AbsCaptureTimeExtension : github.com/golang/protobuf/proto.Marshaler
*AbsCaptureTimeExtension : github.com/golang/protobuf/proto.Unmarshaler
func NewAbsCaptureTimeExtension(captureTime time.Time) *AbsCaptureTimeExtension
func NewAbsCaptureTimeExtensionWithCaptureClockOffset(captureTime time.Time, captureClockOffset time.Duration) *AbsCaptureTimeExtension
AbsSendTimeExtension is a extension payload format in
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
Timestamp uint64
Estimate absolute send time according to the receive time.
Note that if the transmission delay is larger than 64 seconds, estimated time will be wrong.
Marshal serializes the members to buffer.
Unmarshal parses the passed byte slice and stores the result in the members.
*AbsSendTimeExtension : github.com/pion/rtcp.PacketStatusChunk
AbsSendTimeExtension : github.com/gogo/protobuf/proto.Marshaler
*AbsSendTimeExtension : github.com/gogo/protobuf/proto.Unmarshaler
AbsSendTimeExtension : github.com/golang/protobuf/proto.Marshaler
*AbsSendTimeExtension : github.com/golang/protobuf/proto.Unmarshaler
func NewAbsSendTimeExtension(sendTime time.Time) *AbsSendTimeExtension
AudioLevelExtension is a extension payload format described in
https://tools.ietf.org/html/rfc6464
Implementation based on:
https://chromium.googlesource.com/external/webrtc/+/e2a017725570ead5946a4ca8235af27470ca0df9/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc#49
One byte format:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID | len=0 |V| level |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Two byte format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID | len=1 |V| level | 0 (pad) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Level uint8
Voice bool
Marshal serializes the members to buffer.
Unmarshal parses the passed byte slice and stores the result in the members.
*AudioLevelExtension : github.com/pion/rtcp.PacketStatusChunk
AudioLevelExtension : github.com/gogo/protobuf/proto.Marshaler
*AudioLevelExtension : github.com/gogo/protobuf/proto.Unmarshaler
AudioLevelExtension : github.com/golang/protobuf/proto.Marshaler
*AudioLevelExtension : github.com/golang/protobuf/proto.Unmarshaler
Depacketizer depacketizes a RTP payload, removing any RTP specific data from the payload.
Checks if the packet is at the beginning of a partition. This
should return false if the result could not be determined, in
which case the caller will detect timestamp discontinuities.
Checks if the packet is at the end of a partition. This should
return false if the result could not be determined.
Unmarshal parses the RTP payload and returns media.
Metadata may be stored on the Depacketizer itself
*github.com/pion/rtp/codecs.AV1Depacketizer
*github.com/pion/rtp/codecs.H264Packet
*github.com/pion/rtp/codecs.H265Packet
*github.com/pion/rtp/codecs.OpusPacket
*github.com/pion/rtp/codecs.VP8Packet
*github.com/pion/rtp/codecs.VP9Packet
Depacketizer : PartitionHeadChecker
Extension RTP Header extension.
Header represents an RTP packet header.
CSRC []uint32
Extension bool
ExtensionProfile uint16
Extensions []Extension
Marker bool
Padding bool
PaddingLength is the length of the padding in bytes. It is not part of the RTP header
(it is sent in the last byte of RTP packet padding), but logically it belongs here.
Deprecated: will be removed in a future version.
PayloadType uint8
SSRC uint32
SequenceNumber uint16
Timestamp uint32
Version uint8
Clone returns a deep copy h.
DelExtension Removes an RTP Header extension.
GetExtension returns an RTP header extension.
GetExtensionIDs returns an extension id array.
Marshal serializes the header into bytes.
MarshalSize returns the size of the header once marshaled.
MarshalTo serializes the header and writes to the buffer.
SetExtension sets an RTP header extension.
Unmarshal parses the passed byte slice and stores the result in the Header.
It returns the number of bytes read n and any error.
Header : github.com/gogo/protobuf/proto.Marshaler
Header : github.com/golang/protobuf/proto.Marshaler
func Header.Clone() Header
func github.com/pion/interceptor.Attributes.GetRTPHeader(raw []byte) (*Header, error)
func github.com/pion/interceptor/internal/rtpbuffer.(*RetainablePacket).Header() *Header
func github.com/pion/srtp/v3.(*ReadStreamSRTP).ReadRTP(buf []byte) (int, *Header, error)
func HeaderAndPacketMarshalSize(header *Header, payload []byte) (headerSize int, packetSize int)
func MarshalPacketTo(buf []byte, header *Header, payload []byte) (int, error)
func PacketMarshalSize(header *Header, payload []byte) int
func github.com/pion/interceptor.RTPWriter.Write(header *Header, payload []byte, attributes interceptor.Attributes) (int, error)
func github.com/pion/interceptor.RTPWriterFunc.Write(header *Header, payload []byte, attributes interceptor.Attributes) (int, error)
func github.com/pion/interceptor/internal/rtpbuffer.PacketFactory.NewPacket(header *Header, payload []byte, rtxSsrc uint32, rtxPayloadType uint8) (*rtpbuffer.RetainablePacket, error)
func github.com/pion/interceptor/internal/rtpbuffer.(*PacketFactoryCopy).NewPacket(header *Header, payload []byte, rtxSsrc uint32, rtxPayloadType uint8) (*rtpbuffer.RetainablePacket, error)
func github.com/pion/interceptor/internal/rtpbuffer.(*PacketFactoryNoOp).NewPacket(header *Header, payload []byte, _ uint32, _ uint8) (*rtpbuffer.RetainablePacket, error)
func github.com/pion/srtp/v3.(*Context).DecryptRTP(dst, encrypted []byte, header *Header) ([]byte, error)
func github.com/pion/srtp/v3.(*Context).EncryptRTP(dst []byte, plaintext []byte, header *Header) ([]byte, error)
func github.com/pion/srtp/v3.(*WriteStreamSRTP).WriteRTP(header *Header, payload []byte) (int, error)
func github.com/pion/webrtc/v4.TrackLocalWriter.WriteRTP(header *Header, payload []byte) (int, error)
HeaderExtension represents an RTP extension header.
( HeaderExtension) Del(id uint8) error
( HeaderExtension) Get(id uint8) []byte
( HeaderExtension) GetIDs() []uint8
( HeaderExtension) Marshal() ([]byte, error)
( HeaderExtension) MarshalSize() int
( HeaderExtension) MarshalTo(buf []byte) (int, error)
( HeaderExtension) Set(id uint8, payload []byte) error
( HeaderExtension) Unmarshal(buf []byte) (int, error)
*OneByteHeaderExtension
*RawExtension
*TwoByteHeaderExtension
HeaderExtension : github.com/gogo/protobuf/proto.Marshaler
HeaderExtension : github.com/golang/protobuf/proto.Marshaler
OneByteHeaderExtension is an RFC8285 one-byte header extension.
Del deletes the extension with the specified ID.
Get returns the payload of the extension with the given ID.
GetIDs returns the available IDs.
Marshal returns the extension payload.
MarshalSize returns the size of the extension payload.
MarshalTo writes the extension payload to the given buffer.
Set sets the extension payload for the specified ID.
Unmarshal parses the extension payload.
*OneByteHeaderExtension : HeaderExtension
OneByteHeaderExtension : github.com/gogo/protobuf/proto.Marshaler
OneByteHeaderExtension : github.com/golang/protobuf/proto.Marshaler
Packet represents an RTP Packet.
Header Header
Header.CSRC []uint32
Header.Extension bool
Header.ExtensionProfile uint16
Header.Extensions []Extension
Header.Marker bool
Header.Padding bool
Deprecated: will be removed in a future version.
Header.PayloadType uint8
Header.SSRC uint32
Header.SequenceNumber uint16
Header.Timestamp uint32
Header.Version uint8
// Deprecated: will be removed in a future version. Use Header.PaddingSize instead.
Payload []byte
Deprecated: will be removed in a future version.
Clone returns a deep copy of p.
DelExtension Removes an RTP Header extension.
GetExtension returns an RTP header extension.
GetExtensionIDs returns an extension id array.
Marshal serializes the packet into bytes.
MarshalSize returns the size of the packet once marshaled.
MarshalTo serializes the packet and writes to the buffer.
SetExtension sets an RTP header extension.
String helps with debugging by printing packet information in a readable way.
Unmarshal parses the passed byte slice and stores the result in the Packet.
*Packet : github.com/pion/rtcp.PacketStatusChunk
Packet : github.com/gogo/protobuf/proto.Marshaler
*Packet : github.com/gogo/protobuf/proto.Unmarshaler
Packet : github.com/golang/protobuf/proto.Marshaler
*Packet : github.com/golang/protobuf/proto.Unmarshaler
Packet : expvar.Var
Packet : fmt.Stringer
func Packet.Clone() *Packet
func Packetizer.GeneratePadding(samples uint32) []*Packet
func Packetizer.Packetize(payload []byte, samples uint32) []*Packet
func github.com/pion/interceptor/pkg/flexfec.FlexEncoder.EncodeFec(mediaPackets []Packet, numFecPackets uint32) []Packet
func github.com/pion/interceptor/pkg/flexfec.(*FlexEncoder03).EncodeFec(mediaPackets []Packet, numFecPackets uint32) []Packet
func github.com/pion/interceptor/pkg/flexfec.(*FlexEncoder20).EncodeFec(mediaPackets []Packet, numFecPackets uint32) []Packet
func github.com/pion/interceptor/pkg/flexfec/util.(*MediaPacketIterator).First() *Packet
func github.com/pion/interceptor/pkg/flexfec/util.(*MediaPacketIterator).Next() *Packet
func github.com/pion/webrtc/v4.(*TrackRemote).ReadRTP() (*Packet, interceptor.Attributes, error)
func github.com/pion/interceptor/pkg/flexfec.NewCoverage(mediaPackets []Packet, numFecPackets uint32) *flexfec.ProtectionCoverage
func github.com/pion/interceptor/pkg/flexfec.FlexEncoder.EncodeFec(mediaPackets []Packet, numFecPackets uint32) []Packet
func github.com/pion/interceptor/pkg/flexfec.(*FlexEncoder03).EncodeFec(mediaPackets []Packet, numFecPackets uint32) []Packet
func github.com/pion/interceptor/pkg/flexfec.(*FlexEncoder20).EncodeFec(mediaPackets []Packet, numFecPackets uint32) []Packet
func github.com/pion/interceptor/pkg/flexfec.(*ProtectionCoverage).UpdateCoverage(mediaPackets []Packet, numFecPackets uint32)
func github.com/pion/interceptor/pkg/flexfec/util.NewMediaPacketIterator(mediaPackets []Packet, coveredIndices []uint32) *util.MediaPacketIterator
func github.com/pion/webrtc/v4.(*TrackLocalStaticRTP).WriteRTP(p *Packet) error
func github.com/pion/webrtc/v4/pkg/media.Writer.WriteRTP(packet *Packet) error
Packetizer packetizes a payload.
( Packetizer) EnableAbsSendTime(value int)
( Packetizer) GeneratePadding(samples uint32) []*Packet
( Packetizer) Packetize(payload []byte, samples uint32) []*Packet
( Packetizer) SkipSamples(skippedSamples uint32)
func NewPacketizer(mtu uint16, pt uint8, ssrc uint32, payloader Payloader, sequencer Sequencer, clockRate uint32) Packetizer
func NewPacketizerWithOptions(mtu uint16, payloader Payloader, sequencer Sequencer, clockRate uint32, options ...PacketizerOption) Packetizer
PacketizerOption is a function that configures a RTP Packetizer.
func NewPacketizerWithOptions(mtu uint16, payloader Payloader, sequencer Sequencer, clockRate uint32, options ...PacketizerOption) Packetizer
PartitionHeadChecker is the interface that checks whether the packet is keyframe or not.
( PartitionHeadChecker) IsPartitionHead([]byte) bool
Depacketizer (interface)
*github.com/pion/rtp/codecs.AV1Depacketizer
*github.com/pion/rtp/codecs.H264Packet
*github.com/pion/rtp/codecs.H264PartitionHeadChecker
*github.com/pion/rtp/codecs.H265Packet
*github.com/pion/rtp/codecs.OpusPacket
*github.com/pion/rtp/codecs.OpusPartitionHeadChecker
*github.com/pion/rtp/codecs.VP8Packet
*github.com/pion/rtp/codecs.VP8PartitionHeadChecker
*github.com/pion/rtp/codecs.VP9Packet
*github.com/pion/rtp/codecs.VP9PartitionHeadChecker
Payloader payloads a byte array for use as rtp.Packet payloads.
( Payloader) Payload(mtu uint16, payload []byte) [][]byte
*github.com/pion/rtp/codecs.AV1Payloader
*github.com/pion/rtp/codecs.G711Payloader
*github.com/pion/rtp/codecs.G722Payloader
*github.com/pion/rtp/codecs.H264Payloader
*github.com/pion/rtp/codecs.H265Payloader
*github.com/pion/rtp/codecs.OpusPayloader
*github.com/pion/rtp/codecs.VP8Payloader
*github.com/pion/rtp/codecs.VP9Payloader
func NewPacketizer(mtu uint16, pt uint8, ssrc uint32, payloader Payloader, sequencer Sequencer, clockRate uint32) Packetizer
func NewPacketizerWithOptions(mtu uint16, payloader Payloader, sequencer Sequencer, clockRate uint32, options ...PacketizerOption) Packetizer
PlayoutDelayExtension is a extension payload format in
http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID | len=2 | MIN delay | MAX delay |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
MaxDelay uint16
MinDelay uint16
Marshal serializes the members to buffer.
Unmarshal parses the passed byte slice and stores the result in the members.
*PlayoutDelayExtension : github.com/pion/rtcp.PacketStatusChunk
PlayoutDelayExtension : github.com/gogo/protobuf/proto.Marshaler
*PlayoutDelayExtension : github.com/gogo/protobuf/proto.Unmarshaler
PlayoutDelayExtension : github.com/golang/protobuf/proto.Marshaler
*PlayoutDelayExtension : github.com/golang/protobuf/proto.Unmarshaler
RawExtension represents an RFC3550 header extension.
Del deletes the extension with the specified ID.
Get returns the payload of the extension with the given ID.
GetIDs returns the available IDs.
Marshal returns the raw extension payload.
MarshalSize returns the size of the extension when marshaled.
MarshalTo marshals the extension to the given buffer.
Set sets the extension payload for the specified ID.
Unmarshal parses the extension from the given buffer.
*RawExtension : HeaderExtension
RawExtension : github.com/gogo/protobuf/proto.Marshaler
RawExtension : github.com/golang/protobuf/proto.Marshaler
Sequencer generates sequential sequence numbers for building RTP packets.
( Sequencer) NextSequenceNumber() uint16
( Sequencer) RollOverCount() uint64
func NewFixedSequencer(s uint16) Sequencer
func NewRandomSequencer() Sequencer
func NewPacketizer(mtu uint16, pt uint8, ssrc uint32, payloader Payloader, sequencer Sequencer, clockRate uint32) Packetizer
func NewPacketizerWithOptions(mtu uint16, payloader Payloader, sequencer Sequencer, clockRate uint32, options ...PacketizerOption) Packetizer
SpatialLayer is a spatial layer in VLA.
Framerate int
Height int
RTPStreamID int
SpatialID int
// target bitrates per temporal layer
Following members are valid only when HasResolutionAndFramerate is true
TransportCCExtension is a extension payload format in
https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0xBE | 0xDE | length=1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ID | L=1 |transport-wide sequence number | zero padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.
TransportSequence uint16
Marshal serializes the members to buffer.
Unmarshal parses the passed byte slice and stores the result in the members.
*TransportCCExtension : github.com/pion/rtcp.PacketStatusChunk
TransportCCExtension : github.com/gogo/protobuf/proto.Marshaler
*TransportCCExtension : github.com/gogo/protobuf/proto.Unmarshaler
TransportCCExtension : github.com/golang/protobuf/proto.Marshaler
*TransportCCExtension : github.com/golang/protobuf/proto.Unmarshaler
TwoByteHeaderExtension is an RFC8285 two-byte header extension.
Del deletes the extension with the specified ID.
Get returns the payload of the extension with the given ID.
GetIDs returns the available IDs.
Marshal returns the extension payload.
MarshalSize returns the size of the extension payload.
MarshalTo marshals the extension to the given buffer.
Set sets the extension payload for the specified ID.
Unmarshal parses the extension payload.
*TwoByteHeaderExtension : HeaderExtension
TwoByteHeaderExtension : github.com/gogo/protobuf/proto.Marshaler
TwoByteHeaderExtension : github.com/golang/protobuf/proto.Marshaler
VLA is a Video Layer Allocation (VLA) extension.
See https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/video-layers-allocation00
ActiveSpatialLayer []SpatialLayer
HasResolutionAndFramerate bool
// Number of RTP streams (1..4)
// 0-origin RTP stream ID (RID) this allocation is sent on (0..3)
Marshal encodes VLA into a byte slice.
String makes VLA printable.
Unmarshal decodes VLA from a byte slice.
VLA : github.com/gogo/protobuf/proto.Marshaler
VLA : github.com/golang/protobuf/proto.Marshaler
VLA : expvar.Var
VLA : fmt.Stringer
Package-Level Functions (total 13)
HeaderAndPacketMarshalSize returns the size of the header and full packet once marshaled.
Parts of pion code passes RTP header and payload separately, so this function
is provided to help with that.
Deprecated: this function is a temporary workaround and will be removed in pion/webrtc v5.
MarshalPacketTo serializes the header and payload into bytes.
Parts of pion code passes RTP header and payload separately, so this function
is provided to help with that.
Deprecated: this function is a temporary workaround and will be removed in pion/webrtc v5.
NewAbsCaptureTimeExtension makes new AbsCaptureTimeExtension from time.Time.
NewAbsCaptureTimeExtensionWithCaptureClockOffset makes new AbsCaptureTimeExtension from time.Time and a clock offset.
NewAbsSendTimeExtension makes new AbsSendTimeExtension from time.Time.
NewFixedSequencer returns a new sequencer starting from a specific
sequence number.
NewPacketizer returns a new instance of a Packetizer for a specific payloader.
NewPacketizerWithOptions returns a new instance of a Packetizer with the given options.
NewRandomSequencer returns a new sequencer starting from a random sequence
number.
PacketMarshalSize returns the size of the header and payload once marshaled.
Parts of pion code passes RTP header and payload separately, so this function
is provided to help with that.
Deprecated: this function is a temporary workaround and will be removed in pion/webrtc v5.
WithPayloadType sets the PayloadType for the Packetizer.
WithSSRC sets the SSRC for the Packetizer.
WithTimestamp sets the initial Timestamp for the Packetizer.
Package-Level Variables (total 6)
ErrVLADuplicateSpatialID is returned when spatial ID is invalid.
ErrVLAInvalidSpatialID is returned when spatial ID is invalid.
ErrVLAInvalidStreamCount is returned when RTP stream count is invalid.
ErrVLAInvalidStreamID is returned when RTP stream ID is invalid.
ErrVLAInvalidTemporalLayer is returned when temporal layer is invalid.
ErrVLATooShort is returned when payload is too short.
Package-Level Constants (total 29)
CryptexProfileOneByte is the Cryptex One Byte Header Extension Profile, defined in RFC 9335.
CryptexProfileTwoByte is the Cryptex Two Byte Header Extension Profile, defined in RFC 9335.
ExtensionProfileOneByte is the RTP One Byte Header Extension Profile, defined in RFC 8285.
ExtensionProfileTwoByte is the RTP Two Byte Header Extension Profile, defined in RFC 8285.
PayloadTypeCELLB is a payload type for Sun CellB video (RFC 2029).
PayloadTypeCN is a payload type for Comfort noise (RFC 3389).
PayloadTypeDVI4_11025 is a payload type for IMA ADPCM audio 44.1 kbit/s (RFC 3551).
PayloadTypeDVI4_16000 is a payload type for IMA ADPCM audio 64 kbit/s (RFC 3551).
PayloadTypeDVI4_22050 is a payload type for IMA ADPCM audio 88.2 kbit/s (RFC 3551).
PayloadTypeDVI4_8000 is a payload type for IMA ADPCM audio 32 kbit/s (RFC 3551).
PayloadTypeFirstDynamic is a first non-static payload type.
PayloadTypeG722 is a payload type for ITU-T G.722 audio 64 kbit/s (RFC 3551).
PayloadTypeG723 is a payload type for ITU-T G.723.1 audio (RFC 3551).
PayloadTypeG728 is a payload type for ITU-T G.728 audio 16 kbit/s (RFC 3551).
PayloadTypeG729 is a payload type for ITU-T G.729 and G.729a audio 8 kbit/s (RFC 3551, RFC 3555).
PayloadTypeGSM is a payload type for European GSM Full Rate audio 13 kbit/s (GSM 06.10).
PayloadTypeH261 is a payload type for ITU-T H.261 video (RFC 4587).
PayloadTypeH263 is a payload type for H.263 video, first version (1996, RFC 3551, RFC 2190).
PayloadTypeJPEG is a payload type for JPEG video (RFC 2435).
PayloadTypeL16Mono is a payload type for Linear PCM 16-bit audio 705.6 kbit/s, uncompressed (RFC 3551).
PayloadTypeL16Stereo is a payload type for Linear PCM 16-bit Stereo audio 1411.2 kbit/s, uncompressed (RFC 3551).
PayloadTypeLPC is a payload type for Experimental Linear Predictive Coding audio 5.6 kbit/s (RFC 3551).
PayloadTypeMP2T is a payload type for MPEG-2 transport stream (RFC 2250).
PayloadTypeMPA is a payload type for MPEG-1 or MPEG-2 audio only (RFC 3551, RFC 2250).
PayloadTypeMPV is a payload type for MPEG-1 and MPEG-2 video (RFC 2250).
PayloadTypeNV is a payload type for Xerox PARC's Network Video (nv, RFC 3551).
PayloadTypePCMA is a payload type for ITU-T G.711 PCM A-Law audio 64 kbit/s (RFC 3551).
PayloadTypePCMU is a payload type for ITU-T G.711 PCM μ-Law audio 64 kbit/s (RFC 3551).
PayloadTypeQCELP is a payload type for Qualcomm Code Excited Linear Prediction (RFC 2658, RFC 3551).
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |