Fix memory leak in video encoder.

Bug: webrtc:8306
Change-Id: Iadc7a584ccf70a4f1df3f7f7af29e66a3698d93a
Reviewed-on: https://webrtc-review.googlesource.com/4425
Commit-Queue: Daniela Jovanoska Petrenko <denicija@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20043}
This commit is contained in:
Daniela
2017-09-29 14:14:54 +02:00
committed by Commit Bot
parent 1c239d476e
commit f328282cbf

View File

@ -274,7 +274,7 @@ CFStringRef ExtractProfile(const cricket::VideoCodec &codec) {
@implementation RTCVideoEncoderH264 {
RTCVideoCodecInfo *_codecInfo;
webrtc::BitrateAdjuster *_bitrateAdjuster;
std::unique_ptr<webrtc::BitrateAdjuster> _bitrateAdjuster;
uint32_t _targetBitrateBps;
uint32_t _encoderBitrateBps;
RTCH264PacketizationMode _packetizationMode;
@ -299,7 +299,8 @@ CFStringRef ExtractProfile(const cricket::VideoCodec &codec) {
- (instancetype)initWithCodecInfo:(RTCVideoCodecInfo *)codecInfo {
if (self = [super init]) {
_codecInfo = codecInfo;
_bitrateAdjuster = new webrtc::BitrateAdjuster(webrtc::Clock::GetRealTimeClock(), .5, .95);
_bitrateAdjuster.reset(new webrtc::BitrateAdjuster(
webrtc::Clock::GetRealTimeClock(), .5, .95));
_packetizationMode = RTCH264PacketizationModeNonInterleaved;
_profile = ExtractProfile([codecInfo nativeVideoCodec]);
LOG(LS_INFO) << "Using profile " << CFStringToString(_profile);