UNPKG

kurento-client-core

Version:

JavaScript Client API for Kurento Media Server

210 lines (192 loc) 7.08 kB
/* Autogenerated with Kurento Idl */ /* * (C) Copyright 2013-2015 Kurento (https://kurento.openvidu.io/) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var inherits = require('inherits'); var kurentoClient = require('kurento-client'); var checkType = kurentoClient.checkType; var ChecktypeError = checkType.ChecktypeError; var RTCStats = require('./RTCStats'); /** * Statistics for the RTP stream * * @constructor module:core/complexTypes.RTCRTPStreamStats * * @property {external:String} ssrc * The synchronized source SSRC * @property {external:String} associateStatsId * The associateStatsId is used for looking up the corresponding (local/remote) * @property {external:Boolean} isRemote * false indicates that the statistics are measured locally, while true * indicates that the measurements were done at the remote endpoint and * reported in an RTCP RR/XR. * @property {external:String} mediaTrackId * Track identifier. * @property {external:String} transportId * It is a unique identifier that is associated to the object that was * inspected to produce the RTCTransportStats associated with this RTP stream. * @property {external:String} codecId * The codec identifier * @property {external:int64} firCount * Count the total number of Full Intra Request (FIR) packets received by the * sender. This metric is only valid for video and is sent by receiver. * @property {external:int64} pliCount * Count the total number of Packet Loss Indication (PLI) packets received by * the sender and is sent by receiver. * @property {external:int64} nackCount * Count the total number of Negative ACKnowledgement (NACK) packets received * by the sender and is sent by receiver. * @property {external:int64} sliCount * Count the total number of Slice Loss Indication (SLI) packets received by * the sender. This metric is only valid for video and is sent by receiver. * @property {external:int64} remb * The Receiver Estimated Maximum Bitrate (REMB). This metric is only valid for * @property {external:int64} packetsLost * Total number of RTP packets lost for this SSRC. * @property {external:double} fractionLost * The fraction packet loss reported for this SSRC. * @extends module:core.RTCStats */ function RTCRTPStreamStats(rTCRTPStreamStatsDict){ if(!(this instanceof RTCRTPStreamStats)) return new RTCRTPStreamStats(rTCRTPStreamStatsDict) rTCRTPStreamStatsDict = rTCRTPStreamStatsDict || {} // Check rTCRTPStreamStatsDict has the required fields // // checkType('String', 'rTCRTPStreamStatsDict.ssrc', rTCRTPStreamStatsDict.ssrc, {required: true}); // // checkType('String', 'rTCRTPStreamStatsDict.associateStatsId', rTCRTPStreamStatsDict.associateStatsId, {required: true}); // // checkType('boolean', 'rTCRTPStreamStatsDict.isRemote', rTCRTPStreamStatsDict.isRemote, {required: true}); // // checkType('String', 'rTCRTPStreamStatsDict.mediaTrackId', rTCRTPStreamStatsDict.mediaTrackId, {required: true}); // // checkType('String', 'rTCRTPStreamStatsDict.transportId', rTCRTPStreamStatsDict.transportId, {required: true}); // // checkType('String', 'rTCRTPStreamStatsDict.codecId', rTCRTPStreamStatsDict.codecId, {required: true}); // // checkType('int64', 'rTCRTPStreamStatsDict.firCount', rTCRTPStreamStatsDict.firCount, {required: true}); // // checkType('int64', 'rTCRTPStreamStatsDict.pliCount', rTCRTPStreamStatsDict.pliCount, {required: true}); // // checkType('int64', 'rTCRTPStreamStatsDict.nackCount', rTCRTPStreamStatsDict.nackCount, {required: true}); // // checkType('int64', 'rTCRTPStreamStatsDict.sliCount', rTCRTPStreamStatsDict.sliCount, {required: true}); // // checkType('int64', 'rTCRTPStreamStatsDict.remb', rTCRTPStreamStatsDict.remb, {required: true}); // // checkType('int64', 'rTCRTPStreamStatsDict.packetsLost', rTCRTPStreamStatsDict.packetsLost, {required: true}); // // checkType('double', 'rTCRTPStreamStatsDict.fractionLost', rTCRTPStreamStatsDict.fractionLost, {required: true}); // // Init parent class RTCRTPStreamStats.super_.call(this, rTCRTPStreamStatsDict) // Set object properties Object.defineProperties(this, { ssrc: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.ssrc }, associateStatsId: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.associateStatsId }, isRemote: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.isRemote }, mediaTrackId: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.mediaTrackId }, transportId: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.transportId }, codecId: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.codecId }, firCount: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.firCount }, pliCount: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.pliCount }, nackCount: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.nackCount }, sliCount: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.sliCount }, remb: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.remb }, packetsLost: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.packetsLost }, fractionLost: { writable: true, enumerable: true, value: rTCRTPStreamStatsDict.fractionLost } }) } inherits(RTCRTPStreamStats, RTCStats) // Private identifiers to allow re-construction of the complexType on the server // They need to be enumerable so JSON.stringify() can access to them Object.defineProperties(RTCRTPStreamStats.prototype, { __module__: { enumerable: true, value: "kurento" }, __type__: { enumerable: true, value: "RTCRTPStreamStats" } }) /** * Checker for {@link module:core/complexTypes.RTCRTPStreamStats} * * @memberof module:core/complexTypes * * @param {external:String} key * @param {module:core/complexTypes.RTCRTPStreamStats} value */ function checkRTCRTPStreamStats(key, value) { if(!(value instanceof RTCRTPStreamStats)) throw ChecktypeError(key, RTCRTPStreamStats, value); }; module.exports = RTCRTPStreamStats; RTCRTPStreamStats.check = checkRTCRTPStreamStats;