зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 99c66f2c4097 (bug 1790508) for causing wpt failures. CLOSED TREE
This commit is contained in:
Родитель
f81a096eb8
Коммит
8ef8248f4a
|
@ -301,33 +301,16 @@ struct ParamTraits<mozilla::dom::RTCInboundRtpStreamStats> {
|
|||
WriteParam(aWriter, aParam.mFrameWidth);
|
||||
WriteParam(aWriter, aParam.mFrameHeight);
|
||||
WriteParam(aWriter, aParam.mFramesPerSecond);
|
||||
WriteParam(aWriter, aParam.mQpSum);
|
||||
WriteParam(aWriter, aParam.mTotalDecodeTime);
|
||||
WriteParam(aWriter, aParam.mTotalInterFrameDelay);
|
||||
WriteParam(aWriter, aParam.mTotalSquaredInterFrameDelay);
|
||||
WriteParam(aWriter, aParam.mLastPacketReceivedTimestamp);
|
||||
WriteParam(aWriter, aParam.mHeaderBytesReceived);
|
||||
WriteParam(aWriter, aParam.mFecPacketsReceived);
|
||||
WriteParam(aWriter, aParam.mFecPacketsDiscarded);
|
||||
WriteParam(aWriter, aParam.mBytesReceived);
|
||||
WriteParam(aWriter, aParam.mNackCount);
|
||||
WriteParam(aWriter, aParam.mFirCount);
|
||||
WriteParam(aWriter, aParam.mPliCount);
|
||||
WriteParam(aWriter, aParam.mTotalProcessingDelay);
|
||||
// Always missing from libwebrtc stats
|
||||
// WriteParam(aWriter, aParam.mEstimatedPlayoutTimestamp);
|
||||
WriteParam(aWriter, aParam.mFramesReceived);
|
||||
WriteParam(aWriter, aParam.mJitterBufferDelay);
|
||||
WriteParam(aWriter, aParam.mJitterBufferEmittedCount);
|
||||
WriteParam(aWriter, aParam.mTotalSamplesReceived);
|
||||
WriteParam(aWriter, aParam.mConcealedSamples);
|
||||
WriteParam(aWriter, aParam.mSilentConcealedSamples);
|
||||
WriteParam(aWriter, aParam.mConcealmentEvents);
|
||||
WriteParam(aWriter, aParam.mInsertedSamplesForDeceleration);
|
||||
WriteParam(aWriter, aParam.mRemovedSamplesForAcceleration);
|
||||
WriteParam(aWriter, aParam.mAudioLevel);
|
||||
WriteParam(aWriter, aParam.mTotalAudioEnergy);
|
||||
WriteParam(aWriter, aParam.mTotalSamplesDuration);
|
||||
WriteRTCReceivedRtpStreamStats(aWriter, aParam);
|
||||
}
|
||||
|
||||
|
@ -337,33 +320,16 @@ struct ParamTraits<mozilla::dom::RTCInboundRtpStreamStats> {
|
|||
ReadParam(aReader, &(aResult->mFrameWidth)) &&
|
||||
ReadParam(aReader, &(aResult->mFrameHeight)) &&
|
||||
ReadParam(aReader, &(aResult->mFramesPerSecond)) &&
|
||||
ReadParam(aReader, &(aResult->mQpSum)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalDecodeTime)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalInterFrameDelay)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalSquaredInterFrameDelay)) &&
|
||||
ReadParam(aReader, &(aResult->mLastPacketReceivedTimestamp)) &&
|
||||
ReadParam(aReader, &(aResult->mHeaderBytesReceived)) &&
|
||||
ReadParam(aReader, &(aResult->mFecPacketsReceived)) &&
|
||||
ReadParam(aReader, &(aResult->mFecPacketsDiscarded)) &&
|
||||
ReadParam(aReader, &(aResult->mBytesReceived)) &&
|
||||
ReadParam(aReader, &(aResult->mNackCount)) &&
|
||||
ReadParam(aReader, &(aResult->mFirCount)) &&
|
||||
ReadParam(aReader, &(aResult->mPliCount)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalProcessingDelay)) &&
|
||||
// Always missing from libwebrtc
|
||||
// ReadParam(aReader, &(aResult->mEstimatedPlayoutTimestamp)) &&
|
||||
ReadParam(aReader, &(aResult->mFramesReceived)) &&
|
||||
ReadParam(aReader, &(aResult->mJitterBufferDelay)) &&
|
||||
ReadParam(aReader, &(aResult->mJitterBufferEmittedCount)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalSamplesReceived)) &&
|
||||
ReadParam(aReader, &(aResult->mConcealedSamples)) &&
|
||||
ReadParam(aReader, &(aResult->mSilentConcealedSamples)) &&
|
||||
ReadParam(aReader, &(aResult->mConcealmentEvents)) &&
|
||||
ReadParam(aReader, &(aResult->mInsertedSamplesForDeceleration)) &&
|
||||
ReadParam(aReader, &(aResult->mRemovedSamplesForAcceleration)) &&
|
||||
ReadParam(aReader, &(aResult->mAudioLevel)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalAudioEnergy)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalSamplesDuration)) &&
|
||||
ReadRTCReceivedRtpStreamStats(aReader, aResult);
|
||||
}
|
||||
};
|
||||
|
@ -432,18 +398,12 @@ struct ParamTraits<mozilla::dom::RTCRemoteInboundRtpStreamStats> {
|
|||
static void Write(MessageWriter* aWriter, const paramType& aParam) {
|
||||
WriteParam(aWriter, aParam.mLocalId);
|
||||
WriteParam(aWriter, aParam.mRoundTripTime);
|
||||
WriteParam(aWriter, aParam.mTotalRoundTripTime);
|
||||
WriteParam(aWriter, aParam.mFractionLost);
|
||||
WriteParam(aWriter, aParam.mRoundTripTimeMeasurements);
|
||||
WriteRTCReceivedRtpStreamStats(aWriter, aParam);
|
||||
}
|
||||
|
||||
static bool Read(MessageReader* aReader, paramType* aResult) {
|
||||
return ReadParam(aReader, &(aResult->mLocalId)) &&
|
||||
ReadParam(aReader, &(aResult->mRoundTripTime)) &&
|
||||
ReadParam(aReader, &(aResult->mTotalRoundTripTime)) &&
|
||||
ReadParam(aReader, &(aResult->mFractionLost)) &&
|
||||
ReadParam(aReader, &(aResult->mRoundTripTimeMeasurements)) &&
|
||||
ReadRTCReceivedRtpStreamStats(aReader, aResult);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -324,13 +324,6 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
local.mPacketsReceived.Construct(audioStats->packets_rcvd);
|
||||
local.mPacketsDiscarded.Construct(audioStats->packets_discarded);
|
||||
local.mBytesReceived.Construct(audioStats->payload_bytes_rcvd);
|
||||
// Always missing from libwebrtc stats
|
||||
// if (audioStats->estimated_playout_ntp_timestamp_ms) {
|
||||
// local.mEstimatedPlayoutTimestamp.Construct(
|
||||
// aConduit->GetTimestampMaker().ConvertNtpToDomTime(
|
||||
// webrtc::Timestamp::Millis(
|
||||
// *audioStats->estimated_playout_ntp_timestamp_ms)));
|
||||
// }
|
||||
local.mJitterBufferDelay.Construct(
|
||||
audioStats->jitter_buffer_delay_seconds);
|
||||
local.mJitterBufferEmittedCount.Construct(
|
||||
|
@ -340,6 +333,8 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
local.mConcealedSamples.Construct(audioStats->concealed_samples);
|
||||
local.mSilentConcealedSamples.Construct(
|
||||
audioStats->silent_concealed_samples);
|
||||
/*
|
||||
* Potential new stats that are now available upstream.
|
||||
if (audioStats->last_packet_received_timestamp_ms) {
|
||||
local.mLastPacketReceivedTimestamp.Construct(
|
||||
aConduit->GetTimestampMaker().ConvertNtpToDomTime(
|
||||
|
@ -353,9 +348,14 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
audioStats->fec_packets_received);
|
||||
local.mFecPacketsDiscarded.Construct(
|
||||
audioStats->fec_packets_discarded);
|
||||
if (audioStats->estimated_playout_ntp_timestamp_ms) {
|
||||
local.mEstimatedPlayoutTimestamp.Construct(
|
||||
aConduit->GetTimestampMaker().ConvertNtpToDomTime(
|
||||
webrtc::Timestamp::Millis(
|
||||
*audioStats->estimated_playout_ntp_timestamp_ms)));
|
||||
}
|
||||
local.mConcealmentEvents.Construct(
|
||||
audioStats->concealment_events);
|
||||
|
||||
local.mInsertedSamplesForDeceleration.Construct(
|
||||
audioStats->inserted_samples_for_deceleration);
|
||||
local.mRemovedSamplesForAcceleration.Construct(
|
||||
|
@ -368,7 +368,7 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
audioStats->total_output_energy);
|
||||
local.mTotalSamplesDuration.Construct(
|
||||
audioStats->total_output_duration);
|
||||
|
||||
*/
|
||||
if (!report->mInboundRtpStreamStats.AppendElement(
|
||||
std::move(local), fallible)) {
|
||||
mozalloc_handle_oom(0);
|
||||
|
@ -449,9 +449,10 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
videoStats->jitter_buffer_delay_seconds);
|
||||
local.mJitterBufferEmittedCount.Construct(
|
||||
videoStats->jitter_buffer_emitted_count);
|
||||
|
||||
/*
|
||||
* Potential new stats that are now available upstream.
|
||||
if (videoStats->qp_sum) {
|
||||
local.mQpSum.Construct(videoStats->qp_sum.value());
|
||||
local.mQpSum.Construct(*videoStats->qp_sum.value);
|
||||
}
|
||||
local.mTotalDecodeTime.Construct(
|
||||
double(videoStats->total_decode_time_ms) / 1000);
|
||||
|
@ -460,7 +461,7 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
local.mTotalSquaredInterFrameDelay.Construct(
|
||||
videoStats->total_squared_inter_frame_delay);
|
||||
if (videoStats->rtp_stats.last_packet_received_timestamp_ms) {
|
||||
local.mLastPacketReceivedTimestamp.Construct(
|
||||
local.mLastPacketReceiveTimestamp.Construct(
|
||||
aConduit->GetTimestampMaker().ConvertNtpToDomTime(
|
||||
webrtc::Timestamp::Millis(
|
||||
*videoStats->rtp_stats
|
||||
|
@ -470,10 +471,6 @@ nsTArray<RefPtr<RTCStatsPromise>> RTCRtpReceiver::GetStatsInternal() {
|
|||
local.mHeaderBytesReceived.Construct(
|
||||
videoStats->rtp_stats.packet_counter.header_bytes +
|
||||
videoStats->rtp_stats.packet_counter.padding_bytes);
|
||||
local.mTotalProcessingDelay.Construct(
|
||||
videoStats->total_processing_delay.seconds<double>());
|
||||
/*
|
||||
* Potential new stats that are now available upstream.
|
||||
if (videoStats->estimated_playout_ntp_timestamp_ms) {
|
||||
local.mEstimatedPlayoutTimestamp.Construct(
|
||||
aConduit->GetTimestampMaker().ConvertNtpToDomTime(
|
||||
|
|
|
@ -257,11 +257,14 @@ nsTArray<RefPtr<dom::RTCStatsPromise>> RTCRtpSender::GetStatsInternal() {
|
|||
remote.mRoundTripTime.Construct(
|
||||
static_cast<double>(audioStats->rtt_ms) / 1000.0);
|
||||
}
|
||||
/*
|
||||
* Potential new stats that are now available upstream.
|
||||
remote.mFractionLost.Construct(audioStats->fraction_lost);
|
||||
remote.mTotalRoundTripTime.Construct(
|
||||
double(aReportBlockData.sum_rtt_ms()) / 1000);
|
||||
remote.mRoundTripTimeMeasurements.Construct(
|
||||
aReportBlockData.num_rtts());
|
||||
*/
|
||||
if (!report->mRemoteInboundRtpStreamStats.AppendElement(
|
||||
std::move(remote), fallible)) {
|
||||
mozalloc_handle_oom(0);
|
||||
|
@ -333,14 +336,16 @@ nsTArray<RefPtr<dom::RTCStatsPromise>> RTCRtpSender::GetStatsInternal() {
|
|||
static_cast<double>(rtcpReportData.last_rtt_ms()) / 1000.0);
|
||||
}
|
||||
constructCommonRemoteInboundRtpStats(remote, rtcpReportData);
|
||||
/*
|
||||
* Potential new stats that are now available upstream.
|
||||
remote.mTotalRoundTripTime.Construct(
|
||||
streamStats->report_block_data->sum_rtt_ms() / 1000.0);
|
||||
remote.mFractionLost.Construct(
|
||||
static_cast<float>(
|
||||
rtcpReportData.report_block().fraction_lost) /
|
||||
static_cast<float>(streamStats->rtcp_stats.fraction_lost) /
|
||||
(1 << 8));
|
||||
remote.mRoundTripTimeMeasurements.Construct(
|
||||
streamStats->report_block_data->num_rtts());
|
||||
streamStats->report_block_data.num_rtts());
|
||||
*/
|
||||
if (!report->mRemoteInboundRtpStreamStats.AppendElement(
|
||||
std::move(remote), fallible)) {
|
||||
mozalloc_handle_oom(0);
|
||||
|
|
|
@ -19,14 +19,10 @@ const statsExpectedByType = {
|
|||
"packetsDiscarded",
|
||||
"bytesReceived",
|
||||
"jitter",
|
||||
"lastPacketReceivedTimestamp",
|
||||
"headerBytesReceived",
|
||||
// Always missing from libwebrtc stats
|
||||
// "estimatedPlayoutTimestamp",
|
||||
"jitterBufferDelay",
|
||||
"jitterBufferEmittedCount",
|
||||
],
|
||||
optional: ["remoteId", "nackCount", "qpSum"],
|
||||
optional: ["remoteId", "nackCount"],
|
||||
localVideoOnly: [
|
||||
"firCount",
|
||||
"pliCount",
|
||||
|
@ -36,24 +32,11 @@ const statsExpectedByType = {
|
|||
"frameWidth",
|
||||
"frameHeight",
|
||||
"framesReceived",
|
||||
"totalDecodeTime",
|
||||
"totalInterFrameDelay",
|
||||
"totalProcessingDelay",
|
||||
"totalSquaredInterFrameDelay",
|
||||
],
|
||||
localAudioOnly: [
|
||||
"totalSamplesReceived",
|
||||
// libwebrtc doesn't seem to do FEC for video
|
||||
"fecPacketsReceived",
|
||||
"fecPacketsDiscarded",
|
||||
"concealedSamples",
|
||||
"silentConcealedSamples",
|
||||
"concealmentEvents",
|
||||
"insertedSamplesForDeceleration",
|
||||
"removedSamplesForAcceleration",
|
||||
"audioLevel",
|
||||
"totalAudioEnergy",
|
||||
"totalSamplesDuration",
|
||||
],
|
||||
unimplemented: [
|
||||
"mediaTrackId",
|
||||
|
@ -67,6 +50,8 @@ const statsExpectedByType = {
|
|||
"burstDiscardCount",
|
||||
"gapDiscardRate",
|
||||
"gapLossRate",
|
||||
// Not yet implemented for inbound media, see bug 1519590
|
||||
"qpSum",
|
||||
],
|
||||
deprecated: ["mozRtt", "isRemote"],
|
||||
},
|
||||
|
@ -114,9 +99,6 @@ const statsExpectedByType = {
|
|||
"packetsLost",
|
||||
"jitter",
|
||||
"localId",
|
||||
"totalRoundTripTime",
|
||||
"fractionLost",
|
||||
"roundTripTimeMeasurements",
|
||||
],
|
||||
optional: ["roundTripTime", "nackCount", "packetsReceived"],
|
||||
unimplemented: [
|
||||
|
@ -126,6 +108,7 @@ const statsExpectedByType = {
|
|||
"associateStatsId",
|
||||
"sliCount",
|
||||
"packetsRepaired",
|
||||
"fractionLost",
|
||||
"burstPacketsLost",
|
||||
"burstLossCount",
|
||||
"burstDiscardCount",
|
||||
|
@ -470,21 +453,6 @@ function pedanticChecks(report) {
|
|||
`${stat.type}.pliCount is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.pliCount}`
|
||||
);
|
||||
|
||||
// qpSum
|
||||
if (stat.qpSum !== undefined) {
|
||||
ok(
|
||||
stat.qpSum > 0,
|
||||
`${stat.type}.qpSum is at least 0 ` +
|
||||
`${stat.kind} test. value=${stat.qpSum}`
|
||||
);
|
||||
}
|
||||
} else {
|
||||
is(
|
||||
stat.qpSum,
|
||||
undefined,
|
||||
`${stat.type}.qpSum does not exist when stat.kind != video`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -506,6 +474,7 @@ function pedanticChecks(report) {
|
|||
`${stat.type}.packetsDiscarded is sane number for a short test. ` +
|
||||
`value=${stat.packetsDiscarded}`
|
||||
);
|
||||
|
||||
// bytesReceived
|
||||
ok(
|
||||
stat.bytesReceived >= 0 && stat.bytesReceived < 10 ** 9, // Not a magic number, just a guess
|
||||
|
@ -529,26 +498,6 @@ function pedanticChecks(report) {
|
|||
`local only test. value=${stat.jitter}`
|
||||
);
|
||||
|
||||
// lastPacketReceivedTimestamp
|
||||
ok(
|
||||
stat.lastPacketReceivedTimestamp !== undefined,
|
||||
`${stat.type}.lastPacketReceivedTimestamp has a value`
|
||||
);
|
||||
|
||||
// headerBytesReceived
|
||||
ok(
|
||||
stat.headerBytesReceived >= 0 && stat.headerBytesReceived < 50000,
|
||||
`${stat.type}.headerBytesReceived is sane for a short test. ` +
|
||||
`value=${stat.headerBytesReceived}`
|
||||
);
|
||||
|
||||
// Always missing from libwebrtc stats
|
||||
// estimatedPlayoutTimestamp
|
||||
// ok(
|
||||
// stat.estimatedPlayoutTimestamp !== undefined,
|
||||
// `${stat.type}.estimatedPlayoutTimestamp has a value`
|
||||
// );
|
||||
|
||||
// jitterBufferEmittedCount
|
||||
let expectedJitterBufferEmmitedCount = stat.kind == "video" ? 7 : 1000;
|
||||
ok(
|
||||
|
@ -595,19 +544,6 @@ function pedanticChecks(report) {
|
|||
`${stat.kind} test. value=${stat.totalSamplesReceived}`
|
||||
);
|
||||
|
||||
// fecPacketsReceived
|
||||
ok(
|
||||
stat.fecPacketsReceived >= 0 && stat.fecPacketsReceived < 10 ** 5,
|
||||
`${stat.type}.fecPacketsReceived is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.fecPacketsReceived}`
|
||||
);
|
||||
|
||||
// fecPacketsDiscarded
|
||||
ok(
|
||||
stat.fecPacketsDiscarded >= 0 && stat.fecPacketsDiscarded < 100,
|
||||
`${stat.type}.fecPacketsDiscarded is sane number for a short test. ` +
|
||||
`value=${stat.fecPacketsDiscarded}`
|
||||
);
|
||||
// concealedSamples
|
||||
ok(
|
||||
stat.concealedSamples >= 0 &&
|
||||
|
@ -623,51 +559,6 @@ function pedanticChecks(report) {
|
|||
`${stat.type}.silentConcealedSamples is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.silentConcealedSamples}`
|
||||
);
|
||||
|
||||
// concealmentEvents
|
||||
ok(
|
||||
stat.concealmentEvents >= 0 &&
|
||||
stat.concealmentEvents <= stat.packetsReceived,
|
||||
`${stat.type}.concealmentEvents is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.concealmentEvents}`
|
||||
);
|
||||
|
||||
// insertedSamplesForDeceleration
|
||||
ok(
|
||||
stat.insertedSamplesForDeceleration >= 0 &&
|
||||
stat.insertedSamplesForDeceleration <= stat.totalSamplesReceived,
|
||||
`${stat.type}.insertedSamplesForDeceleration is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.insertedSamplesForDeceleration}`
|
||||
);
|
||||
|
||||
// removedSamplesForAcceleration
|
||||
ok(
|
||||
stat.removedSamplesForAcceleration >= 0 &&
|
||||
stat.removedSamplesForAcceleration <= stat.totalSamplesReceived,
|
||||
`${stat.type}.removedSamplesForAcceleration is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.removedSamplesForAcceleration}`
|
||||
);
|
||||
|
||||
// audioLevel
|
||||
ok(
|
||||
stat.audioLevel >= 0 && stat.audioLevel <= 128,
|
||||
`${stat.type}.bytesReceived is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.audioLevel}`
|
||||
);
|
||||
|
||||
// totalAudioEnergy
|
||||
ok(
|
||||
stat.totalAudioEnergy >= 0 && stat.totalAudioEnergy <= 128,
|
||||
`${stat.type}.totalAudioEnergy is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.totalAudioEnergy}`
|
||||
);
|
||||
|
||||
// totalSamplesDuration
|
||||
ok(
|
||||
stat.totalSamplesDuration >= 0 && stat.totalSamplesDuration <= 300,
|
||||
`${stat.type}.totalSamplesDuration is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.totalSamplesDuration}`
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -700,7 +591,6 @@ function pedanticChecks(report) {
|
|||
`${stat.type}.framesPerSecond is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.framesPerSecond}`
|
||||
);
|
||||
|
||||
// framesDecoded
|
||||
ok(
|
||||
stat.framesDecoded > 0 && stat.framesDecoded < 1000000,
|
||||
|
@ -722,35 +612,6 @@ function pedanticChecks(report) {
|
|||
`${stat.kind} test. value=${stat.frameHeight}`
|
||||
);
|
||||
|
||||
// totalDecodeTime
|
||||
ok(
|
||||
stat.totalDecodeTime >= 0 && stat.totalDecodeTime < 300,
|
||||
`${stat.type}.totalDecodeTime is sane for a short test. ` +
|
||||
`value=${stat.totalDecodeTime}`
|
||||
);
|
||||
|
||||
// totalProcessingDelay
|
||||
ok(
|
||||
stat.totalProcessingDelay < 10,
|
||||
`${stat.type}.totalProcessingDelay is sane number for a short test ` +
|
||||
`local only test. value=${stat.totalProcessingDelay}`
|
||||
);
|
||||
|
||||
// totalInterFrameDelay
|
||||
ok(
|
||||
stat.totalInterFrameDelay >= 0 && stat.totalInterFrameDelay < 100,
|
||||
`${stat.type}.totalInterFrameDelay is sane for a short test. ` +
|
||||
`value=${stat.totalInterFrameDelay}`
|
||||
);
|
||||
|
||||
// totalSquaredInterFrameDelay
|
||||
ok(
|
||||
stat.totalSquaredInterFrameDelay >= 0 &&
|
||||
stat.totalSquaredInterFrameDelay < 100,
|
||||
`${stat.type}.totalSquaredInterFrameDelay is sane for a short test. ` +
|
||||
`value=${stat.totalSquaredInterFrameDelay}`
|
||||
);
|
||||
|
||||
// framesReceived
|
||||
ok(
|
||||
stat.framesReceived >= 0 && stat.framesReceived < 100000,
|
||||
|
@ -795,28 +656,6 @@ function pedanticChecks(report) {
|
|||
`${stat.kind} test. value=${stat.packetsReceived}`
|
||||
);
|
||||
}
|
||||
|
||||
// totalRoundTripTime
|
||||
ok(
|
||||
stat.totalRoundTripTime < 50000,
|
||||
`${stat.type}.totalRoundTripTime is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.totalRoundTripTime}`
|
||||
);
|
||||
|
||||
// fractionLost
|
||||
ok(
|
||||
stat.fractionLost < 0.2,
|
||||
`${stat.type}.fractionLost is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.fractionLost}`
|
||||
);
|
||||
|
||||
// roundTripTimeMeasurements
|
||||
ok(
|
||||
stat.roundTripTimeMeasurements >= 1 &&
|
||||
stat.roundTripTimeMeasurements < 500,
|
||||
`${stat.type}.roundTripTimeMeasurements is a sane number for a short ` +
|
||||
`${stat.kind} test. value=${stat.roundTripTimeMeasurements}`
|
||||
);
|
||||
} else if (stat.type == "outbound-rtp") {
|
||||
//
|
||||
// Required fields
|
||||
|
|
|
@ -68,41 +68,21 @@ dictionary RTCInboundRtpStreamStats : RTCReceivedRtpStreamStats {
|
|||
unsigned long frameWidth;
|
||||
unsigned long frameHeight;
|
||||
double framesPerSecond;
|
||||
unsigned long long qpSum;
|
||||
double totalDecodeTime;
|
||||
double totalInterFrameDelay;
|
||||
double totalSquaredInterFrameDelay;
|
||||
DOMHighResTimeStamp lastPacketReceivedTimestamp;
|
||||
unsigned long long headerBytesReceived;
|
||||
unsigned long long fecPacketsReceived;
|
||||
unsigned long long fecPacketsDiscarded;
|
||||
unsigned long long bytesReceived;
|
||||
unsigned long nackCount;
|
||||
unsigned long firCount;
|
||||
unsigned long pliCount;
|
||||
double totalProcessingDelay;
|
||||
// Always missing from libwebrtc
|
||||
// DOMHighResTimeStamp estimatedPlayoutTimestamp;
|
||||
double jitterBufferDelay;
|
||||
unsigned long long jitterBufferEmittedCount;
|
||||
unsigned long long totalSamplesReceived;
|
||||
unsigned long long concealedSamples;
|
||||
unsigned long long silentConcealedSamples;
|
||||
unsigned long long concealmentEvents;
|
||||
unsigned long long insertedSamplesForDeceleration;
|
||||
unsigned long long removedSamplesForAcceleration;
|
||||
double audioLevel;
|
||||
double totalAudioEnergy;
|
||||
double totalSamplesDuration;
|
||||
unsigned long framesReceived;
|
||||
};
|
||||
|
||||
dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats {
|
||||
DOMString localId;
|
||||
double roundTripTime;
|
||||
double totalRoundTripTime;
|
||||
double fractionLost;
|
||||
unsigned long long roundTripTimeMeasurements;
|
||||
};
|
||||
|
||||
dictionary RTCSentRtpStreamStats : RTCRtpStreamStats {
|
||||
|
|
|
@ -8,7 +8,49 @@
|
|||
[inbound-rtp's qpSum]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's estimatedPlayoutTimestamp]
|
||||
[inbound-rtp's totalDecodeTime]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's totalInterFrameDelay]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's totalSquaredInterFrameDelay]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's lastPacketReceivedTimestamp]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's headerBytesReceived]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's fecPacketsReceived]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's fecPacketsDiscarded]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's totalProcessingDelay]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's estimatedPlayoutTimestamp]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's concealmentEvents]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's insertedSamplesForDeceleration]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's removedSamplesForAcceleration]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's audioLevel]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's totalAudioEnergy]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's totalSamplesDuration]
|
||||
expected: FAIL
|
||||
|
||||
[inbound-rtp's decoderImplementation]
|
||||
|
@ -53,6 +95,15 @@
|
|||
[outbound-rtp's transportId]
|
||||
expected: FAIL
|
||||
|
||||
[remote-inbound-rtp's totalRoundTripTime]
|
||||
expected: FAIL
|
||||
|
||||
[remote-inbound-rtp's fractionLost]
|
||||
expected: FAIL
|
||||
|
||||
[remote-inbound-rtp's roundTripTimeMeasurements]
|
||||
expected: FAIL
|
||||
|
||||
[remote-inbound-rtp's framesDropped]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -59,6 +59,14 @@
|
|||
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1728357
|
||||
expected: FAIL
|
||||
|
||||
[RTCInboundRtpStreamStats's totalAudioEnergy]
|
||||
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1728361
|
||||
expected: FAIL
|
||||
|
||||
[RTCInboundRtpStreamStats's totalSamplesDuration]
|
||||
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1728362
|
||||
expected: FAIL
|
||||
|
||||
[RTCMediaSourceStats's trackIdentifier]
|
||||
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1728364
|
||||
expected: FAIL
|
||||
|
|
Загрузка…
Ссылка в новой задаче