Iterator was invalid while removing entries from codec db maps.
Review URL: http://webrtc-codereview.appspot.com/373003 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1534 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
9e332ab95b
commit
218db3de20
@ -484,19 +484,23 @@ VCMCodecDataBase::ResetReceiver()
|
||||
ReleaseDecoder(_ptrDecoder);
|
||||
_ptrDecoder = NULL;
|
||||
memset(&_receiveCodec, 0, sizeof(VideoCodec));
|
||||
for (DecoderMap::iterator it = _decMap.begin(); it != _decMap.end(); ++it) {
|
||||
DecoderMap::iterator it = _decMap.begin();
|
||||
while (it != _decMap.end()) {
|
||||
if ((*it).second->_settings != NULL)
|
||||
{
|
||||
delete (*it).second->_settings;
|
||||
}
|
||||
delete (*it).second;
|
||||
_decMap.erase(it);
|
||||
it = _decMap.begin();
|
||||
}
|
||||
for (ExternalDecoderMap::iterator it = _decExternalMap.begin();
|
||||
it != _decExternalMap.end(); ++it) {
|
||||
delete (*it).second;
|
||||
_decExternalMap.erase(it);
|
||||
ExternalDecoderMap::iterator exterit = _decExternalMap.begin();
|
||||
while (exterit != _decExternalMap.begin()) {
|
||||
delete (*exterit).second;
|
||||
_decExternalMap.erase(exterit);
|
||||
exterit = _decExternalMap.begin();
|
||||
}
|
||||
|
||||
_currentDecIsExternal = false;
|
||||
return VCM_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user