Remove VideoReceiveStream deregister of decoders.

Also doing some simplifications inside video_coding. No CHECKs added,
since they appear to have introduced breakages in downstream tests.

Overall reducing the number of potential ways a decoder could possibly
be set null. Removing deregistration of external decoders should also
give a quicker shutdown time since that may attempt to register
internal decoders.

BUG=chromium:563299
TBR=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1483423002 .

Cr-Commit-Position: refs/heads/master@{#10858}
This commit is contained in:
Peter Boström
2015-12-01 17:20:01 +01:00
parent 04a6bb9b63
commit 187db63fdf
7 changed files with 43 additions and 94 deletions

View File

@ -65,7 +65,7 @@ class VCMGenericDecoder
{
friend class VCMCodecDataBase;
public:
VCMGenericDecoder(VideoDecoder& decoder, bool isExternal = false);
VCMGenericDecoder(VideoDecoder* decoder, bool isExternal = false);
~VCMGenericDecoder();
/**
@ -102,7 +102,7 @@ private:
VCMDecodedFrameCallback* _callback;
VCMFrameInformation _frameInfos[kDecoderFrameMemoryLength];
uint32_t _nextFrameInfoIdx;
VideoDecoder& _decoder;
VideoDecoder* const _decoder;
VideoCodecType _codecType;
bool _isExternal;
bool _keyFrameDecoded;