Skip to content

Commit 11501b0

Browse files
committed
cancel timer also
1 parent d004e93 commit 11501b0

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,13 @@ public void run() {
356356

357357
private void createScreenStream() {
358358
// Guards against onServiceConnected firing after invalidate() has disposed and nulled mFactory.
359-
if (webRTCModule.mFactory == null) return;
359+
if (webRTCModule.mFactory == null) {
360+
if (displayMediaPromise != null) {
361+
displayMediaPromise.reject("ERR_MODULE_DISPOSED", "WebRTCModule disposed during getDisplayMedia");
362+
displayMediaPromise = null;
363+
}
364+
return;
365+
}
360366
VideoTrack track = createScreenTrack();
361367

362368
if (track == null) {

android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ void dispose() {
9999
// by the PeerConnection instance (RtpReceivers, RtpSenders, etc.)
100100
peerConnection.dispose();
101101

102+
videoTrackAdapters.dispose();
103+
102104
remoteStreamIds.clear();
103105
remoteStreams.clear();
104106
remoteTracks.clear();

android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ public void removeDimensionDetector(VideoTrack videoTrack) {
8989
Log.d(TAG, "Deleted dimension detector for " + trackId);
9090
}
9191

92+
void dispose() {
93+
timer.cancel();
94+
}
95+
9296
/**
9397
* Implements 'mute'/'unmute' events for remote video tracks through
9498
* the {@link VideoSink} interface.

0 commit comments

Comments
 (0)