|
arduino-audio-tools
|
Print sink that writes each frame it receives to a Muxer's video track via addVideoFrame(), determining a real isKeyFrame value instead of relying on that method's isKeyFrame=true default - via isH264KeyFrame() (Video.h) when the Muxer's video track is VideoFormat::H264, otherwise always true (correct for e.g. MJPEG, where every frame is independently decodable). More...
#include <ContainerCommon.h>
Public Member Functions | |
| virtual int | availableForWrite () |
| virtual int | availableForWrite () |
| void | begin (Muxer &muxer) |
| virtual void | flush () |
| virtual void | flush () |
| size_t | write (const uint8_t *data, size_t len) override |
| size_t | write (uint8_t c) override |
Protected Attributes | |
| int | _timeout = 10 |
| Muxer * | p_muxer = nullptr |
Print sink that writes each frame it receives to a Muxer's video track via addVideoFrame(), determining a real isKeyFrame value instead of relying on that method's isKeyFrame=true default - via isH264KeyFrame() (Video.h) when the Muxer's video track is VideoFormat::H264, otherwise always true (correct for e.g. MJPEG, where every frame is independently decodable).
Meant as the setOutput() target for a VideoEncoder whose write() would otherwise stream straight to the Muxer's own generic, format-dispatching write() (which has no isKeyFrame parameter at all) - or for any other already-encoded-frame producer that only has a plain Print to write to.
|
inlinevirtualinherited |
Reimplemented in A2DPStream, AbstractURLStream, AdapterAudioStreamToAudioOutput, AnalogAudioStream, AdapterAudioStreamToAudioOutput, AudioOutput, AudioOutput, AudioStreamWrapper, AudioStreamWrapper, BaseStream, BaseStream, ConverterStream< T >, ConverterStream< T >, CsvOutput< T >, CsvOutput< T >, DynamicMemoryStream, DynamicMemoryStream, EncodedAudioOutput, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, MemoryOutput, MemoryOutput, MemoryStream, MemoryStream, OutputMixer< T >, OutputMixer< T >, ProgressStream, ProgressStream, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, Throttle, Throttle, TimedStream, AudioBLEClient, AudioBLEClient, AudioBLEServer, AudioBLEServer, AudioEffectStream, AudioEffectStreamT< T >, AudioESP32ULP, AudioFFTBase, AudioLoRa, AudioOutput, AudioServerEx, AudioStreamWrapper, AudioSyncWriter, AutomaticGainControlStream, BaseStream, ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, ConverterStream< T >, CsvOutput< T >, DynamicMemoryStream, EncodedAudioOutput, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, ESPNowStream, FadeStream, FaustStream< DSP >, FileOutput, FilteredStream< T, TF >, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, HammingFEC< bytecount, block_t >, I2SCodecStream, I2SStream, MeasuringStream, MemoryOutput, MemoryStream, MiniAudioStream, NRF24Stream, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, OutputMixer< T >, Pipeline, ProgressStream, PWMAudioOutput< PWMDriverT >, QualityAnalysisStream, QueueStream< T >, ReadioHeadStream, ReedSolomonFEC< bytecount, additional_bytes >, ReformatBaseStream, RingBufferStream, RTSPOutput< Platform >, SPIAudioMaster, SPIAudioSlave, StdioStream, SupportedRatesStream, SynchronizedStream, Throttle, TimedStream, UDPStream, URLStreamESP32, USBAudioStreamBase, VBANStream, and VolumeStream.
|
inlinevirtualinherited |
Reimplemented in A2DPStream, AbstractURLStream, AdapterAudioStreamToAudioOutput, AnalogAudioStream, AdapterAudioStreamToAudioOutput, AudioOutput, AudioOutput, AudioStreamWrapper, AudioStreamWrapper, BaseStream, BaseStream, ConverterStream< T >, ConverterStream< T >, CsvOutput< T >, CsvOutput< T >, DynamicMemoryStream, DynamicMemoryStream, EncodedAudioOutput, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, MemoryOutput, MemoryOutput, MemoryStream, MemoryStream, OutputMixer< T >, OutputMixer< T >, ProgressStream, ProgressStream, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, Throttle, Throttle, TimedStream, AudioBLEClient, AudioBLEClient, AudioBLEServer, AudioBLEServer, AudioEffectStream, AudioEffectStreamT< T >, AudioESP32ULP, AudioFFTBase, AudioLoRa, AudioOutput, AudioServerEx, AudioStreamWrapper, AudioSyncWriter, AutomaticGainControlStream, BaseStream, ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, ConverterStream< T >, CsvOutput< T >, DynamicMemoryStream, EncodedAudioOutput, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, ESPNowStream, FadeStream, FaustStream< DSP >, FileOutput, FilteredStream< T, TF >, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, HammingFEC< bytecount, block_t >, I2SCodecStream, I2SStream, MeasuringStream, MemoryOutput, MemoryStream, MiniAudioStream, NRF24Stream, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, OutputMixer< T >, Pipeline, ProgressStream, PWMAudioOutput< PWMDriverT >, QualityAnalysisStream, QueueStream< T >, ReadioHeadStream, ReedSolomonFEC< bytecount, additional_bytes >, ReformatBaseStream, RingBufferStream, RTSPOutput< Platform >, SPIAudioMaster, SPIAudioSlave, StdioStream, SupportedRatesStream, SynchronizedStream, Throttle, TimedStream, UDPStream, URLStreamESP32, USBAudioStreamBase, VBANStream, and VolumeStream.
|
inline |
|
inlinevirtualinherited |
Reimplemented in AudioOutput, AudioOutput, AudioStreamWrapper, AudioStreamWrapper, BaseStream, BaseStream, BufferedStream, BufferedStream, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, HexDumpOutput, HexDumpOutput, MemoryStream, MemoryStream, MultiOutput, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, TimedStream, AudioEffectStream, AudioEffectStreamT< T >, AudioOutput, AudioStreamWrapper, AutomaticGainControlStream, BaseStream, BufferedStream, BufferedTaskStream, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, EqualizerNBands< SampleT, AccT, NUM_TAPS, NUM_BANDS >, FadeStream, FilteredStream< T, TF >, GeneratedSoundStream< T >, HDLCStream, HexDumpOutput, I2SStream, MeasuringStream, MemoryStream, MultiOutput, NamePrinter, Pipeline::ModifyingStreamAdapter, PureDataStream, QualityAnalysisStream, QueueStream< T >, ReformatBaseStream, ResampleStream, RingBufferStream, SupportedRatesStream, TimedStream, URLStream, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, URLStreamBufferedT< ICYStreamESP32 >, URLStreamBufferedT< URLStream >, URLStreamBufferedT< URLStreamESP32 >, VFSFile, VolumeStream, and ZephyrFile.
|
inlinevirtualinherited |
Reimplemented in AudioOutput, AudioOutput, AudioStreamWrapper, AudioStreamWrapper, BaseStream, BaseStream, BufferedStream, BufferedStream, EncodedAudioStream, FilteredStream< T, TF >, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, GeneratedSoundStream< T >, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, HexDumpOutput, HexDumpOutput, MemoryStream, MemoryStream, MultiOutput, QueueStream< T >, QueueStream< T >, QueueStream< uint8_t >, ReformatBaseStream, RingBufferStream, RingBufferStream, TimedStream, AudioEffectStream, AudioEffectStreamT< T >, AudioOutput, AudioStreamWrapper, AutomaticGainControlStream, BaseStream, BufferedStream, BufferedTaskStream, EncodedAudioStream, Equalizer3BandsPerChannelT< T >, Equalizer3BandsPerChannelT< float >, Equalizer3BandsT< T >, Equalizer3BandsT< float >, EqualizerNBands< SampleT, AccT, NUM_TAPS, NUM_BANDS >, FadeStream, FilteredStream< T, TF >, GeneratedSoundStream< T >, HDLCStream, HexDumpOutput, I2SStream, MeasuringStream, MemoryStream, MultiOutput, NamePrinter, Pipeline::ModifyingStreamAdapter, PureDataStream, QualityAnalysisStream, QueueStream< T >, ReformatBaseStream, ResampleStream, RingBufferStream, SupportedRatesStream, TimedStream, URLStream, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, URLStreamBufferedT< ICYStreamESP32 >, URLStreamBufferedT< URLStream >, URLStreamBufferedT< URLStreamESP32 >, VFSFile, VolumeStream, and ZephyrFile.
|
inlineoverridevirtual |
Reimplemented from Print.
|
inlineoverride |
|
protectedinherited |
|
protected |