Index: webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
diff --git a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
index 6026cb31d2b0c29972bcf897854755dfabd1396a..6e3ae4cb435992b8dd6043a8dd89b4a17d1906b2 100644 |
--- a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
+++ b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.cc |
@@ -218,6 +218,9 @@ int SimulcastEncoderAdapter::InitEncode(const VideoCodec* inst, |
VideoEncoder* encoder = factory_->Create(); |
ret = encoder->InitEncode(&stream_codec, number_of_cores, max_payload_size); |
if (ret < 0) { |
+ // Explicitly destroy the current encoder; because we haven't registered a |
+ // StreamInfo for it yet, Release won't do anything about it. |
+ factory_->Destroy(encoder); |
Release(); |
return ret; |
} |