1010const preferredDisplaySurface = document . getElementById ( 'displaySurface' ) ;
1111const startStopButton = document . getElementById ( 'startButton' ) ;
1212const videoElement = document . querySelector ( 'video' ) ;
13+ let displayMediaStarted = false ;
1314
1415if ( adapter . browserDetails . browser === 'chrome' &&
1516 adapter . browserDetails . version >= 107 ) {
@@ -22,6 +23,7 @@ if (adapter.browserDetails.browser === 'chrome' &&
2223}
2324
2425function handleSuccess ( stream ) {
26+ displayMediaStarted = true ;
2527 startStopButton . textContent = 'Stop' ;
2628 preferredDisplaySurface . disabled = true ;
2729 videoElement . srcObject = stream ;
@@ -49,7 +51,7 @@ function errorMsg(msg, error) {
4951
5052
5153startStopButton . addEventListener ( 'click' , ( ) => {
52- if ( startStopButton . textContent === 'Start' ) {
54+ if ( ! displayMediaStarted ) {
5355 const options = { audio : true , video : true } ;
5456 const displaySurface = preferredDisplaySurface . options [ preferredDisplaySurface . selectedIndex ] . value ;
5557 if ( displaySurface !== 'default' ) {
@@ -64,6 +66,7 @@ startStopButton.addEventListener('click', () => {
6466 videoElement . srcObject . getTracks ( ) . forEach ( track => track . stop ( ) ) ;
6567 videoElement . srcObject = null ;
6668 startStopButton . textContent = 'Start' ;
69+ displayMediaStarted = false ;
6770 }
6871} ) ;
6972
0 commit comments