Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8858631

Browse files
committed
FIX: clean timer
1 parent e2a742d commit 8858631

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

iOS/Agora-ScreenShare-Extension/SampleHandler.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import ReplayKit
1010

1111
class SampleHandler: RPBroadcastSampleHandler {
1212

13-
var bufferCopy : CMSampleBuffer?
14-
var lastSendTs : Int64 = Int64(Date().timeIntervalSince1970 * 1000)
15-
var timer:Timer?
13+
var bufferCopy: CMSampleBuffer?
14+
var lastSendTs: Int64 = Int64(Date().timeIntervalSince1970 * 1000)
15+
var timer: Timer?
1616

1717
override func broadcastStarted(withSetupInfo setupInfo: [String : NSObject]?) {
1818

@@ -31,7 +31,7 @@ class SampleHandler: RPBroadcastSampleHandler {
3131
AgoraUploader.startBroadcast(to: "ScreenShare")
3232
}
3333
DispatchQueue.main.async {
34-
Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) {[weak self] (timer:Timer) in
34+
self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) {[weak self] (timer:Timer) in
3535
guard let weakSelf = self else {return}
3636
let elapse = Int64(Date().timeIntervalSince1970 * 1000) - weakSelf.lastSendTs
3737
print("elapse: \(elapse)")
@@ -55,6 +55,8 @@ class SampleHandler: RPBroadcastSampleHandler {
5555
}
5656

5757
override func broadcastFinished() {
58+
timer?.invalidate()
59+
timer = nil
5860
AgoraUploader.stopBroadcast()
5961
}
6062

0 commit comments

Comments
 (0)