1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef VIDEO_VIDEO_STREAM_ENCODER_H_
- #define VIDEO_VIDEO_STREAM_ENCODER_H_
- #include "precompile.h"
- #include <map>
- #include <memory>
- #include <string>
- #include <vector>
- #include "video_encoder_defines.h"
- #include "video_encoder.h"
- #include "frame_dropper.h"
- #include "base/rate_statistics.h"
- namespace video_coding {
- // VideoStreamEncoder represent a video encoder that accepts raw video frames as
- // input and produces an encoded bit stream.
- typedef struct _VideoStreamEncoder VideoStreamEncoder;
- VideoStreamEncoder *video_stream_encoder_new(
- VideoEncoderObserver* encoder_stats_observer);
- void video_stream_encoder_destroy(VideoStreamEncoder *obj);
- void video_stream_encoder_configure_encoder(VideoStreamEncoder *obj, VideoEncoderConfig *config,
- size_t max_data_payload_length);
- // Permanently stop encoding. After this method has returned, it is
- // guaranteed that no encoded frames will be delivered to the sink.
- void video_stream_encoder_stop(VideoStreamEncoder *obj);
- void video_stream_encoder_send_key_frame(VideoStreamEncoder *obj);
- /*target_bitrate,目标带宽,单位bps */
- void video_stream_encoder_on_bitrate_updated(VideoStreamEncoder *obj, uint32_t target_bitrate,
- uint32_t link_allocation,
- uint8_t fraction_lost,
- int64_t round_trip_time_ms);
- void video_stream_encoder_on_frame(VideoStreamEncoder *obj, unsigned pt, const video_frame *frame);
- void video_stream_encoder_on_discarded_frame(VideoStreamEncoder *obj);
- }
- #endif // VIDEO_VIDEO_STREAM_ENCODER_H_
|