diff --git a/android/src/main/java/com/twiliorn/library/CustomTwilioVideoView.java b/android/src/main/java/com/twiliorn/library/CustomTwilioVideoView.java index a29c53ab..a974f3a5 100644 --- a/android/src/main/java/com/twiliorn/library/CustomTwilioVideoView.java +++ b/android/src/main/java/com/twiliorn/library/CustomTwilioVideoView.java @@ -722,6 +722,11 @@ public void toggleVideo(boolean enabled) { WritableMap event = new WritableNativeMap(); event.putBoolean("videoEnabled", enabled); pushEvent(CustomTwilioVideoView.this, ON_VIDEO_CHANGED, event); + if (!enabled) { + localVideoTrack.release(); + localVideoTrack = null; + cameraCapturer = null; + } } } @@ -1146,11 +1151,15 @@ public void onVideoTrackSubscriptionFailed(RemoteParticipant participant, Remote @Override public void onVideoTrackPublished(RemoteParticipant participant, RemoteVideoTrackPublication publication) { + WritableMap event = buildParticipantVideoEvent(participant, publication); + pushEvent(CustomTwilioVideoView.this, ON_PARTICIPANT_ENABLED_VIDEO_TRACK, event); } @Override public void onVideoTrackUnpublished(RemoteParticipant participant, RemoteVideoTrackPublication publication) { + WritableMap event = buildParticipantVideoEvent(participant, publication); + pushEvent(CustomTwilioVideoView.this, ON_PARTICIPANT_DISABLED_VIDEO_TRACK, event); }