#ifndef D5F58729_9077_452E_ADC5_2D75E17601EA #define D5F58729_9077_452E_ADC5_2D75E17601EA /* ******************************************************************************* * INCLUDE ******************************************************************************* */ #include "../core/AudioEncoder.h" extern "C" { #include } #include namespace Video { namespace FFmpeg { /* ******************************************************************************* * CLASS DECLARE ******************************************************************************* */ class AudioEncoder: public Core::AudioEncoder { public: AudioEncoder(Core::CodecID codecID); ~AudioEncoder(); protected: void initialize() override; void deinitialize() override; Core::Packet::Ptr encode() override; void onConfigChanged(ParameterNames& names) override; uint64_t ts = 0; private: AVCodecContext* _pCodecCtx; AVFrame* _pFrame; AVPacket* _pPacket; std::function _frameConvertor; }; } } #endif