arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RTSPFormatG711 Class Reference

G711 μ-Law format for RTSP https://en.wikipedia.org/wiki/RTP_payload_formats Packet intervall: 20, frame size: any. More...

#include <RTSPFormat.h>

Inheritance diagram for RTSPFormatG711:
RTSPFormat

Public Member Functions

 RTSPFormatG711 (bool isUlaw=true)
 
virtual AudioInfo audioInfo ()
 
virtual void begin (AudioInfo info)
 
virtual void begin (RTSPVideoInfo info)
 
virtual int convert (void *data, int sampleCount)
 
AudioInfo defaultConfig ()
 
virtual RTSPVideoInfo defaultVideoConfig ()
 
const char * format (char *buffer, int len) override
 Provides the G711 format information.
 
virtual int fragmentSize ()
 Fragment (=write) size in bytes.
 
virtual MediaType mediaType ()
 
virtual const char * name ()
 
virtual int readHeader (uint8_t *data)
 Optional header: e.g. rfc2250.
 
virtual int rtpPayloadType ()
 default dynamic
 
void setFragmentSize (int fragmentSize)
 Defines the fragment size in bytes.
 
void setIsULaw (bool flag)
 Defines if we use ulow ar alow; by default we use ulaw!
 
void setName (const char *name)
 Defines the name of the stream.
 
virtual void setProfileLevelId (const char *)
 
virtual void setSpropParameterSets (const char *, const char *)
 
void setTimerPeriodUs (int period)
 Defines the timer period in microseconds.
 
virtual void setUseRfc2250Header (bool)
 Optional: Configure RFC2250 header usage (default: no-op)
 
virtual int timerPeriodUs ()
 Timer period in microseconds.
 
virtual int timestampIncrement ()
 Fragment size in samples (for audio) or timestamp increment (for video)
 
virtual bool useRfc2250Header () const
 
virtual RTSPVideoInfo videoInfo ()
 

Protected Member Functions

uint8_t getFormat ()
 

Protected Attributes

AudioInfo cfg {16000, 1, 16}
 
int fragment_size = 640
 
bool is_ulaw = true
 
const char * name_str = "RTSPAudioTools"
 
const char * STD_URL_PRE_SUFFIX = "trackID"
 
int timer_period_us = 10000
 
RTSPVideoInfo video_cfg {640, 480, 30.0f, RTSPVideoFormat::MJPEG, 24}
 

Detailed Description

G711 μ-Law format for RTSP https://en.wikipedia.org/wiki/RTP_payload_formats Packet intervall: 20, frame size: any.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ RTSPFormatG711()

RTSPFormatG711 ( bool  isUlaw = true)
inline

Member Function Documentation

◆ audioInfo()

virtual AudioInfo audioInfo ( )
inlinevirtualinherited

◆ begin() [1/2]

virtual void begin ( AudioInfo  info)
inlinevirtualinherited

◆ begin() [2/2]

virtual void begin ( RTSPVideoInfo  info)
inlinevirtualinherited

◆ convert()

virtual int convert ( void *  data,
int  sampleCount 
)
inlinevirtualinherited

Reimplemented in RTSPFormatPCM.

◆ defaultConfig()

AudioInfo defaultConfig ( )
inlinevirtual

Implements RTSPFormat.

◆ defaultVideoConfig()

virtual RTSPVideoInfo defaultVideoConfig ( )
inlinevirtualinherited

Reimplemented in RTSPFormatMJPEG, and RTSPFormatH264.

◆ format()

const char * format ( char *  buffer,
int  len 
)
inlineoverridevirtual

Provides the G711 format information.

Implements RTSPFormat.

◆ fragmentSize()

virtual int fragmentSize ( )
inlinevirtualinherited

Fragment (=write) size in bytes.

Reimplemented in RTSPFormatMP3.

◆ getFormat()

uint8_t getFormat ( )
inlineprotected

◆ mediaType()

virtual MediaType mediaType ( )
inlinevirtualinherited

Reimplemented in RTSPFormatMJPEG, RTSPFormatH264, and RTSPFormatMTS.

◆ name()

virtual const char * name ( )
inlinevirtualinherited

◆ readHeader()

virtual int readHeader ( uint8_t *  data)
inlinevirtualinherited

Optional header: e.g. rfc2250.

◆ rtpPayloadType()

virtual int rtpPayloadType ( )
inlinevirtualinherited

default dynamic

Reimplemented in RTSPFormatPCM, RTSPFormatMP3, RTSPFormatMJPEG, RTSPFormatH264, and RTSPFormatMTS.

◆ setFragmentSize()

void setFragmentSize ( int  fragmentSize)
inlineinherited

Defines the fragment size in bytes.

◆ setIsULaw()

void setIsULaw ( bool  flag)
inline

Defines if we use ulow ar alow; by default we use ulaw!

◆ setName()

void setName ( const char *  name)
inlineinherited

Defines the name of the stream.

◆ setProfileLevelId()

virtual void setProfileLevelId ( const char *  )
inlinevirtualinherited

Optional: receives the 3-byte profile-level-id (as 6 hex digits) once an encoder has parsed it from the SPS. Default no-op; only RTSPFormatH264 acts on it.

Reimplemented in RTSPFormatH264.

◆ setSpropParameterSets()

virtual void setSpropParameterSets ( const char *  ,
const char *   
)
inlinevirtualinherited

Optional: receives base64-encoded SPS/PPS once an encoder has learned them (H.264 sprop-parameter-sets). Default no-op; only RTSPFormatH264 acts on it. Declared here (rather than only on RTSPFormatH264) so video encoders (see RTSPVideoEncoder) can push this through a generic RTSPFormat* without needing to know the concrete format type.

Reimplemented in RTSPFormatH264.

◆ setTimerPeriodUs()

void setTimerPeriodUs ( int  period)
inlineinherited

Defines the timer period in microseconds.

◆ setUseRfc2250Header()

virtual void setUseRfc2250Header ( bool  )
inlinevirtualinherited

Optional: Configure RFC2250 header usage (default: no-op)

Reimplemented in RTSPFormatMP3.

◆ timerPeriodUs()

virtual int timerPeriodUs ( )
inlinevirtualinherited

Timer period in microseconds.

Reimplemented in RTSPFormatADPCM< AudioEncoder >, RTSPFormatMP3, and RTSPFormatMTS.

◆ timestampIncrement()

virtual int timestampIncrement ( )
inlinevirtualinherited

Fragment size in samples (for audio) or timestamp increment (for video)

Reimplemented in RTSPFormatMP3, RTSPFormatMJPEG, and RTSPFormatH264.

◆ useRfc2250Header()

virtual bool useRfc2250Header ( ) const
inlinevirtualinherited

Reimplemented in RTSPFormatMP3.

◆ videoInfo()

virtual RTSPVideoInfo videoInfo ( )
inlinevirtualinherited

Member Data Documentation

◆ cfg

AudioInfo cfg {16000, 1, 16}
protectedinherited

◆ fragment_size

int fragment_size = 640
protectedinherited

◆ is_ulaw

bool is_ulaw = true
protected

◆ name_str

const char* name_str = "RTSPAudioTools"
protectedinherited

◆ STD_URL_PRE_SUFFIX

const char* STD_URL_PRE_SUFFIX = "trackID"
protectedinherited

◆ timer_period_us

int timer_period_us = 10000
protectedinherited

◆ video_cfg

RTSPVideoInfo video_cfg {640, 480, 30.0f, RTSPVideoFormat::MJPEG, 24}
protectedinherited

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