|
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 () |
| void | begin (Muxer &muxer) |
| 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 AudioESP32ULP, AudioLoRa, RTSPOutput< Platform >, SPIAudioMaster, UDPStream, VBANStream, AudioStreamWrapper, ConverterStream< T >, EncodedAudioOutput, EncodedAudioStream, FaustStream< DSP >, FileOutput, I2SCodecStream, MiniAudioStream, StdioStream, A2DPStream, AudioServerEx, AudioSyncWriter, ESPNowStream, HammingFEC< bytecount, block_t >, AbstractURLStream, URLStreamESP32, NRF24Stream, ReadioHeadStream, ReedSolomonFEC< bytecount, additional_bytes >, SPIAudioSlave, USBAudioDeviceBase, SynchronizedStream, AnalogAudioStream, AudioEffectStreamT< T >, AudioEffectStream, Equalizer3BandsT< T >, Equalizer3BandsPerChannelT< T >, I2SStream, ReformatBaseStream, AdapterAudioStreamToAudioOutput, TimedStream, AudioOutput, CsvOutput< T >, OutputMixer< T >, MemoryOutput, PWMAudioOutput< PWMDriverT >, MemoryStream, RingBufferStream, MeasuringStream, ProgressStream, Throttle, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, BaseStream, QueueStream< T >, QueueStream< uint8_t >, DynamicMemoryStream, FadeStream, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, Pipeline, QualityAnalysisStream, VolumeStream, AudioFFTBase, AudioBLEClient, AudioBLEClient, AudioBLEServer, and AudioBLEServer.
|
inline |
|
inlinevirtualinherited |
Reimplemented in PureDataStream, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, ReformatBaseStream, MultiOutput, AudioOutput, AudioStreamWrapper, ResampleStream, EncodedAudioStream, HDLCStream, URLStream, BufferedTaskStream, I2SStream, HexDumpOutput, MemoryStream, RingBufferStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, BufferedStream, BaseStream, NamePrinter, VFSFile, and ZephyrFile.
|
inlineoverridevirtual |
Reimplemented from Print.
|
inlineoverride |
|
protectedinherited |
|
protected |