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/codec_database.cc b/webrtc/modules/video_coding/codec_database.cc
index 2b358dd..9f016d9 100644
--- a/webrtc/modules/video_coding/codec_database.cc
+++ b/webrtc/modules/video_coding/codec_database.cc
@@ -423,7 +423,7 @@
// because payload type may be out of date (e.g. before we decode the first
// frame after RegisterReceiveCodec)
if (ptr_decoder_ != nullptr &&
- ptr_decoder_->_decoder == (*it).second->external_decoder_instance) {
+ &ptr_decoder_->_decoder == (*it).second->external_decoder_instance) {
// Release it if it was registered and in use.
ReleaseDecoder(ptr_decoder_);
ptr_decoder_ = nullptr;
@@ -571,7 +571,7 @@
if (external_dec_item) {
// External codec.
ptr_decoder = new VCMGenericDecoder(
- external_dec_item->external_decoder_instance, true);
+ *external_dec_item->external_decoder_instance, true);
} else {
// Create decoder.
ptr_decoder = CreateDecoder(decoder_item->settings->codecType);
@@ -607,14 +607,14 @@
VCMGenericDecoder* VCMCodecDataBase::CreateDecoder(VideoCodecType type) const {
switch (type) {
case kVideoCodecVP8:
- return new VCMGenericDecoder(VP8Decoder::Create(), false);
+ return new VCMGenericDecoder(*(VP8Decoder::Create()));
case kVideoCodecVP9:
- return new VCMGenericDecoder(VP9Decoder::Create(), false);
+ return new VCMGenericDecoder(*(VP9Decoder::Create()));
case kVideoCodecI420:
- return new VCMGenericDecoder(new I420Decoder(), false);
+ return new VCMGenericDecoder(*(new I420Decoder));
case kVideoCodecH264:
if (H264Decoder::IsSupported()) {
- return new VCMGenericDecoder(H264Decoder::Create(), false);
+ return new VCMGenericDecoder(*(H264Decoder::Create()));
}
break;
default: