author | Nils Ohlmeier [:drno] <drno@ohlmeier.org> |
Thu, 07 Jul 2016 21:33:23 -0400 | |
changeset 304161 | cc47bd26a869b4c056970f369a00196ab12cb7d9 |
parent 304160 | cbcb9fbfcb13d6d2b0141551f4bff8d69aee963a |
child 304162 | 2763206148aa397d21a6e2649125870e2aab2207 |
push id | 30414 |
push user | cbook@mozilla.com |
push date | Fri, 08 Jul 2016 09:59:01 +0000 |
treeherder | mozilla-central@45682df2d2d4 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bwc |
bugs | 1279146 |
milestone | 50.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/media/mtransport/nricectx.cpp +++ b/media/mtransport/nricectx.cpp @@ -666,16 +666,21 @@ void NrIceCtx::internal_DeinitializeGlob } void NrIceCtx::internal_SetTimerAccelarator(int divider) { ctx_->test_timer_divider = divider; } NrIceCtx::~NrIceCtx() { MOZ_MTLOG(ML_DEBUG, "Destroying ICE ctx '" << name_ <<"'"); + for (auto stream = streams_.begin(); stream != streams_.end(); stream++) { + if (*stream) { + (*stream)->Close(); + } + } nr_ice_peer_ctx_destroy(&peer_); nr_ice_ctx_destroy(&ctx_); delete ice_handler_vtbl_; delete ice_handler_; } void NrIceCtx::SetStream(size_t index, NrIceMediaStream* stream) {
--- a/media/mtransport/nricemediastream.cpp +++ b/media/mtransport/nricemediastream.cpp @@ -593,15 +593,18 @@ void NrIceMediaStream::Ready() { MOZ_MTLOG(ML_DEBUG, "Stream ready callback fired again for '" << name_ << "'"); } } void NrIceMediaStream::Close() { MOZ_MTLOG(ML_DEBUG, "Marking stream closed '" << name_ << "'"); state_ = ICE_CLOSED; - int r = nr_ice_remove_media_stream(ctx_, &stream_); - if (r) { - MOZ_ASSERT(false, "Failed to remove stream"); - MOZ_MTLOG(ML_ERROR, "Failed to remove stream, error=" << r); + if (stream_) { + int r = nr_ice_remove_media_stream(ctx_, &stream_); + if (r) { + MOZ_ASSERT(false, "Failed to remove stream"); + MOZ_MTLOG(ML_ERROR, "Failed to remove stream, error=" << r); + } } } + } // close namespace
--- a/media/mtransport/transportlayerdtls.cpp +++ b/media/mtransport/transportlayerdtls.cpp @@ -363,16 +363,17 @@ static const struct PRIOMethods Transpor TransportLayerConnectContinue, TransportLayerReserved, TransportLayerReserved, TransportLayerReserved, TransportLayerReserved }; TransportLayerDtls::~TransportLayerDtls() { + nspr_io_adapter_->SetEnabled(false); if (timer_) { timer_->Cancel(); } } nsresult TransportLayerDtls::InitInternal() { // Get the transport service as an event target nsresult rv;