Help us shape the future of Go! Take the 2026 Go Developer Survey

rtpklv

package
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package rtpklv contains a RTP decoder and encoder for KLV data.

Index

Constants

This section is empty.

Variables

View Source
var ErrMorePacketsNeeded = errors.New("need more packets")

ErrMorePacketsNeeded is returned when more packets are needed to complete a KLV unit.

View Source
var ErrNonStartingPacketAndNoPrevious = errors.New(
	"received a non-starting fragment without any previous starting fragment")

ErrNonStartingPacketAndNoPrevious is returned when we received a non-starting packet of a fragmented KLV unit and we didn't receive anything before. It's normal to receive this when decoding a stream that has been already running for some time.

Functions

This section is empty.

Types

type Decoder

type Decoder struct {
	// contains filtered or unexported fields
}

Decoder is a RTP/KLV decoder. Specification: RFC6597

func (*Decoder) Decode

func (d *Decoder) Decode(pkt *rtp.Packet) ([]byte, error)

Decode decodes a KLV unit from RTP packets. It returns the complete KLV unit when all packets have been received, or ErrMorePacketsNeeded if more packets are needed.

func (*Decoder) Init

func (d *Decoder) Init() error

Init initializes the decoder.

type Encoder

type Encoder struct {
	// payload type of packets.
	PayloadType uint8

	// SSRC of packets (optional).
	// It defaults to a random value.
	SSRC *uint32

	// initial sequence number of packets (optional).
	// It defaults to a random value.
	InitialSequenceNumber *uint16

	// maximum size of packet payloads (optional).
	// It defaults to 1450.
	PayloadMaxSize int
	// contains filtered or unexported fields
}

Encoder is a RTP/KLV encoder. Specification: RFC6597

func (*Encoder) Encode

func (e *Encoder) Encode(unit []byte) ([]*rtp.Packet, error)

Encode encodes a KLV unit into RTP packets.

func (*Encoder) Init

func (e *Encoder) Init() error

Init initializes the encoder.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL