Revert of Add _decoder CHECK to VCMGenericDecoder constructor. (patchset #2 id:20001 of https://codereview.webrtc.org/1485713002/ )
Reason for revert:
Speculative revert since a downstream test started failing with this.
Original issue's description:
> Add _decoder CHECK to VCMGenericDecoder constructor.
>
> This should never be using a null decoder, but it looks like it's
> crashing out in the field. Adding a CHECK to see if it catches any
> interesting stack traces.
>
> Also making the _decoder pointer const to show that it should never be
> changing.
>
> BUG=chromium:563299
> R=stefan@webrtc.org
>
> Committed: https://chromium.googlesource.com/external/webrtc/+/a443ec1a75d10be0f24fa0163f23e1555d4c53cf
TBR=stefan@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:563299
Review URL: https://codereview.webrtc.org/1490703002
Cr-Commit-Position: refs/heads/master@{#10851}
diff --git a/webrtc/modules/video_coding/generic_decoder.cc b/webrtc/modules/video_coding/generic_decoder.cc
index 294a903..092d054 100644
--- a/webrtc/modules/video_coding/generic_decoder.cc
+++ b/webrtc/modules/video_coding/generic_decoder.cc
@@ -8,11 +8,10 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/trace_event.h"
-#include "webrtc/modules/video_coding/generic_decoder.h"
#include "webrtc/modules/video_coding/include/video_coding.h"
+#include "webrtc/modules/video_coding/generic_decoder.h"
#include "webrtc/modules/video_coding/internal_defines.h"
#include "webrtc/system_wrappers/include/clock.h"
@@ -132,15 +131,16 @@
return VCM_OK;
}
-VCMGenericDecoder::VCMGenericDecoder(VideoDecoder* decoder, bool isExternal)
- : _callback(NULL),
- _frameInfos(),
- _nextFrameInfoIdx(0),
- _decoder(decoder),
- _codecType(kVideoCodecUnknown),
- _isExternal(isExternal),
- _keyFrameDecoded(false) {
- RTC_CHECK(_decoder);
+VCMGenericDecoder::VCMGenericDecoder(VideoDecoder& decoder, bool isExternal)
+:
+_callback(NULL),
+_frameInfos(),
+_nextFrameInfoIdx(0),
+_decoder(decoder),
+_codecType(kVideoCodecUnknown),
+_isExternal(isExternal),
+_keyFrameDecoded(false)
+{
}
VCMGenericDecoder::~VCMGenericDecoder()
@@ -153,7 +153,7 @@
TRACE_EVENT0("webrtc", "VCMGenericDecoder::InitDecode");
_codecType = settings->codecType;
- return _decoder->InitDecode(settings, numberOfCores);
+ return _decoder.InitDecode(settings, numberOfCores);
}
int32_t VCMGenericDecoder::Decode(const VCMEncodedFrame& frame, int64_t nowMs) {
@@ -165,7 +165,7 @@
_callback->Map(frame.TimeStamp(), &_frameInfos[_nextFrameInfoIdx]);
_nextFrameInfoIdx = (_nextFrameInfoIdx + 1) % kDecoderFrameMemoryLength;
- int32_t ret = _decoder->Decode(frame.EncodedImage(),
+ int32_t ret = _decoder.Decode(frame.EncodedImage(),
frame.MissingFrame(),
frame.FragmentationHeader(),
frame.CodecSpecific(),
@@ -190,18 +190,18 @@
int32_t
VCMGenericDecoder::Release()
{
- return _decoder->Release();
+ return _decoder.Release();
}
int32_t VCMGenericDecoder::Reset()
{
- return _decoder->Reset();
+ return _decoder.Reset();
}
int32_t VCMGenericDecoder::RegisterDecodeCompleteCallback(VCMDecodedFrameCallback* callback)
{
_callback = callback;
- return _decoder->RegisterDecodeCompleteCallback(callback);
+ return _decoder.RegisterDecodeCompleteCallback(callback);
}
bool VCMGenericDecoder::External() const