Versions in this module Expand all Collapse all v0 v0.0.5 Jan 16, 2024 v0.0.4 Jan 4, 2024 v0.0.3 Dec 8, 2023 v0.0.2 Dec 8, 2023 v0.0.1 Dec 8, 2023 Changes in this version + const BaseHeaderLength + const MaxRtpRtcpPacketSize + const NaluTypeAvcFua + const NaluTypeAvcSingleMax + const NaluTypeAvcStapa + const NaluTypeHevcAp + const NaluTypeHevcFua + const PositionTypeAp + const PositionTypeFuaEnd + const PositionTypeFuaMiddle + const PositionTypeFuaStart + const PositionTypeSingle + const PositionTypeStapa + const PositionTypeUnknown + const PositionTypeVp8Continuation + const PositionTypeVp8Start + const RtcpHeaderLength + const RtcpPacketTypeApp + const RtcpPacketTypeRr + const RtcpPacketTypeSr + const RtcpVersion + func CompareSeq(a, b uint16) int + func IsAvcBoundary(pkt RTPPacket) bool + func IsHevcBoundary(pkt RTPPacket) bool + func SubSeq(a, b uint16) int + func SubSeqOne(a uint16) uint16 + type Extension struct + type Header struct + CSRC []uint32 + Extension bool + ExtensionProfile uint16 + Extensions []Extension + Marker bool + Padding bool + PayloadType uint8 + SSRC uint32 + SequenceNumber uint16 + Timestamp uint32 + Version uint8 + func (h *Header) MarshalSize() int + func (self *Header) DelExtension(id uint8) error + func (self *Header) GetExtension(id uint8) []byte + func (self *Header) Marshal() []byte + func (self *Header) SetCSRC(CSRC uint32) + func (self *Header) SetExtension(id uint8, payload []byte) error + func (self *Header) Unmarshal(rawPacket []byte) (int, int) + type IRtpPacker interface + GetSeq func() uint16 + Pack func(pkt media.AvPacket) (out []RTPPacket) + func DefaultRtpPackerFactory(mediaType media.AvMediaType, clockRate int, payloadType uint8, ...) IRtpPacker + type IRtpPayloadProtocol interface + CalcPositionIfNeeded func(pkt *RTPPacket) + SplitPayload func(payload []byte, maxMtu uint32) (out [][]byte) + TryUnpackOne func(list *RtpPacketList) (unpackedFlag bool, unpackedSeq uint16) + type IRtpUnpacker interface + Feed func(pkt RTPPacket) + func DefaultRtpUnpackerFactory(mediaType media.AvMediaType, clockRate int, maxSize int, onAvPacket OnAvPacket) IRtpUnpacker + type ModRtpPackerOption func(option *RtpPackerOption) + type OnAvPacket func(pkt media.AvPacket) + type RTPPacket struct + PaddingData []byte + Payload []byte + Raw []byte + func (self *RTPPacket) Marshal() []byte + func (self *RTPPacket) SetPadding(padding []byte) + func (self *RTPPacket) String() string + func (self *RTPPacket) Unmarshal(rawPacket []byte) bool + type Rr struct + func (r *Rr) Pack() []byte + type RrProducer struct + func NewRrProducer(clockRate int) *RrProducer + func (r *RrProducer) FeedRtpPacket(seq uint16) + func (r *RrProducer) Produce(lsr uint32) []byte + type RtcpHeader struct + CountOrFormat uint8 + Length uint16 + PacketType uint8 + Padding uint8 + Version uint8 + func ParseRtcpHeader(b []byte) RtcpHeader + func (r *RtcpHeader) PackTo(out []byte) + type RtpPacker struct + func NewRtpPacker(payloadProtocol IRtpPayloadProtocol, clockRate int, payloadType uint8, ...) *RtpPacker + func (r *RtpPacker) GetSeq() (ret uint16) + func (r *RtpPacker) Pack(avPacket media.AvPacket) (out []RTPPacket) + type RtpPackerOption struct + MaxPayloadSize uint32 + PTime uint32 + type RtpPacketList struct + Head RtpPacketListItem + Size int + func (l *RtpPacketList) DropOneFrame() + func (l *RtpPacketList) Full() bool + func (l *RtpPacketList) InitMaxSize(maxSize int) + func (l *RtpPacketList) Insert(pkt RTPPacket) + func (l *RtpPacketList) IsFirstSequential() bool + func (l *RtpPacketList) IsStale(seq uint16) bool + func (l *RtpPacketList) PeekFirst() RTPPacket + func (l *RtpPacketList) PopFirst() RTPPacket + func (l *RtpPacketList) Reset() + func (l *RtpPacketList) SetDoneSeq(seq uint16) + type RtpPacketListItem struct + Next *RtpPacketListItem + Packet RTPPacket + type RtpPayloadProtocolAac struct + func NewRtpPayloadProtocolAac(mediaType media.AvMediaType, clockRate int, onAvPacket OnAvPacket) *RtpPayloadProtocolAac + func (protocol *RtpPayloadProtocolAac) CalcPositionIfNeeded(pkt *RTPPacket) + func (protocol *RtpPayloadProtocolAac) SplitPayload(payload []byte, maxMtu uint32) (out [][]byte) + func (protocol *RtpPayloadProtocolAac) TryUnpackOne(list *RtpPacketList) (unpackedFlag bool, unpackedSeq uint16) + type RtpPayloadProtocolH264H265 struct + func NewRtpPayloadProtocolH264H265(mediaType media.AvMediaType, clockRate int, onAvPacket OnAvPacket) *RtpPayloadProtocolH264H265 + func (protocol *RtpPayloadProtocolH264H265) CalcPositionIfNeeded(pkt *RTPPacket) + func (protocol *RtpPayloadProtocolH264H265) SplitPayload(payload []byte, maxMtu uint32) (out [][]byte) + func (protocol *RtpPayloadProtocolH264H265) TryUnpackOne(list *RtpPacketList) (unpackedFlag bool, unpackedSeq uint16) + type RtpPayloadProtocolRaw struct + func NewRtpPayloadProtocolRaw(mediaType media.AvMediaType, clockRate int, onAvPacket OnAvPacket) *RtpPayloadProtocolRaw + func (protocol *RtpPayloadProtocolRaw) CalcPositionIfNeeded(pkt *RTPPacket) + func (protocol *RtpPayloadProtocolRaw) SplitPayload(payload []byte, maxMtu uint32) (out [][]byte) + func (protocol *RtpPayloadProtocolRaw) TryUnpackOne(list *RtpPacketList) (unpackedFlag bool, unpackedSeq uint16) + type RtpPayloadProtocolVP8 struct + func NewRtpPayloadProtocolVP8(mediaType media.AvMediaType, clockRate int, onAvPacket OnAvPacket) *RtpPayloadProtocolVP8 + func (protocol *RtpPayloadProtocolVP8) CalcPositionIfNeeded(pkt *RTPPacket) + func (protocol *RtpPayloadProtocolVP8) SplitPayload(payload []byte, maxMtu uint32) (out [][]byte) + func (protocol *RtpPayloadProtocolVP8) TryUnpackOne(list *RtpPacketList) (unpackedFlag bool, unpackedSeq uint16) + type RtpUnpackContainer struct + func NewRtpUnpackContainer(maxSize int, payloadProtocol IRtpPayloadProtocol) *RtpUnpackContainer + func (r *RtpUnpackContainer) Feed(pkt RTPPacket) + type RtpUnpackVideoContainer struct + func NewRtpUnpackVideoContainer(payloadProtocol IRtpPayloadProtocol) *RtpUnpackVideoContainer + func (r *RtpUnpackVideoContainer) Feed(pkt RTPPacket) + type Sr struct + Lsw uint32 + Msw uint32 + OctetCnt uint32 + PktCnt uint32 + SenderSsrc uint32 + Timestamp uint32 + func ParseSr(b []byte) Sr + func (s *Sr) GetMiddleNtp() uint32