libpromeki main
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
RtpPayloadL16 Class Reference

RTP payload handler for 16-bit linear audio (L16). More...

#include <rtppayload.h>

Inheritance diagram for RtpPayloadL16:
Collaboration diagram for RtpPayloadL16:

Public Member Functions

 RtpPayloadL16 (uint32_t sampleRate=48000, int channels=2)
 Constructs an L16 payload handler.
 
uint8_t payloadType () const override
 Returns the RTP payload type number.
 
uint32_t clockRate () const override
 Returns the RTP timestamp clock rate in Hz.
 
RtpPacket::List pack (const void *mediaData, size_t size) override
 Fragments media data into RTP payload packets.
 
Buffer unpack (const RtpPacket::List &packets) override
 Reassembles RTP payload packets into media data.
 
void setPayloadType (uint8_t pt)
 Sets the RTP payload type number.
 
int channels () const
 Returns the number of audio channels.
 
uint32_t sampleRate () const
 Returns the audio sample rate.
 
- Public Member Functions inherited from RtpPayload
virtual ~RtpPayload ()=default
 Destructor.
 
virtual size_t maxPayloadSize () const
 Returns the maximum payload size per packet.
 

Additional Inherited Members

- Protected Member Functions inherited from RtpPayload
 RtpPayload ()=default
 Default constructor (protected; use a concrete subclass).
 

Detailed Description

RTP payload handler for 16-bit linear audio (L16).

Implements packing/unpacking of 16-bit linear PCM audio samples. Samples are in network byte order (big-endian), interleaved by channel.

Example
RtpPayloadL16 payload(48000, 2);
auto packets = payload.pack(audioData, audioSize);
Dynamic array container wrapping std::vector.
Definition list.h:40
RTP payload handler for 16-bit linear audio (L16).
Definition rtppayload.h:142

Constructor & Destructor Documentation

◆ RtpPayloadL16()

RtpPayloadL16::RtpPayloadL16 ( uint32_t  sampleRate = 48000,
int  channels = 2 
)

Constructs an L16 payload handler.

Parameters
sampleRateAudio sample rate in Hz (default 48000).
channelsNumber of audio channels (default 2).

Member Function Documentation

◆ clockRate()

uint32_t RtpPayloadL16::clockRate ( ) const
inlineoverridevirtual

Returns the RTP timestamp clock rate in Hz.

Implements RtpPayload.

◆ pack()

RtpPacket::List RtpPayloadL16::pack ( const void mediaData,
size_t  size 
)
overridevirtual

Fragments media data into RTP payload packets.

Each returned RtpPacket includes space for the 12-byte RTP header at the start, followed by any payload-specific header, followed by the media data fragment. All returned packets share a single Buffer::Ptr.

Parameters
mediaDataPointer to the media data.
sizeSize of the media data in bytes.
Returns
List of RtpPackets sharing one buffer.

Implements RtpPayload.

◆ payloadType()

uint8_t RtpPayloadL16::payloadType ( ) const
inlineoverridevirtual

Returns the RTP payload type number.

Implements RtpPayload.

◆ unpack()

Buffer RtpPayloadL16::unpack ( const RtpPacket::List packets)
overridevirtual

Reassembles RTP payload packets into media data.

Parameters
packetsThe list of packets to reassemble.
Returns
Buffer containing the reassembled media data.

Implements RtpPayload.


The documentation for this class was generated from the following file: