Skip to content

Commit f73fa6e

Browse files
authored
Transceiver memory leak (#751)
Resolves #420
1 parent bfd538f commit f73fa6e

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

.changes/transceiver-leak

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
patch type="fixed" "Fixed memory leak while unpublishing video tracks"

Sources/LiveKit/Core/Transport.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,11 @@ extension Transport {
323323
}
324324

325325
func remove(track sender: LKRTCRtpSender) throws {
326+
// Stop the transceiver to release its resources and prevent memory leak
327+
if let transceiver = _pc.transceivers.first(where: { $0.sender == sender }) {
328+
transceiver.stopInternal()
329+
}
330+
326331
guard _pc.removeTrack(sender) else {
327332
throw LiveKitError(.webRTC, message: "Failed to remove track")
328333
}

0 commit comments

Comments
 (0)