4 #ifndef OWT_BASE_VIDEOENCODERINTERFACE_H_ 5 #define OWT_BASE_VIDEOENCODERINTERFACE_H_ 8 #include "owt/base/commontypes.h" 33 uint32_t fps, uint32_t bitrate_kbps, VideoCodec video_codec) = 0;
35 virtual uint32_t
EncodeOneFrame(
bool key_frame, uint8_t** data) = 0;
47 virtual bool EncodeOneFrame(std::vector<uint8_t>& buffer,
bool key_frame) = 0;
63 #endif // OWT_BASE_VIDEOENCODERINTERFACE_H_ Video encoder interface.
Definition: videoencoderinterface.h:16
virtual bool InitEncoderContext(Resolution &resolution, uint32_t fps, uint32_t bitrate_kbps, VideoCodec video_codec)=0
Initialize the customized video encoder.
virtual ~VideoEncoderInterface()
Destructor.
Definition: videoencoderinterface.h:21
virtual bool EncodeOneFrame(std::vector< uint8_t > &buffer, bool key_frame)=0
Retrieve byte buffer from encoder that holds one complete frame.
virtual VideoEncoderInterface * Copy()=0
Duplicate the VideoEncoderInterface instance.
Definition: audioplayerinterface.h:8
virtual bool Release()=0
Release the resources that current encoder holds.
This class represents a resolution value.
Definition: commontypes.h:40