Пример #1
0
 removeHighQualityFmtps (sdp) {
   let res = transform.parse(sdp);
   let maxProfileLevel = config.get('kurento.maximum_profile_level_hex');
   let pt = 0;
   let idx = 0;
   for(var ml of res.media) {
     if(ml.type == 'video') {
       for(var fmtp of ml.fmtp) {
         let fmtpConfig = transform.parseParams(fmtp.config);
         let profileId = fmtpConfig['profile-level-id'];
         if(typeof profileId !== 'undefined' && parseInt(profileId, 16) > parseInt(maxProfileLevel, 16)) {
           pt = fmtp.payload;
           delete ml.fmtp[idx];
           ml.rtp = ml.rtp.filter((rtp) => { return rtp.payload != pt});
         }
         else {
           // Remove fmtp further specifications
           //let configProfile = "profile-level-id="+profileId;
           //fmtp.config = configProfile;
         }
         idx++;
       }
     }
   }
   var mangledSdp = transform.write(res);
   return mangledSdp;
 }
Пример #2
0
 rids.forEach((rid) => {
   const ridInfo = new RIDInfo(rid.id, DirectionWay.byValue(rid.direction));
   let formats = [];
   const params = new Map();
   if (rid.params) {
     const list = SDPTransform.parseParams(rid.params);
     Object.keys(list).forEach((key) => {
       if (key === 'pt') {
         formats = list[key].split(',');
       } else {
         params.set(key, list[key]);
       }
     });
     ridInfo.setFormats(formats);
     ridInfo.setParams(params);
   }
   mediaInfo.addRID(ridInfo);
 });