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}
diff --git a/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm b/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
index 8a2bafa..a953ce0 100644
--- a/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
+++ b/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm
@@ -274,7 +274,7 @@
 
 @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 @@
 - (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);