10
10
const preferredDisplaySurface = document . getElementById ( 'displaySurface' ) ;
11
11
const startStopButton = document . getElementById ( 'startButton' ) ;
12
12
const videoElement = document . querySelector ( 'video' ) ;
13
+ let displayMediaStarted = false ;
13
14
14
15
if ( adapter . browserDetails . browser === 'chrome' &&
15
16
adapter . browserDetails . version >= 107 ) {
@@ -22,6 +23,7 @@ if (adapter.browserDetails.browser === 'chrome' &&
22
23
}
23
24
24
25
function handleSuccess ( stream ) {
26
+ displayMediaStarted = true ;
25
27
startStopButton . textContent = 'Stop' ;
26
28
preferredDisplaySurface . disabled = true ;
27
29
videoElement . srcObject = stream ;
@@ -49,7 +51,7 @@ function errorMsg(msg, error) {
49
51
50
52
51
53
startStopButton . addEventListener ( 'click' , ( ) => {
52
- if ( startStopButton . textContent === 'Start' ) {
54
+ if ( ! displayMediaStarted ) {
53
55
const options = { audio : true , video : true } ;
54
56
const displaySurface = preferredDisplaySurface . options [ preferredDisplaySurface . selectedIndex ] . value ;
55
57
if ( displaySurface !== 'default' ) {
@@ -64,6 +66,7 @@ startStopButton.addEventListener('click', () => {
64
66
videoElement . srcObject . getTracks ( ) . forEach ( track => track . stop ( ) ) ;
65
67
videoElement . srcObject = null ;
66
68
startStopButton . textContent = 'Start' ;
69
+ displayMediaStarted = false ;
67
70
}
68
71
} ) ;
69
72
0 commit comments