diff --git a/CHANGELOG.md b/CHANGELOG.md index 78a0b387ab..1795415ef2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Terminate audio RED worker before removing reference. + ## [3.24.0] - 2024-07-11 ### Added diff --git a/demos/browser/package-lock.json b/demos/browser/package-lock.json index cbeb496625..8bbcc5c61e 100644 --- a/demos/browser/package-lock.json +++ b/demos/browser/package-lock.json @@ -44,7 +44,7 @@ } }, "../..": { - "version": "3.24.0", + "version": "3.25.0", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-js": "^2.0.1", diff --git a/docs/classes/defaulttransceivercontroller.html b/docs/classes/defaulttransceivercontroller.html index 2715a9a0a5..0279f0a63d 100644 --- a/docs/classes/defaulttransceivercontroller.html +++ b/docs/classes/defaulttransceivercontroller.html @@ -284,7 +284,7 @@

addRedundantAudioRecoveryMetricsObserver

@@ -478,7 +478,7 @@

metricsDidReceive

@@ -507,7 +507,7 @@

removeRedundantAudioRecoveryMetricsObserver

@@ -617,7 +617,7 @@

setAudioPayloadTypes

diff --git a/docs/classes/simulcastcontentsharetransceivercontroller.html b/docs/classes/simulcastcontentsharetransceivercontroller.html index 814c6befc9..3983020aaa 100644 --- a/docs/classes/simulcastcontentsharetransceivercontroller.html +++ b/docs/classes/simulcastcontentsharetransceivercontroller.html @@ -359,7 +359,7 @@

addRedundantAudioRecoveryMetricsObserver

@@ -599,7 +599,7 @@

metricsDidReceive

@@ -628,7 +628,7 @@

removeRedundantAudioRecoveryMetricsObserver

@@ -738,7 +738,7 @@

setAudioPayloadTypes

diff --git a/docs/classes/simulcasttransceivercontroller.html b/docs/classes/simulcasttransceivercontroller.html index 60f4091620..4ebc92d378 100644 --- a/docs/classes/simulcasttransceivercontroller.html +++ b/docs/classes/simulcasttransceivercontroller.html @@ -358,7 +358,7 @@

addRedundantAudioRecoveryMetricsObserver

@@ -596,7 +596,7 @@

metricsDidReceive

@@ -625,7 +625,7 @@

removeRedundantAudioRecoveryMetricsObserver

@@ -735,7 +735,7 @@

setAudioPayloadTypes

diff --git a/docs/classes/videoonlytransceivercontroller.html b/docs/classes/videoonlytransceivercontroller.html index 9355517df2..d2619b33d2 100644 --- a/docs/classes/videoonlytransceivercontroller.html +++ b/docs/classes/videoonlytransceivercontroller.html @@ -285,7 +285,7 @@

addRedundantAudioRecoveryMetricsObserver

@@ -480,7 +480,7 @@

metricsDidReceive

@@ -509,7 +509,7 @@

removeRedundantAudioRecoveryMetricsObserver

@@ -619,7 +619,7 @@

setAudioPayloadTypes

diff --git a/src/transceivercontroller/DefaultTransceiverController.ts b/src/transceivercontroller/DefaultTransceiverController.ts index 77ac5882ba..00174e7e29 100644 --- a/src/transceivercontroller/DefaultTransceiverController.ts +++ b/src/transceivercontroller/DefaultTransceiverController.ts @@ -631,6 +631,7 @@ export default class DefaultTransceiverController if (this.audioRedWorker) { URL.revokeObjectURL(this.audioRedWorkerURL); this.audioRedWorkerURL = null; + this.audioRedWorker.terminate(); this.audioRedWorker = null; this.currentNumRedundantEncodings = 0; this.lastRedHolddownTimerStartTimestampMs = 0; diff --git a/test/dommock/DOMMockBuilder.ts b/test/dommock/DOMMockBuilder.ts index e30e15261d..e4e8f73019 100644 --- a/test/dommock/DOMMockBuilder.ts +++ b/test/dommock/DOMMockBuilder.ts @@ -164,6 +164,8 @@ export default class DOMMockBuilder { return true; } + + terminate(): void {} }; GlobalAny.WebSocket = class MockWebSocket {