16 #ifndef ACSDK_AUDIOENCODERINTERFACES_BLOCKAUDIOENCODERINTERFACE_H_ 17 #define ACSDK_AUDIOENCODERINTERFACES_BLOCKAUDIOENCODERINTERFACE_H_ 25 namespace audioEncoderInterfaces {
62 using Byte =
unsigned char;
67 using Bytes = std::vector<Byte>;
173 virtual bool processSamples(Bytes::const_iterator begin, Bytes::const_iterator end,
Bytes& buffer) = 0;
191 virtual void close() = 0;
202 #endif // ACSDK_AUDIOENCODERINTERFACES_BLOCKAUDIOENCODERINTERFACE_H_ std::vector< Byte > Bytes
Byte array data type for encoding output.
Definition: BlockAudioEncoderInterface.h:67
virtual size_t getInputFrameSize()=0
virtual void close()=0
Close encoding session.
virtual avsCommon::utils::AudioFormat getAudioFormat()=0
Return output audio format.
virtual size_t getOutputFrameSize()=0
Provide maximum output frame size.
::std::string string
Definition: gtest-port.h:1097
virtual bool flush(Bytes &buffer)=0
Flush buffered data if any.
virtual bool init(avsCommon::utils::AudioFormat inputFormat)=0
Pre-initialize the encoder.
unsigned char Byte
Byte data type.
Definition: BlockAudioEncoderInterface.h:62
virtual bool start(Bytes &preamble)=0
Start the encoding session.
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
Block audio encoder interface.
Definition: BlockAudioEncoderInterface.h:57
virtual bool processSamples(Bytes::const_iterator begin, Bytes::const_iterator end, Bytes &buffer)=0
Encode a block of audio.
virtual ~BlockAudioEncoderInterface()=default
virtual bool requiresFullyRead()=0
Return if input must contain full frame.
virtual std::string getAVSFormatName()=0
AVS format name for encoded audio.