arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
AudioInfoFormat Struct Reference

AudioInfo extended with a WAVEFORMATEX-style codec tag (the "wav code"): identifies the codec (PCM, AAC, ALAC, ...) - AudioFormat::UNKNOWN if not determined. mime() derives the corresponding mime type from format - not a separately stored field, so it can never go stale. More...

#include <AudioFormat.h>

Inheritance diagram for AudioInfoFormat:
AudioInfo MimeSource

Public Member Functions

 AudioInfoFormat ()=default
 
 AudioInfoFormat (const AudioInfo &from)
 
 AudioInfoFormat (sample_rate_t sampleRate, uint16_t channelCount, uint8_t bitsPerSample, AudioFormat audioFormat=AudioFormat::UNKNOWN)
 
virtual void clear ()
 
void copyFrom (AudioInfo info)
 Same as set.
 
bool equals (AudioInfo alt)
 Returns true if alt values are the same like the current values.
 
bool equalsExSampleRate (AudioInfo alt)
 Checks if only the sample rate is different.
 
virtual void logInfo (const char *source="")
 
const char * mime () override
 Mime type corresponding to format (see toMime()), nullptr if unmapped.
 
 operator bool ()
 Returns true if all components are defined (no component is 0)
 
bool operator!= (AudioInfo alt)
 Returns true if alt values are the different from the current values.
 
bool operator== (AudioInfo alt)
 Returns true if alt values are the same like the current values.
 
void set (AudioInfo info)
 Copies the values from info.
 
void setAudioInfo (AudioInfo info)
 Same as set.
 

Public Attributes

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
 Number of bits per sample (int16_t = 16 bits)
 
uint16_t channels = DEFAULT_CHANNELS
 Number of channels: 2=stereo, 1=mono.
 
AudioFormat format = AudioFormat::UNKNOWN
 
sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
 Sample Rate: e.g 44100.
 

Detailed Description

AudioInfo extended with a WAVEFORMATEX-style codec tag (the "wav code"): identifies the codec (PCM, AAC, ALAC, ...) - AudioFormat::UNKNOWN if not determined. mime() derives the corresponding mime type from format - not a separately stored field, so it can never go stale.

Not merged directly into AudioInfo because AudioInfo is treated as a raw, byte-serializable struct in some places (e.g. AudioLoRa, ContainerOgg, ContainerBinary, the BLE sandbox client); adding fields there changes that wire layout for all of them. Returned by DemuxerAVI/DemuxerMP4's getAudioInfo(), mirroring the existing WAVAudioInfo : AudioInfo pattern (CodecWAV.h) used for WAV header parsing/writing.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ AudioInfoFormat() [1/3]

AudioInfoFormat ( )
default

◆ AudioInfoFormat() [2/3]

AudioInfoFormat ( const AudioInfo from)
inline

◆ AudioInfoFormat() [3/3]

AudioInfoFormat ( sample_rate_t  sampleRate,
uint16_t  channelCount,
uint8_t  bitsPerSample,
AudioFormat  audioFormat = AudioFormat::UNKNOWN 
)
inline

Member Function Documentation

◆ clear()

virtual void clear ( )
inlinevirtualinherited

◆ copyFrom()

void copyFrom ( AudioInfo  info)
inlineinherited

Same as set.

◆ equals()

bool equals ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the same like the current values.

◆ equalsExSampleRate()

bool equalsExSampleRate ( AudioInfo  alt)
inlineinherited

Checks if only the sample rate is different.

◆ logInfo()

virtual void logInfo ( const char *  source = "")
inlinevirtualinherited

◆ mime()

const char * mime ( )
inlineoverridevirtual

Mime type corresponding to format (see toMime()), nullptr if unmapped.

Implements MimeSource.

◆ operator bool()

operator bool ( )
inlineinherited

Returns true if all components are defined (no component is 0)

◆ operator!=()

bool operator!= ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the different from the current values.

◆ operator==()

bool operator== ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the same like the current values.

◆ set()

void set ( AudioInfo  info)
inlineinherited

Copies the values from info.

◆ setAudioInfo()

void setAudioInfo ( AudioInfo  info)
inlineinherited

Same as set.

Member Data Documentation

◆ bits_per_sample

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
inherited

Number of bits per sample (int16_t = 16 bits)

◆ channels

uint16_t channels = DEFAULT_CHANNELS
inherited

Number of channels: 2=stereo, 1=mono.

◆ format

◆ sample_rate

sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
inherited

Sample Rate: e.g 44100.


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