From e71b59137d24c76b4a283b3c59e97aace4b04dd4 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Thu, 3 Sep 2026 13:56:30 +0200 Subject: [PATCH] openvidu-testapp: added new rtc stats to the video info dialog --- openvidu-testapp/package-lock.json | 393 +++++++++--------- .../video-track/video-track.component.ts | 64 ++- 2 files changed, 243 insertions(+), 214 deletions(-) diff --git a/openvidu-testapp/package-lock.json b/openvidu-testapp/package-lock.json index 77039a792..6769251d6 100644 --- a/openvidu-testapp/package-lock.json +++ b/openvidu-testapp/package-lock.json @@ -274,13 +274,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2201.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2201.6.tgz", - "integrity": "sha512-oGQEdof2/1bZk58PN9dvpGi8pvtbgE5vkP1xRtCqN8dSVxwre1l0pKynOj/Uge1KxjCvs4c1QrQu0vsAnY0vpg==", + "version": "0.2201.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2201.7.tgz", + "integrity": "sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "22.1.6", + "@angular-devkit/core": "22.1.7", "rxjs": "7.8.2" }, "bin": { @@ -293,9 +293,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "22.1.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-22.1.6.tgz", - "integrity": "sha512-KLBsZoc2RhOy0xSdeYcLoSOqV/fBP3feBmhY9o12ry2IuyW/17sCmWr6XbIfTIYQN6M98Y1ewmwVNFsvV5b0gA==", + "version": "22.1.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-22.1.7.tgz", + "integrity": "sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==", "dev": true, "license": "MIT", "dependencies": { @@ -391,9 +391,9 @@ } }, "node_modules/@angular/animations": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-22.1.4.tgz", - "integrity": "sha512-DZqSHhmSRBVfLlrFxNLQj6PYVhu1w8vj1iUdD6fmlhfGGafuiw/VcUpBgYmy2YNcXmGmwbZsKr1oeJP7fT8zNQ==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-22.1.5.tgz", + "integrity": "sha512-lWxbbZ7v2J3Vq/FTb3isRsEb2sQtI9tcSDuZzhIZpOS9kdGf6Wg/GCf1u41pN6CJA4++iTQQ29gqVblARqQfpg==", "deprecated": "@angular/animations is deprecated. Use `animate.enter` and `animate.leave` instead. For more information see: https://v22.angular.dev/guide/animations.", "license": "MIT", "dependencies": { @@ -403,18 +403,18 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/core": "22.1.4" + "@angular/core": "22.1.5" } }, "node_modules/@angular/build": { - "version": "22.1.6", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-22.1.6.tgz", - "integrity": "sha512-J7JBd3hDAV4dlGNMavDC0KjtvbDd4KOddaom1inwkq92tYnD1ljmhDDigAsUBnRvQhJ82cvagD8zi0s9Ki4rTQ==", + "version": "22.1.7", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-22.1.7.tgz", + "integrity": "sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2201.6", + "@angular-devkit/architect": "0.2201.7", "@babel/core": "8.0.1", "@babel/helper-annotate-as-pure": "8.0.0", "@babel/helper-split-export-declaration": "7.24.7", @@ -456,7 +456,7 @@ "@angular/platform-browser": "^22.0.0", "@angular/platform-server": "^22.0.0", "@angular/service-worker": "^22.0.0", - "@angular/ssr": "^22.1.6", + "@angular/ssr": "^22.1.7", "istanbul-lib-instrument": "^6.0.0", "karma": "^6.4.0", "less": "^4.2.0", @@ -514,9 +514,9 @@ } }, "node_modules/@angular/cdk": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-22.1.4.tgz", - "integrity": "sha512-//KICh/rxeLbYLgNj8HawaliVAPNlSV0aRmki45Tf/YhoXVhzon9DfFqCs5u1cLvmMkMTHdFm5ghGTB8SUv3DA==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-22.1.5.tgz", + "integrity": "sha512-1tYAeI5KKIqNGNvyDuMM0Drs2FU3M4B25Q1BlAnwtZe3wvrpVETAGXgHaBX3Hs/pvWfgMNwgbcHkxlKVUBNXMA==", "license": "MIT", "dependencies": { "parse5": "^8.0.0", @@ -525,6 +525,7 @@ "peerDependencies": { "@angular/common": "^22.0.0 || ^23.0.0", "@angular/core": "^22.0.0 || ^23.0.0", + "@angular/forms": "^22.0.0 || ^23.0.0", "@angular/platform-browser": "^22.0.0 || ^23.0.0", "rxjs": "^6.5.3 || ^7.4.0" } @@ -799,9 +800,9 @@ } }, "node_modules/@angular/common": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-22.1.4.tgz", - "integrity": "sha512-UtWCloA/d0I5twV9Lu/Fcc7T6uQb40f/k0Hj5HLohIsiLTyvXVxWINBfa7LWWLtcq/0UOIY/yCs9Zq9Sj4dWqA==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-22.1.5.tgz", + "integrity": "sha512-KgB+MTDotlTn67YK4sCTNFLja+G+EMCqHo5bB1cvRKw7Gd9AtAi5kgDmYzMk7ftJ9qJ2O30zXR56Hpw37J2CTQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -810,14 +811,14 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/core": "22.1.4", + "@angular/core": "22.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-22.1.4.tgz", - "integrity": "sha512-o+W0shjR5KmPPWchFmqN9bLINYAy14zIW//g9T5WqKDMOqjt4IbeY6AKOoE1db/dXffprLEH9nyPOmi19iKNxg==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-22.1.5.tgz", + "integrity": "sha512-GvM0oNCuI09Up5Lk0ZQCX5yA2cGyHYB/rZsa/EGTnzwuxgLDlhOOa19QaVaoxDCo9vO43Ix9rG7SLppEv+qd1w==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -827,9 +828,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-22.1.4.tgz", - "integrity": "sha512-h9CcVG614TJLbk+dswlzSjYARYJh2MLOEwcnpt9zUGtOffhrrSS9BFJGjSwzdDSVM3J5mvf5ZuW+0hPAuRRoOA==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-22.1.5.tgz", + "integrity": "sha512-XyeLlCqngUiZK8EMQo2DFfDxDoFdlsOe98eK7++N9Cs7qETTaMM3mu8iZbT2o6KhEwzjabW+mqipts1/ecEhyQ==", "dev": true, "license": "MIT", "dependencies": { @@ -850,7 +851,7 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/compiler": "22.1.4", + "@angular/compiler": "22.1.5", "typescript": ">=6.0 <6.1" }, "peerDependenciesMeta": { @@ -860,9 +861,9 @@ } }, "node_modules/@angular/core": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-22.1.4.tgz", - "integrity": "sha512-0dW+lw8nHo6RGBUOXtjs02vjHIPJ8rEbw4fd0NH3Dii4p+gIB4ZaTw+o7Se3Nf4m1oZ8+2qAYmWVHXlfhKcCDg==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-22.1.5.tgz", + "integrity": "sha512-uiL+xVL4264NEuc3E5ILd6meSv9I4Xt82VQHvYlAVYlcjHlWY49yVe0/apzncUOGxUKzvK8/GDbyFEH7WfJYFw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -871,7 +872,7 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/compiler": "22.1.4", + "@angular/compiler": "22.1.5", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -885,9 +886,9 @@ } }, "node_modules/@angular/forms": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-22.1.4.tgz", - "integrity": "sha512-w8ZXe4oURrb/DS5zAFrR4AmGXC84sdLeOKXRM76ndRRgSCzyRLEe4wDU1KHnDejNVIGvoSZYJJjOajG1lpj8TA==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-22.1.5.tgz", + "integrity": "sha512-E7pDEKtSvO1MNw222ZcvphzT4GAQ9D725v2Rq7ft8orT2qvHS6RlVnEc5ioPDhYTAD0HmbwDmutxkcuxqc16VA==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -898,22 +899,22 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/common": "22.1.4", - "@angular/core": "22.1.4", - "@angular/platform-browser": "22.1.4", + "@angular/common": "22.1.5", + "@angular/core": "22.1.5", + "@angular/platform-browser": "22.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-22.1.4.tgz", - "integrity": "sha512-d4+uajpIYmyjar/4dypd5L+z8pbgkaCOsSxsrslmE0o0wK7mfFvXCkn0wwfucey5yUHXjswlKu1X5RzJZLOZ+w==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-22.1.5.tgz", + "integrity": "sha512-CeXPascggzu5w0xKETYVQhxlyYU+Vcj/DCY4JdND2veRr6/bmPM8uA/xY4jEvsFccz3HQ9OrkY+V+sNai2h++g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/cdk": "22.1.4", + "@angular/cdk": "22.1.5", "@angular/common": "^22.0.0 || ^23.0.0", "@angular/core": "^22.0.0 || ^23.0.0", "@angular/forms": "^22.0.0 || ^23.0.0", @@ -922,9 +923,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-22.1.4.tgz", - "integrity": "sha512-zhEWnRShG6GjnEvCVROD68XfnrV6+HJ9bPjwZx4LsAz7spX823Nhiml8Uqpvijsa1w7UdWLU7nK/magr9IEMOQ==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-22.1.5.tgz", + "integrity": "sha512-xRX7TvHzFcur5bhZUqT7QPkezcSuWRzcltcsrqh3UsZnEJ2p+olilFyLq5yAneO13hffNifFkxngoSxVwKwnHw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -933,9 +934,9 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/animations": "22.1.4", - "@angular/common": "22.1.4", - "@angular/core": "22.1.4" + "@angular/animations": "22.1.5", + "@angular/common": "22.1.5", + "@angular/core": "22.1.5" }, "peerDependenciesMeta": { "@angular/animations": { @@ -944,9 +945,9 @@ } }, "node_modules/@angular/router": { - "version": "22.1.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-22.1.4.tgz", - "integrity": "sha512-vCwJLRnFBSRH5LxSF8OXKBhdmJ526hVGb/5sfeLTQW/oWCdcfXb2RvHfB077m5cdqKX9sBwFVlkJ8Z8kgx/pLQ==", + "version": "22.1.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-22.1.5.tgz", + "integrity": "sha512-RYgL2iTGpMFcqZtXjcjxGVqGraDfOdk/epbLK8z/vy5cI+W2uVdiu5ait7xhv82KoaWT8lUU3sDc4jdI17qHcg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -955,9 +956,9 @@ "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/common": "22.1.4", - "@angular/core": "22.1.4", - "@angular/platform-browser": "22.1.4", + "@angular/common": "22.1.5", + "@angular/core": "22.1.5", + "@angular/platform-browser": "22.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -1908,9 +1909,9 @@ } }, "node_modules/@inquirer/ansi": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.7.tgz", - "integrity": "sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.8.tgz", + "integrity": "sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==", "dev": true, "license": "MIT", "engines": { @@ -1918,16 +1919,16 @@ } }, "node_modules/@inquirer/checkbox": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.3.tgz", - "integrity": "sha512-XEYX2WA8SBkLPczL6/yXPHLPCvDoptmh9v56Cy05BSV1Smk1vWy19bTC4qJBuIffw7+6l4CcaYYzGqG60RfW1g==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.4.tgz", + "integrity": "sha512-oKT5RNeO9oKYizSyOxKb66IrKUsYVMQD2tnjllYW4wmSOe9WawfL3OE2p82JuvAyo+/nDIEem5P4Bm/ZIVYVew==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/core": "^12.0.1", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0" + "@inquirer/ansi": "^2.0.8", + "@inquirer/core": "^12.0.2", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -1942,15 +1943,15 @@ } }, "node_modules/@inquirer/checkbox/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2018,15 +2019,15 @@ } }, "node_modules/@inquirer/editor": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.3.1.tgz", - "integrity": "sha512-y43COoyVUjPWIobn2Qep/uI1drPS78aaZZZ9kVi94Tyu/GuW2N8d8Q4rifJXGAXCEAXCPTTMjD8gC1HyvM5ukA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.3.2.tgz", + "integrity": "sha512-7ruKO5d/wxhGHxdCQ3eyP/aBNrPTZ+Ju7ERtnAwuIsu0RSLs6kotlTRkOxHatbD6sDaEEdwsD82pzFiT9ESIyQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^12.0.1", - "@inquirer/external-editor": "^3.0.4", - "@inquirer/type": "^4.1.0" + "@inquirer/core": "^12.0.2", + "@inquirer/external-editor": "^3.0.5", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2041,15 +2042,15 @@ } }, "node_modules/@inquirer/editor/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2068,14 +2069,14 @@ } }, "node_modules/@inquirer/expand": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.3.tgz", - "integrity": "sha512-3NQJiXNJ/aj9wiAsr7pECdp5Qe9J0X9YUJCKsaFXS+ddOxfL6J4AIl3w3T4Gq3kK0WsQY5GMoDokK5X94m6lHw==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.4.tgz", + "integrity": "sha512-12o4aYnjWouoq0fyVhYIL+hwXAaga+kntA/wrijFmVvn2heinkdvkbEXRt1Ob/9IOJ285US5tntjfI/Ukt2YkA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^12.0.1", - "@inquirer/type": "^4.1.0" + "@inquirer/core": "^12.0.2", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2090,15 +2091,15 @@ } }, "node_modules/@inquirer/expand/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2117,9 +2118,9 @@ } }, "node_modules/@inquirer/external-editor": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.4.tgz", - "integrity": "sha512-tZbbaK2ovq6vlrRBNQvjrypmrED/p5x2ncIHQ79cD55tei3dD96v5glMMA+6tiq7K104i/25DVYKWVPJuV6ptA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.5.tgz", + "integrity": "sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==", "dev": true, "license": "MIT", "dependencies": { @@ -2139,9 +2140,9 @@ } }, "node_modules/@inquirer/figures": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.8.tgz", - "integrity": "sha512-tApbon79GM9ry56ja/Ud3SY2CL4TQsao9fIwDQbgTeNY55025GdMzQ2+UdegV/lx51VNGUB59M0v0nMpybYY4Q==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.9.tgz", + "integrity": "sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==", "dev": true, "license": "MIT", "engines": { @@ -2149,14 +2150,14 @@ } }, "node_modules/@inquirer/input": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.4.tgz", - "integrity": "sha512-3xQkQrOvgOzpSN2ciTVdRDlg1FWMCA8l+0KfB6SNlILoTCGzJTzO/gc0Rwjcb3usuGyKdaGtI6OiyMdeMeLWkg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.5.tgz", + "integrity": "sha512-2MkYYFD1Owt1eRBwHhsLSutysRodWasA4DVpl42KJKGmzwBTXRYAIXujisrt0UW0UohUlMjNjLfMDbw4emRbfw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^12.0.1", - "@inquirer/type": "^4.1.0" + "@inquirer/core": "^12.0.2", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2171,15 +2172,15 @@ } }, "node_modules/@inquirer/input/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2198,14 +2199,14 @@ } }, "node_modules/@inquirer/number": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.2.1.tgz", - "integrity": "sha512-5KaqwZNLRpUuWcoCrYghPP9TMaXL5v2Sk4xqePM7RCVegcJStoXdWibio60YIC1bec+z1fCyb67N6XPJIkZtGA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.2.2.tgz", + "integrity": "sha512-tjW1gMIQsFb/9Ie11i8SpuPARBdyCVfC5XOeVugWovrdm8CpjzN+A1CBX5QwCCN2mtNmpgDDCnuLCCT94cQ5zA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^12.0.1", - "@inquirer/type": "^4.1.0" + "@inquirer/core": "^12.0.2", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2220,15 +2221,15 @@ } }, "node_modules/@inquirer/number/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2247,15 +2248,15 @@ } }, "node_modules/@inquirer/password": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.2.0.tgz", - "integrity": "sha512-CvVcW09emkBESEOW+4R8CjLNkP3fB3XrjeL8CDvfpjgrJN+V9oerXmJAXXM3l+4xqYPD5Yaujzy/Ph0PLOdDuA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.2.1.tgz", + "integrity": "sha512-InA6nJxMCXPavPBiTKYHIsYiWz/mkIsk1rkI6pKp5w18gVawqrZOj7eSzSmPJa3j0pVxXm6RlrFP1BE9YeOixA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/core": "^12.0.1", - "@inquirer/type": "^4.1.0" + "@inquirer/ansi": "^2.0.8", + "@inquirer/core": "^12.0.2", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2270,15 +2271,15 @@ } }, "node_modules/@inquirer/password/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2327,14 +2328,14 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.3.tgz", - "integrity": "sha512-Mu7WrtmDLaXBDEyrRLS70SZgX9ZSm4Up1w0ZxiH8C1OOp9oaVCn2k8q3QGgmlnhsKYUhuaU3zFWhAP6wxkVIMA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.4.tgz", + "integrity": "sha512-c4fDwOpQsjJDHjXdHJE1/xXH6w9/BAiyu3QKzH9Ww5Xm1q37mzyUNa20L7qdtM1ECi4e+oUEKjhK8hR37OMAMQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^12.0.1", - "@inquirer/type": "^4.1.0" + "@inquirer/core": "^12.0.2", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2349,15 +2350,15 @@ } }, "node_modules/@inquirer/rawlist/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2376,15 +2377,15 @@ } }, "node_modules/@inquirer/search": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.3.1.tgz", - "integrity": "sha512-0VWOvsHWI0rPj6CG70MoP4oXNCB6adcyN8bVFZXnh11eLDdPIK2f2XCmva78acPPDfJisfab7qNakwBh7hdBXw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.3.2.tgz", + "integrity": "sha512-YIaEhWmfkdHEWOKwhF/oJar35FFTTrAdzNbJDo9lSsRT6E/obRPx9oVm4rkTMtlcJSqGYttNtLbcHQef9Qw2yw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^12.0.1", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0" + "@inquirer/core": "^12.0.2", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2399,15 +2400,15 @@ } }, "node_modules/@inquirer/search/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2426,16 +2427,16 @@ } }, "node_modules/@inquirer/select": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.3.tgz", - "integrity": "sha512-KuRTodDa6xBXX2noIpjuitpX/QT7Sfav7dIZ/OfUY54Hxg95nrGoshSzxx6Ey7qqLbImKdiGkSDt7KjPXjQgmA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.4.tgz", + "integrity": "sha512-L9ubNaJdoBsiom/AfPKq0QLHTkhhCFCtszzdVidGremrlJjPZfGlmvp+IULKIbnYjtVFWnvb4mhiEdNTZ12ugA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/core": "^12.0.1", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0" + "@inquirer/ansi": "^2.0.8", + "@inquirer/core": "^12.0.2", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1" }, "engines": { "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" @@ -2450,15 +2451,15 @@ } }, "node_modules/@inquirer/select/node_modules/@inquirer/core": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.1.tgz", - "integrity": "sha512-JMD5Jy/ScL5TZE18m83Nw25HjqGFLoWXwnEkW7IdwwAhZpB9Bus55/WU7zn3UqR1MOCjjTQOIYpiD4vjWA3LPw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-12.0.2.tgz", + "integrity": "sha512-9pBhkxE14uUlnHhs8lOt7qVPtS4caRY6CjADl8COejl9Mf7w8i6Uoe3DrljCqYtmYM3Iv2Q6EmPxx/oTYbvTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^2.0.7", - "@inquirer/figures": "^2.0.8", - "@inquirer/type": "^4.1.0", + "@inquirer/ansi": "^2.0.8", + "@inquirer/figures": "^2.0.9", + "@inquirer/type": "4.1.1", "cli-width": "^4.1.0", "fast-wrap-ansi": "^0.2.0", "mute-stream": "^3.0.0", @@ -2477,9 +2478,9 @@ } }, "node_modules/@inquirer/type": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.1.0.tgz", - "integrity": "sha512-FMiJpuHUG3Dk0ex+UIXkre7i+i4OcwHWk9YdcVtZHFwb/r2rnrU2ipTCNAB7A+QOP0ryzIcqOfy76fRyyvOEAw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.1.1.tgz", + "integrity": "sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==", "dev": true, "license": "MIT", "engines": { @@ -2574,9 +2575,9 @@ "license": "Apache-2.0" }, "node_modules/@livekit/protocol": { - "version": "1.50.4", - "resolved": "https://registry.npmjs.org/@livekit/protocol/-/protocol-1.50.4.tgz", - "integrity": "sha512-L1uggNQAqyY21smQY8AllyOYbcv9Me9TaxwuLytL1R8ck9nbYPmQLNwEDi3pOFGAMa5F8I2nUi2Jc59W5awxlA==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/@livekit/protocol/-/protocol-1.51.0.tgz", + "integrity": "sha512-kEDEDaFvIcp5VlYBromdSKMJMEJKfPvXPfEaJPdEz1Qgo84gZAoLF2g58CcMlVYGsjrwE5XYgQxRS5B7KuEj3w==", "license": "Apache-2.0", "dependencies": { "@bufbuild/protobuf": "^1.10.0" @@ -4725,9 +4726,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.4.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.0.tgz", - "integrity": "sha512-faiGnoIrLH/V8cibOMEAZ8pMw6oXqSukl29ra4mN8GdaB2ZewzeaLj+INpV5N+Z1eKWzY+IzaIZH2EIR6YZRNQ==", + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.4.1.tgz", + "integrity": "sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==", "dev": true, "license": "MIT", "dependencies": { @@ -6161,9 +6162,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.417", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.417.tgz", - "integrity": "sha512-4T+DTDWuMPM4aHlHwWdAVCVWwp7LDilnhzkj+c/Lbj91XSQrLuOmZSLtS9Q4iIqjlPUbPOnC624zDVVHCHaolQ==", + "version": "1.5.420", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz", + "integrity": "sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==", "dev": true, "license": "ISC" }, @@ -6597,9 +6598,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.6.tgz", - "integrity": "sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz", + "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==", "dev": true, "funding": [ { @@ -10342,9 +10343,9 @@ } }, "node_modules/postcss": { - "version": "8.5.26", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", - "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "version": "8.5.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.27.tgz", + "integrity": "sha512-79Iho8QeYyooJ8e9lCRyTVlyTAkS/kXBYKff6TMzS3kEWGQ8Ds5UEtXpGrSUDLUWok6QTvxeYy0GO8fopHnaSA==", "dev": true, "funding": [ { @@ -10362,7 +10363,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.17", + "nanoid": "^3.3.18", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -11217,9 +11218,9 @@ } }, "node_modules/socks": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz", - "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", + "version": "2.8.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.10.tgz", + "integrity": "sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12485,9 +12486,9 @@ } }, "node_modules/zone.js": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.16.2.tgz", - "integrity": "sha512-Eky7p2Z1Ig3NnbfodSPoARCjKBSTFMnE/ACsP1L/XJEfY4SdOFce19BsUCWVwL6K5ABZFy5J3bjcMWffX+YM3Q==", + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.16.3.tgz", + "integrity": "sha512-ihXL9+vhYyEhXz4TDNpHeAOZN9FVrbog0Il64OIEI28UP/n5AaI6gsccRuOHBfx+206agzyoK527bYIO0Foy6A==", "license": "MIT" } } diff --git a/openvidu-testapp/src/app/components/video-track/video-track.component.ts b/openvidu-testapp/src/app/components/video-track/video-track.component.ts index 3b51a4ef6..27b9b3ca6 100644 --- a/openvidu-testapp/src/app/components/video-track/video-track.component.ts +++ b/openvidu-testapp/src/app/components/video-track/video-track.component.ts @@ -21,7 +21,13 @@ import { MatSelectModule } from '@angular/material/select'; templateUrl: './video-track.component.html', styleUrl: './video-track.component.css', changeDetection: ChangeDetectionStrategy.Eager, - imports: [NgClass, MatIconModule, MatTooltipModule, MatFormFieldModule, MatSelectModule], + imports: [ + NgClass, + MatIconModule, + MatTooltipModule, + MatFormFieldModule, + MatSelectModule, + ], }) export class VideoTrackComponent extends TrackComponent { muteVideoIcon: string = 'videocam'; @@ -42,7 +48,8 @@ export class VideoTrackComponent extends TrackComponent { screenShareTrack: MediaStreamTrack | undefined; segmentationMethod: 'mediapipe' | 'chroma' = 'mediapipe'; - modelAssetPath: string = 'https://storage.googleapis.com/mediapipe-models/image_segmenter/selfie_segmenter/float16/latest/selfie_segmenter.tflite'; + modelAssetPath: string = + 'https://storage.googleapis.com/mediapipe-models/image_segmenter/selfie_segmenter/float16/latest/selfie_segmenter.tflite'; chromaKey = { autoDetect: true, autoDetectThreshold: [70, 70, 70] as [number, number, number], @@ -50,14 +57,12 @@ export class VideoTrackComponent extends TrackComponent { saturationRange: [50, 255] as [number, number], valueRange: [50, 255] as [number, number], sampleRegion: { startX: 0.05, endX: 0.2, startY: 0.08, endY: 0.25 }, - autoDetectFrameInterval: 30 + autoDetectFrameInterval: 30, }; private dialog = inject(MatDialog); - constructor( - protected override testFeedService: TestFeedService, - ) { + constructor(protected override testFeedService: TestFeedService) { super(testFeedService); } @@ -87,7 +92,7 @@ export class VideoTrackComponent extends TrackComponent { videoQuality = VideoQuality.HIGH; } await (this.trackPublication as RemoteTrackPublication).setVideoQuality( - videoQuality + videoQuality, ); } @@ -101,18 +106,41 @@ export class VideoTrackComponent extends TrackComponent { // Store for matching with codecId in 'outbound-rtp' or 'inbound-rtp' reports codecs.set(report.id, report); } - if (report.type === 'outbound-rtp' || report.type === 'inbound-rtp') { + if (report.type === 'outbound-rtp') { + const reportTyped = report as RTCOutboundRtpStreamStats; videoLayers.push({ - codecId: report.codecId, - scalabilityMode: report.scalabilityMode, - rid: report.rid, - active: report.active, - frameWidth: report.frameWidth, - frameHeight: report.frameHeight, - framesPerSecond: report.framesPerSecond, - framesDecoded: report.framesDecoded, - bytesReceived: report.bytesReceived, - bytesSent: report.bytesSent, + codecId: reportTyped.codecId, + scalabilityMode: reportTyped.scalabilityMode, + ssrc: reportTyped.ssrc, + rid: reportTyped.rid, + mid: reportTyped.mid, + active: reportTyped.active, + frameWidth: reportTyped.frameWidth, + frameHeight: reportTyped.frameHeight, + framesSent: reportTyped.framesSent, + framesEncoded: reportTyped.framesEncoded, + keyFramesEncoded: reportTyped.keyFramesEncoded, + bytesSent: reportTyped.bytesSent, + framesPerSecond: reportTyped.framesPerSecond, + }); + } + if (report.type === 'inbound-rtp') { + const reportTyped = report as RTCInboundRtpStreamStats; + videoLayers.push({ + codecId: reportTyped.codecId, + ssrc: reportTyped.ssrc, + mid: reportTyped.mid, + trackIdentifier: reportTyped.trackIdentifier, + frameWidth: reportTyped.frameWidth, + frameHeight: reportTyped.frameHeight, + framesReceived: reportTyped.framesReceived, + framesDecoded: reportTyped.framesDecoded, + keyFramesDecoded: reportTyped.keyFramesDecoded, + framesDropped: reportTyped.framesDropped, + bytesReceived: reportTyped.bytesReceived, + framesPerSecond: reportTyped.framesPerSecond, + freezeCount: reportTyped.freezeCount, + pauseCount: reportTyped.pauseCount, }); } });