Skip to content

Commit ae070e6

Browse files
author
Aidan Zimmermann
committed
STREAM-1153: manually attach first preview element
1 parent 75d7a1f commit ae070e6

2 files changed

Lines changed: 39 additions & 13 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "genesys-cloud-webrtc-sdk",
3-
"version": "11.5.16",
3+
"version": "11.5.25",
44
"description": "client for the interfacing with Genesys Cloud WebRTC",
55
"repository": "https://github.com/mypurecloud/genesys-cloud-webrtc-sdk",
66
"license": "MIT",

src/sessions/live-monitoring-session-handler.ts

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -88,19 +88,45 @@ export class LiveMonitoringSessionHandler extends BaseSessionHandler {
8888

8989
this.log('info', `Accepting live screen monitoring session as observer with ${videoElements.length} available video elements for ${session.pc.getReceivers().length} receivers with ${tracks.length} video tracks`);
9090

91-
let streamIndex = 0;
91+
let videoElementIndex = 0;
9292
for (const track of tracks) {
93-
if (streamIndex < videoElements.length) {
94-
const videoElement = videoElements[streamIndex];
95-
videoElement.muted = true;
96-
videoElement.autoplay = true;
97-
videoElement.srcObject = createNewStreamWithTrack(track);
98-
this.log('info', `Attached remote stream to video element`, {
99-
streamId: videoElement.srcObject?.id,
100-
track: track,
101-
...sessionInfo,
102-
});
103-
streamIndex++;
93+
if (videoElementIndex < videoElements.length) {
94+
const stream = createNewStreamWithTrack(track);
95+
if (videoElementIndex < 2) {
96+
const mainVideoElement = videoElements[videoElementIndex];
97+
mainVideoElement.muted = true;
98+
mainVideoElement.autoplay = true;
99+
mainVideoElement.srcObject = stream;
100+
this.log('info', `Attached stream to main video element`, {
101+
streamId: mainVideoElement.srcObject?.id,
102+
track: track,
103+
...sessionInfo,
104+
});
105+
videoElementIndex++;
106+
107+
const firstVideoPreviewElement = videoElements[videoElementIndex];
108+
firstVideoPreviewElement.muted = true
109+
firstVideoPreviewElement.autoplay = true;
110+
firstVideoPreviewElement.srcObject = stream;
111+
this.log('info', `Attached stream to first video preview element ${videoElementIndex}`, {
112+
streamId: mainVideoElement.srcObject?.id,
113+
track: track,
114+
...sessionInfo,
115+
});
116+
117+
} else {
118+
const videoElement = videoElements[videoElementIndex];
119+
videoElement.muted = true;
120+
videoElement.autoplay = true;
121+
videoElement.srcObject = stream;
122+
this.log('info', `Attached stream to video preview element ${videoElementIndex}`, {
123+
streamId: videoElement.srcObject?.id,
124+
track: track,
125+
...sessionInfo,
126+
});
127+
}
128+
129+
videoElementIndex++;
104130
}
105131
session.emit('incomingMedia');
106132
}

0 commit comments

Comments
 (0)