| Index: webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
|
| diff --git a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
|
| index 269e0411b2f8e3ed22683721297ec1efb6dadd1d..779889d43ccdd32b177bbd86ce12e1ab7fa7401a 100644
|
| --- a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
|
| +++ b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.h
|
| @@ -13,6 +13,7 @@
|
| #define WEBRTC_MODULES_VIDEO_CODING_CODECS_H264_H264_VIDEO_TOOLBOX_ENCODER_H_
|
|
|
| #include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
|
| +#include "webrtc/modules/video_coding/include/bitrate_adjuster.h"
|
|
|
| #if defined(WEBRTC_VIDEO_TOOLBOX_SUPPORTED)
|
|
|
| @@ -50,14 +51,27 @@ class H264VideoToolboxEncoder : public H264Encoder {
|
|
|
| const char* ImplementationName() const override;
|
|
|
| + void OnEncodedFrame(OSStatus status,
|
| + VTEncodeInfoFlags info_flags,
|
| + CMSampleBufferRef sample_buffer,
|
| + CodecSpecificInfo codec_specific_info,
|
| + int32_t width,
|
| + int32_t height,
|
| + int64_t render_time_ms,
|
| + uint32_t timestamp);
|
| +
|
| private:
|
| int ResetCompressionSession();
|
| void ConfigureCompressionSession();
|
| void DestroyCompressionSession();
|
| + void SetBitrateBps(uint32_t bitrate_bps);
|
| + void SetEncoderBitrateBps(uint32_t bitrate_bps);
|
|
|
| - webrtc::EncodedImageCallback* callback_;
|
| + EncodedImageCallback* callback_;
|
| VTCompressionSessionRef compression_session_;
|
| - int32_t bitrate_; // Bitrate in bits per second.
|
| + BitrateAdjuster bitrate_adjuster_;
|
| + uint32_t target_bitrate_bps_;
|
| + uint32_t encoder_bitrate_bps_;
|
| int32_t width_;
|
| int32_t height_;
|
| }; // H264VideoToolboxEncoder
|
|
|