Bug 986764: release all webrtc sub-modules before deleting engine r=gcp

This commit is contained in:
Randell Jesup 2014-03-26 17:58:25 -04:00
Родитель 60df1ee9ac
Коммит d75fda4229
2 изменённых файлов: 21 добавлений и 1 удалений

Просмотреть файл

@ -112,6 +112,17 @@ WebrtcAudioConduit::~WebrtcAudioConduit()
mOtherDirection->mShutDown = true;
mVoiceEngine = nullptr;
} else {
// We shouldn't delete the VoiceEngine until all these are released!
// And we can't use a Scoped ptr, since the order is arbitrary
mPtrVoENetwork = nullptr;
mPtrVoEBase = nullptr;
mPtrVoECodec = nullptr;
mPtrVoEXmedia = nullptr;
mPtrVoEProcessing = nullptr;
mPtrVoEVideoSync = nullptr;
mPtrVoERTP_RTCP = nullptr;
mPtrRTP = nullptr;
// only one opener can call Delete. Have it be the last to close.
if(mVoiceEngine)
{

Просмотреть файл

@ -116,7 +116,16 @@ WebrtcVideoConduit::~WebrtcVideoConduit()
// let other side we terminated the channel
mOtherDirection->mShutDown = true;
mVideoEngine = nullptr;
} else {
} else {
// We can't delete the VideoEngine until all these are released!
// And we can't use a Scoped ptr, since the order is arbitrary
mPtrViEBase = nullptr;
mPtrViECapture = nullptr;
mPtrViECodec = nullptr;
mPtrViENetwork = nullptr;
mPtrViERender = nullptr;
mPtrRTP = nullptr;
// only one opener can call Delete. Have it be the last to close.
if(mVideoEngine)
{