diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc index 0bf3b51c3..2cd22291a 100644 --- a/talk/media/webrtc/webrtcvideoengine2.cc +++ b/talk/media/webrtc/webrtcvideoengine2.cc @@ -1592,6 +1592,10 @@ WebRtcVideoChannel2::WebRtcVideoSendStream::GetVideoSenderInfo() { info.add_ssrc(parameters_.config.rtp.ssrcs[i]); } + if (stream_ == NULL) { + return info; + } + webrtc::VideoSendStream::Stats stats = stream_->GetStats(); info.framerate_input = stats.input_frame_rate; info.framerate_sent = stats.encode_frame_rate; diff --git a/talk/media/webrtc/webrtcvideoengine2_unittest.cc b/talk/media/webrtc/webrtcvideoengine2_unittest.cc index 1ce41a7a4..5953f348d 100644 --- a/talk/media/webrtc/webrtcvideoengine2_unittest.cc +++ b/talk/media/webrtc/webrtcvideoengine2_unittest.cc @@ -455,6 +455,13 @@ TEST_F(WebRtcVideoEngine2Test, SetSendFailsBeforeSettingCodecs) { << "Channel should be stoppable even without set codecs."; } +TEST_F(WebRtcVideoEngine2Test, GetStatsWithoutSendCodecsSetDoesNotCrash) { + rtc::scoped_ptr channel(engine_.CreateChannel(NULL)); + EXPECT_TRUE(channel->AddSendStream(StreamParams::CreateLegacy(123))); + VideoMediaInfo info; + channel->GetStats(&info); +} + class WebRtcVideoEngine2BaseTest : public VideoEngineTest { protected: