|
@@ -3,6 +3,7 @@ import { getLogger } from '@jitsi/logger';
|
3
|
3
|
import { MediaType } from '../../service/RTC/MediaType';
|
4
|
4
|
import * as StatisticsEvents from '../../service/statistics/Events';
|
5
|
5
|
import browser from '../browser';
|
|
6
|
+import FeatureFlags from '../flags/FeatureFlags';
|
6
|
7
|
|
7
|
8
|
const GlobalOnErrorHandler = require('../util/GlobalOnErrorHandler');
|
8
|
9
|
|
|
@@ -309,39 +310,67 @@ StatsCollector.prototype._processAndEmitReport = function() {
|
309
|
310
|
videoCodec = ssrcStats.codec;
|
310
|
311
|
}
|
311
|
312
|
|
312
|
|
- const participantId = track.getParticipantId();
|
|
313
|
+ if (FeatureFlags.isSourceNameSignalingEnabled()) {
|
|
314
|
+ const sourceName = track.getSourceName();
|
313
|
315
|
|
314
|
|
- if (participantId) {
|
315
|
|
- const resolution = ssrcStats.resolution;
|
|
316
|
+ if (sourceName) {
|
|
317
|
+ const resolution = ssrcStats.resolution;
|
316
|
318
|
|
317
|
|
- if (resolution.width
|
318
|
|
- && resolution.height
|
319
|
|
- && resolution.width !== -1
|
320
|
|
- && resolution.height !== -1) {
|
321
|
|
- const userResolutions = resolutions[participantId] || {};
|
|
319
|
+ if (resolution.width // eslint-disable-line max-depth
|
|
320
|
+ && resolution.height
|
|
321
|
+ && resolution.width !== -1
|
|
322
|
+ && resolution.height !== -1) {
|
|
323
|
+ resolutions[sourceName] = resolution;
|
|
324
|
+ }
|
|
325
|
+ if (ssrcStats.framerate !== 0) { // eslint-disable-line max-depth
|
|
326
|
+ framerates[sourceName] = ssrcStats.framerate;
|
|
327
|
+ }
|
|
328
|
+ if (audioCodec && videoCodec) { // eslint-disable-line max-depth
|
|
329
|
+ const codecDesc = {
|
|
330
|
+ 'audio': audioCodec,
|
|
331
|
+ 'video': videoCodec
|
|
332
|
+ };
|
322
|
333
|
|
323
|
|
- userResolutions[ssrc] = resolution;
|
324
|
|
- resolutions[participantId] = userResolutions;
|
|
334
|
+ codecs[sourceName] = codecDesc;
|
|
335
|
+ }
|
|
336
|
+ } else {
|
|
337
|
+ logger.error(`No source name returned by ${track}`);
|
325
|
338
|
}
|
326
|
|
- if (ssrcStats.framerate !== 0) {
|
327
|
|
- const userFramerates = framerates[participantId] || {};
|
|
339
|
+ } else {
|
|
340
|
+ const participantId = track.getParticipantId();
|
328
|
341
|
|
329
|
|
- userFramerates[ssrc] = ssrcStats.framerate;
|
330
|
|
- framerates[participantId] = userFramerates;
|
331
|
|
- }
|
332
|
|
- if (audioCodec && videoCodec) {
|
333
|
|
- const codecDesc = {
|
334
|
|
- 'audio': audioCodec,
|
335
|
|
- 'video': videoCodec
|
336
|
|
- };
|
|
342
|
+ if (participantId) {
|
|
343
|
+ const resolution = ssrcStats.resolution;
|
337
|
344
|
|
338
|
|
- const userCodecs = codecs[participantId] || {};
|
|
345
|
+ if (resolution.width // eslint-disable-line max-depth
|
|
346
|
+ && resolution.height
|
|
347
|
+ && resolution.width !== -1
|
|
348
|
+ && resolution.height !== -1) {
|
|
349
|
+ const userResolutions = resolutions[participantId] || {};
|
339
|
350
|
|
340
|
|
- userCodecs[ssrc] = codecDesc;
|
341
|
|
- codecs[participantId] = userCodecs;
|
|
351
|
+ userResolutions[ssrc] = resolution;
|
|
352
|
+ resolutions[participantId] = userResolutions;
|
|
353
|
+ }
|
|
354
|
+ if (ssrcStats.framerate !== 0) { // eslint-disable-line max-depth
|
|
355
|
+ const userFramerates = framerates[participantId] || {};
|
|
356
|
+
|
|
357
|
+ userFramerates[ssrc] = ssrcStats.framerate;
|
|
358
|
+ framerates[participantId] = userFramerates;
|
|
359
|
+ }
|
|
360
|
+ if (audioCodec && videoCodec) { // eslint-disable-line max-depth
|
|
361
|
+ const codecDesc = {
|
|
362
|
+ 'audio': audioCodec,
|
|
363
|
+ 'video': videoCodec
|
|
364
|
+ };
|
|
365
|
+
|
|
366
|
+ const userCodecs = codecs[participantId] || {};
|
|
367
|
+
|
|
368
|
+ userCodecs[ssrc] = codecDesc;
|
|
369
|
+ codecs[participantId] = userCodecs;
|
|
370
|
+ }
|
|
371
|
+ } else {
|
|
372
|
+ logger.error(`No participant ID returned by ${track}`);
|
342
|
373
|
}
|
343
|
|
- } else {
|
344
|
|
- logger.error(`No participant ID returned by ${track}`);
|
345
|
374
|
}
|
346
|
375
|
}
|
347
|
376
|
|