12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef VIDEO_CODECS_VIDEO_ENCODER_API_H_
- #define VIDEO_CODECS_VIDEO_ENCODER_API_H_
- #include "../videoutil.h"
- #include "video_encoder_defines.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct _VideoEncoderApi VideoEncoderApi;
- VideoEncoderApi *video_encoder_api_new(VideoEncoderObserver *encoder_stats_observer, VideoCodingLogCallBack* log_func);
- void video_encoder_api_destroy(VideoEncoderApi *obj) ;
- void video_encoder_api_configure_encoder(VideoEncoderApi *obj, VideoEncoderConfig *config,
- size_t max_data_payload_length) ;
- void video_encoder_api_stop(VideoEncoderApi *obj) ;
- void video_encoder_api_send_key_frame(VideoEncoderApi *obj) ;
- /*target_bitrate 设置码率,单位:bps*/
- void video_encoder_api_on_bitrate_updated(VideoEncoderApi *obj, uint32_t target_bitrate,
- uint8_t fraction_lost,
- int64_t round_trip_time_ms) ;
- void video_encoder_api_on_frame(VideoEncoderApi *obj, unsigned pt, const video_frame *frame);
- void video_encoder_api_on_discarded_frame(VideoEncoderApi *obj);
- #ifdef __cplusplus
- }
- #endif /* end of __cplusplus */
- #endif // API_VIDEO_CODECS_VIDEO_ENCODER_H_
|