arduino-audio-tools
|
ID3 and Icecast/Shoutcast metadata output support. Just write the audio data to an object of this class and receive the metadata via the callback. More...
#include <MetaData.h>
Public Member Functions | |
MetaDataOutput (MetaDataOutput const &)=delete | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
virtual int | availableForWrite () override |
virtual bool | begin () |
virtual bool | begin (AudioInfo info) |
virtual void | begin (HttpRequest &http) |
Starts the processing - iceMetaint is determined from the HttpRequest. | |
virtual void | begin (int iceMetaint=0) |
Starts the processing - if iceMetaint is defined we use icecast. | |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
virtual void | end () |
virtual void | flush () |
virtual bool | isDeletable () |
If true we need to release the related memory in the destructor. | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual | operator bool () |
MetaDataOutput & | operator= (MetaDataOutput const &)=delete |
virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
Removes a target in order not to be notified about audio changes. | |
virtual void | setAudioInfo (AudioInfo newInfo) override |
Defines the input AudioInfo. | |
virtual void | setCallback (void(*fn)(MetaDataType info, const char *str, int len)) |
Defines the callback. | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
virtual size_t | write (const uint8_t *data, size_t len) |
Provide tha audio data to the API to parse for Meta Data. | |
virtual size_t | write (uint8_t c) |
virtual void | writeSilence (size_t len) |
Protected Member Functions | |
void | notifyAudioChange (AudioInfo info) |
Protected Attributes | |
int | _timeout = 10 |
void(* | callback )(MetaDataType info, const char *str, int len) =nullptr |
AudioInfo | cfg |
bool | is_active = false |
bool | is_notify_active = true |
AbstractMetaData * | meta =nullptr |
Vector< AudioInfoSupport * > | notify_vector |
SingleBuffer< uint8_t > | tmp {MAX_SINGLE_CHARS} |
int | tmpPos = 0 |
ID3 and Icecast/Shoutcast metadata output support. Just write the audio data to an object of this class and receive the metadata via the callback.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, MP3DecoderMAD, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, MP3DecoderHelix, OggContainerDecoder, Pipeline, and Pipeline::ModifyingStreamAdapter.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in AdapterPrintToAudioOutput, and AdapterAudioStreamToAudioOutput.
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in PureDataStream, PWMAudioOutput, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, and ResampleStream.
Reimplemented from Print.
Reimplemented in RTSPOutput, and AudioFFTBase.
Reimplemented in AudioOutputWithCallback, EncodedAudioOutput, OggContainerOutput, AudioFFTBase, MetaDataFilter, and CsvOutput< T >.
Reimplemented in AudioESP32ULP, CsvOutput< T >, and EncodedAudioOutput.
Reimplemented from AudioOutput.
If true we need to release the related memory in the destructor.
Reimplemented in AdapterPrintToAudioOutput, and AdapterAudioStreamToAudioOutput.
Reimplemented in EncodedAudioOutput, and RTSPOutput.
Defines the input AudioInfo.
Implements AudioInfoSupport.
Reimplemented in ChannelsSelectOutput, AdapterPrintToAudioOutput, MultiOutput, AudioFFTBase, AdapterAudioStreamToAudioOutput, CsvOutput< T >, PWMAudioOutput, and EncodedAudioOutput.
Provide tha audio data to the API to parse for Meta Data.
Implements AudioOutput.
Reimplemented from AudioOutput.
Writes n 0 values (= silence)
len |