This is a testharness.js-based test.
PASS [audio] getSynchronizationSources() eventually returns a non-empty list
PASS [audio] RTCRtpSynchronizationSource.timestamp is a number
PASS [audio] getSynchronizationSources() does not contain SSRCs older than 10 seconds
FAIL [audio] RTCRtpSynchronizationSource.timestamp is comparable to performance.timeOrigin + performance.now() assert_true: expected true got false
PASS [audio] RTCRtpSynchronizationSource.source is a number
PASS [video] getSynchronizationSources() eventually returns a non-empty list
PASS [video] RTCRtpSynchronizationSource.timestamp is a number
PASS [video] getSynchronizationSources() does not contain SSRCs older than 10 seconds
FAIL [video] RTCRtpSynchronizationSource.timestamp is comparable to performance.timeOrigin + performance.now() assert_true: expected true got false
PASS [video] RTCRtpSynchronizationSource.source is a number
FAIL [audio-only] RTCRtpSynchronizationSource.audioLevel is a number [0, 1] assert_equals: expected "number" but got "undefined"
FAIL [audio-only] RTCRtpSynchronizationSource.voiceActivityFlag is a boolean assert_equals: expected "boolean" but got "undefined"
Harness: the test ran to completion.

