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

RTP payload handler for 24-bit linear audio (L24). More...

#include <rtppayload.h>

Inheritance diagram for RtpPayloadL24:
Collaboration diagram for RtpPayloadL24:

Public Member Functions

 RtpPayloadL24 (uint32_t sampleRate=48000, int channels=2)
 Constructs an L24 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 24-bit linear audio (L24).

Implements packing/unpacking of 24-bit linear PCM audio samples as used by AES67 and ST 2110-30. Samples are packed in network byte order (big-endian), interleaved by channel.

The payload type defaults to 97 (dynamic range). Clock rate matches the audio sample rate (typically 48000 Hz).

Example
RtpPayloadL24 payload(48000, 2); // 48kHz, stereo
auto packets = payload.pack(audioData, audioSize);
Dynamic array container wrapping std::vector.
Definition list.h:40
RTP payload handler for 24-bit linear audio (L24).
Definition rtppayload.h:96

Constructor & Destructor Documentation

◆ RtpPayloadL24()

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

Constructs an L24 payload handler.

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

Member Function Documentation

◆ clockRate()

uint32_t RtpPayloadL24::clockRate ( ) const
inlineoverridevirtual

Returns the RTP timestamp clock rate in Hz.

Implements RtpPayload.

◆ pack()

RtpPacket::List RtpPayloadL24::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 RtpPayloadL24::payloadType ( ) const
inlineoverridevirtual

Returns the RTP payload type number.

Implements RtpPayload.

◆ unpack()

Buffer RtpPayloadL24::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: