From d227522f573d74ba0d088dfaba7aadbcf4287871 Mon Sep 17 00:00:00 2001 From: sakal Date: Mon, 3 Oct 2016 08:54:39 -0700 Subject: [PATCH] Change DCHECK in VCMDecodedFrameCallback back to just logging. This DCHECK is triggered by org.webrtc.PeerConnectionTest#testTrackRemoval. BUG=webrtc:6465 Review-Url: https://codereview.webrtc.org/2389703002 Cr-Commit-Position: refs/heads/master@{#14481} --- webrtc/modules/video_coding/generic_decoder.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/webrtc/modules/video_coding/generic_decoder.cc b/webrtc/modules/video_coding/generic_decoder.cc index 48bf237996..b95571b8f7 100644 --- a/webrtc/modules/video_coding/generic_decoder.cc +++ b/webrtc/modules/video_coding/generic_decoder.cc @@ -59,7 +59,6 @@ int32_t VCMDecodedFrameCallback::Decoded(VideoFrame& decodedImage, frameInfo = _timestampMap.Pop(decodedImage.timestamp()); callback = _receiveCallback; } - RTC_DCHECK(callback != nullptr); if (frameInfo == NULL) { LOG(LS_WARNING) << "Too many frames backed up in the decoder, dropping " @@ -77,7 +76,13 @@ int32_t VCMDecodedFrameCallback::Decoded(VideoFrame& decodedImage, decodedImage.set_render_time_ms(frameInfo->renderTimeMs); decodedImage.set_rotation(frameInfo->rotation); - callback->FrameToRender(decodedImage); + // TODO(sakal): Investigate why callback is NULL sometimes and replace if + // statement with a DCHECK. + if (callback) { + callback->FrameToRender(decodedImage); + } else { + LOG(LS_WARNING) << "No callback, dropping frame."; + } return WEBRTC_VIDEO_CODEC_OK; }