{"_id":"@dytesdk/mediasoup-client","_rev":"11-f0de151dd78c307f88bd1f335793f8e8","name":"@dytesdk/mediasoup-client","dist-tags":{"staging":"3.6.54-staging.2","latest":"3.6.78"},"versions":{"3.6.52":{"name":"@dytesdk/mediasoup-client","version":"3.6.52","license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.52","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"cf8aa1487e77f09308106cf0d38bcee6175c0787","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.52.tgz","fileCount":149,"integrity":"sha512-X8apTjlQb0BKbXWYqEdNYXxh3et1RzEzZoOrj44+gLAK1OQTGXs8ap+xD9x2ARnuETepW+jj1iFy4QCpmj+d5A==","signatures":[{"sig":"MEUCIQDWlte60o/jnUJCdjavrlSE+82UIOlfo7ISerbSUcnGZwIgYFOC6dNsG65+tLTRehGNPOgXHb4rtPzjdYlorSYZhzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":982928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimD2BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeaQ/9EKG/aP3vGxBHSdjNsNIfFVS28u/dJ+WanvFAu3Ct0aymdX6e\r\nXSiwIq3JWf0rQtB3A8pHQUsv3pTx/dm5kFyc+hpORO0V6YkYMkZ82B9asDoE\r\n3zQDD6kOd5NnMT+Vdr6gzdyZNAtVOh6eKl2l6K0t1sWzVewIRG+zvexOPJw8\r\ncoLeLeo9L8MvVxhGmbpTGHWNRN8nefQKqBdctUNomhmOCqtzp/tL/0Sx3GrL\r\npyIJK6LfYEhHqycHlVbDTNfV2q12/ZGlDg2sKxK+fkA9aTmOzhklYF8AMBpv\r\nHvinZytUyRzUIz7lnbi4Fn3DD+1H0ttYor1hXAhcHnk58t1FYDmpI7gCUlmt\r\nkJZfYpuymBk7fLv7hFx+JhkhvhEj4gSi4y/Sd31WYf5IPKgQiJwd4G+DrD92\r\nEFqXH2HDHDZVrtiiGyuuv6bxfPy6+nDLJSp4q6OcaQemYy/gFWTZ9n/RVegN\r\nBnJSjaCjqonkwhvspN1SuDoQ+8jKsMIffvzbRl40uRrWtHuWwemL6u16R7cU\r\n9JNNlVFWSPPVVsLznsYapv+7KKX65D/CFKZxHHMQDIicqS1e5mq/YnhcIK0B\r\nzbzXMYBOybD/Yp3aK+jL6TCxpmemG7HIkKk/6z+AEgzshx+Ng04YbDqpmEkK\r\n3yvXDDkl9cEaXrsrT54I5wGAOpdsY+wGpbo=\r\n=hGeU\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"test/test.*\\.js","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"3fbf6985bf404577e6ac6d33393224428c31a69b","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.1.2","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.13.1","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^2.4.0","@types/debug":"^4.1.7","@types/events":"^3.0.0","sdp-transform":"^2.14.1","supports-color":"^9.2.2","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","uuid":"^3.4.0","eslint":"^8.15.0","open-cli":"^7.0.1","tsc-watch":"^5.0.3","typescript":"^4.6.4","@types/uuid":"^3.4.9","jest-tobetype":"^1.2.3","eslint-plugin-jest":"^26.2.2","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.25.0","@typescript-eslint/eslint-plugin":"^5.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.52_1654144385336_0.7706759683952982","host":"s3://npm-registry-packages"}},"3.6.51":{"name":"@dytesdk/mediasoup-client","version":"3.6.51","license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.51","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"731e7374c6702c8f75c7128515442f6abd467b58","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.51.tgz","fileCount":149,"integrity":"sha512-2vrlVv5glRAef+GH9v9uszedqN6kCSH6MOJ2Gi+JePniYwKIZ5lKUlS399GehEgagASbjNUqlxBcfgk1Ylehcg==","signatures":[{"sig":"MEUCIDZPJI3lZ2BuzHrNhUWoL3gqq/w+pKzg5BJrchsVibRGAiEA9Y0ZxnLqzwkSrVzpcCovKMJ6TmE9MkmYL6tzH7X0go8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":981150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimExWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzLg//VJhEhbgTdwz/zgNR8hMatbURSbULngL2/wPEdCYH5dGeagKG\r\nsnBkbnYSOZTJ+J+N43AJdzZ2XO793QGm6q4ti0+/wpYIqENXCufrTiJbz1Tw\r\n2PxK5UxRNLVmvBVoAzb/vK+Yqs7nToLrSUGuIrLvWizotfDQdp6fj0lkl9M7\r\noRDT4KSk1GQEz2CKnCfRyzFLcxxc3XnNBGIeP4of6iyMytZ/3rnwrbhBZ/zd\r\nDFWnPPQR/h5FIEXZH4Qd6oc5m7UcziogM5EJZW8gd88bCva5vi44n5Tp12ze\r\nYCtk0fvXUGAX4sMjApZmSaGtLUOUnAR9PZYqaA2XCcX5/GtlmVgtDpJERRf9\r\nIk4NMdwZ9WtQbdhHbE76zvqWHpoGuOa5e6vuWdwDrZZoKZyRr/B4gUy1/6bu\r\nHszeS6/9Ms4k3PYPJQhJNKT22yQ95fXTfxcDNSI3TR31jY9C9cXs47Qu4aqf\r\np9Qx/LBJFHozANGW/r0O+FMnc9Jubsyvu3qk0eN8+YzVcOPuongvhHLcWPcA\r\nlVxMDPop+4Gicm4ElGPG5ymbMZ1Kn+GooldFnU6NEa5R2oA1gYjf3BgulmgO\r\n6UZxJ7EqPLVAaA2d7ic1bFYK4xsalfFl8rEcPmQe064PnYa64Oia4RK2hE4o\r\n9/5SGUVeBuu0bn+PN5FrPk9UDIxHYgem580=\r\n=dvKw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"test/test.*\\.js","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"86ee3f7a1857d756a9b41d82c7d454bcb2d59498","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.1.2","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.13.1","dependencies":{"debug":"^4.3.3","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^2.3.3","@types/debug":"^4.1.7","@types/events":"^3.0.0","sdp-transform":"^2.14.1","supports-color":"^9.2.1","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.7","uuid":"^3.4.0","eslint":"^8.6.0","open-cli":"^7.0.1","tsc-watch":"^4.6.0","typescript":"^4.5.4","@types/uuid":"^3.4.9","jest-tobetype":"^1.2.3","eslint-plugin-jest":"^25.3.4","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.9.1","@typescript-eslint/eslint-plugin":"^5.9.1"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.51_1654148182467_0.9584881213099661","host":"s3://npm-registry-packages"}},"3.6.53":{"name":"@dytesdk/mediasoup-client","version":"3.6.53","license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.53","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"59fdbc0d5932fd81adec4fca78dac95f2fd3d90a","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.53.tgz","fileCount":149,"integrity":"sha512-cK7014MsyflNxMnUAGmLJ/Psy9vhnDGlgSurUqxl+fys7sZ0caYYIEUA7gYUd8BOag8tsWq3zQxVJbtRgi+3RQ==","signatures":[{"sig":"MEUCIQD6nm3v6wymKjLuffqoCQ1swCGvNdkIajJlwKlAR8EcpQIgBfomvRKpy9bKoslVOPEnxZJtsIrSfQqVhaqAnPmGGIQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":984246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfGAUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOwQ//SspuMg+hISEyUosRYVhYUTFW9K4k05cgMcWP49An3HVwig4e\r\nR2d06ykO/jokah0y0FsbabYhdg0NhWtQj4kyW676NP/wydMYdHx9IbxBS08s\r\nny2EYlobHmMy5DqBBxNNTatfSsF4m6kXdf9e2vBLQvlhIlOcpFzrry2hl4Jf\r\n/Iad1B12W2PgBAwBV/pe7qEJNb7e9jfpCpsTBD4kw/XV0tv2TiYjd/tp/S6+\r\nYWGju6Fz2m5U8dlnUT8tzlauoysoLTjb5p+v2cBeOZBRHs4pU6CbK+WFke/H\r\nDI9BUY03Lkr08WBdE7oNfxR9Hm0KQ9plE4RNQgjbdtHqCJO3zrSwrbsP/afR\r\n525WnGdj90H2w2gTWfrJloiz/izZ44Yf0Y2oMwMul1kBcm1eOfsla7GuFpkd\r\n5hkDe+Z57go8yEeOnxO8E17E+opZS8xKpkh59QaecfKX8bSeLE+wcx2ORrSs\r\nnHQJv6tFBrViKoSPdpbEMdBo4M34YsTsfLbvG9OVQAXnxVlMqPW9cjtEIV+T\r\nZHwDGmo9JarOSGUZGGcV6jgwnR3gDVSCcaqS7Caun+yvLjt4WsYqhub+/SuL\r\nRQeLfLKzuo1f84epltb0V44z4tP9dCwAQPB85yUbEr/wTZX9ZblzsJYDnK84\r\nAoi4Rcrg8OIrs37EQzaASwJw3O1nFlmY8kA=\r\n=SYVS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"test/test.*\\.js","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"79380fda1b2980630d01b6e251838377df458a11","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^2.4.0","@types/debug":"^4.1.7","@types/events":"^3.0.0","sdp-transform":"^2.14.1","supports-color":"^9.2.2","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","uuid":"^3.4.0","eslint":"^8.15.0","open-cli":"^7.0.1","tsc-watch":"^5.0.3","typescript":"^4.6.4","@types/uuid":"^3.4.9","jest-tobetype":"^1.2.3","eslint-plugin-jest":"^26.2.2","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.25.0","@typescript-eslint/eslint-plugin":"^5.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.53_1669095444523_0.8883330372836702","host":"s3://npm-registry-packages"}},"3.6.54-staging.1":{"name":"@dytesdk/mediasoup-client","version":"3.6.54-staging.1","license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.54-staging.1","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"bb9d13b7f7680c6c54e54e0a74ff76bd08a0c99a","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.54-staging.1.tgz","fileCount":149,"integrity":"sha512-1Kb0zCxkDAxsvAaoDi2L7l7wstCNKmxWMqkU+CKw5z0CpnnKOeIcSgM1CJlB4HWs5DuYdPFz25ion5kzlVLOaA==","signatures":[{"sig":"MEQCICLfLcLPlOTfgkRCtED7KmPONe2uaIjld5mdTla76o1aAiA77vVHXc7gB1Z+11+l2hSlREUlGXLZ/VTySP6ZsqjP6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":985213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0mC8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqU0Q/+M42r6DAbC8khzo+m2FLl4tHBjNRCbZz/kYUotEUh4hbH6fXg\r\nGd5wJYlqS5ioHMhEfT4lkp5bmmD42uocQ6xWgYyaANlldiz+UCUeZeM9cZ01\r\nwK06jsLSK8QllrzRafoLuJDdINP6V8ZCdLGaNTYXSFYtwwy15KSdSRi6pNah\r\nIn5La98f+eTDh4rMTRbVLPTnEXAwFsgkkLXw4eD80RdwffumDshXhtpc/G4A\r\n8rUDvKBPg4Vb6HFEOi5FSforactMh0FHvzMmebj/vW04q4ElkxTOQgyKYYGw\r\nnQws6pgei84c6W8G1xdeGUdQTotbLN5zNOnvS3j1BUqxA+N6k7lyQfX+4r+3\r\n1GcmZULBmtA0lTjlDAaz7OxgIlMrTF2tlg4c5PWVemqjCL8iEc5IpgCqcCPH\r\n51CetMOhIU0txwacq17iWdumTPQ90tWBTal8M6yLV6N9rSLvKT1ADwT/spi/\r\nX/Cm5HfxkL4ojp5qjIPpF0m5Jf7A+Jo28VYapxiKVyQNWe9BmBEt81trk7Wk\r\n15ff8qguxeCxw23flnkonPfDa5SgzDmTQnXCABHrjT7w//e1/MRUJ0yqvNxe\r\nR1k5ctFeqMiPY6vene4yviZCitpM46QwNnMlfovnj0BHNESPkJKtakTiqTah\r\n0HDGaBx1DCzPkBG3OR22eoaaq5uQ0UJhl24=\r\n=c47h\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"test/test.*\\.js","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","readme":"# mediasoup-client v3\n\n[![][npm-shield-mediasoup-client]][npm-mediasoup-client]\n[![][travis-ci-shield-mediasoup-client]][travis-ci-mediasoup-client]\n\nJavaScript client side library for building [mediasoup][mediasoup-website] based applications.\n\n\n## Website and Documentation\n\n* [mediasoup.org][mediasoup-website]\n\n\n## Support Forum\n\n* [mediasoup.discourse.group][mediasoup-discourse]\n\n\n## Usage Example\n\n```js\nimport { Device } from 'mediasoup-client';\nimport mySignaling from './my-signaling'; // Our own signaling stuff.\n\n// Create a device (use browser auto-detection).\nconst device = new Device();\n\n// Communicate with our server app to retrieve router RTP capabilities.\nconst routerRtpCapabilities = await mySignaling.request('getRouterCapabilities');\n\n// Load the device with the router RTP capabilities.\nawait device.load({ routerRtpCapabilities });\n\n// Check whether we can produce video to the router.\nif (!device.canProduce('video'))\n{\n  console.warn('cannot produce video');\n\n  // Abort next steps.\n}\n\n// Create a transport in the server for sending our media through it.\nconst { \n  id, \n  iceParameters, \n  iceCandidates, \n  dtlsParameters,\n  sctpParameters\n} = await mySignaling.request(\n  'createTransport',\n  {\n    sctpCapabilities : device.sctpCapabilities\n  });\n\n// Create the local representation of our server-side transport.\nconst sendTransport = device.createSendTransport(\n  {\n    id, \n    iceParameters, \n    iceCandidates, \n    dtlsParameters,\n    sctpParameters\n  });\n\n// Set transport \"connect\" event handler.\nsendTransport.on('connect', async ({ dtlsParameters }, callback, errback) =>\n{\n  // Here we must communicate our local parameters to our remote transport.\n  try\n  {\n    await mySignaling.request(\n      'transport-connect',\n      {\n        transportId: sendTransport.id,\n        dtlsParameters\n      });\n\n    // Done in the server, tell our transport.\n    callback();\n  }\n  catch (error)\n  {\n    // Something was wrong in server side.\n    errback(error);\n  }\n});\n\n// Set transport \"produce\" event handler.\nsendTransport.on(\n  'produce',\n  async ({ kind, rtpParameters, appData }, callback, errback) =>\n  {\n    // Here we must communicate our local parameters to our remote transport.\n    try\n    {\n      const { id } = await mySignaling.request(\n        'produce',\n        { \n          transportId : sendTransport.id,\n          kind,\n          rtpParameters,\n          appData\n        });\n\n      // Done in the server, pass the response to our transport.\n      callback({ id });\n    }\n    catch (error)\n    {\n      // Something was wrong in server side.\n      errback(error);\n    }\n  });\n\n// Set transport \"producedata\" event handler.\nsendTransport.on(\n  'producedata',\n  async ({ sctpStreamParameters, label, protocol, appData }, callback, errback) =>\n  {\n    // Here we must communicate our local parameters to our remote transport.\n    try\n    {\n      const { id } = await mySignaling.request(\n        'produceData',\n        { \n          transportId : sendTransport.id,\n          sctpStreamParameters,\n          label,\n          protocol,\n          appData\n        });\n\n      // Done in the server, pass the response to our transport.\n      callback({ id });\n    }\n    catch (error)\n    {\n      // Something was wrong in server side.\n      errback(error);\n    }\n  });\n\n// Produce our webcam video.\nconst stream = await navigator.mediaDevices.getUserMedia({ video: true });\nconst webcamTrack = stream.getVideoTracks()[0];\nconst webcamProducer = await sendTransport.produce({ track: webcamTrack });\n\n// Produce data (DataChannel).\nconst dataProducer =\n  await sendTransport.produceData({ ordered: true, label: 'foo' });\n```\n\n\n## Authors\n\n* Iñaki Baz Castillo [[website](https://inakibaz.me)|[github](https://github.com/ibc/)]\n* José Luis Millán [[github](https://github.com/jmillan/)]\n\n\n## License\n\n[ISC](./LICENSE)\n\n\n\n\n[mediasoup-website]: https://mediasoup.org\n[mediasoup-discourse]: https://mediasoup.discourse.group\n[npm-shield-mediasoup-client]: https://img.shields.io/npm/v/mediasoup-client.svg\n[npm-mediasoup-client]: https://npmjs.org/package/mediasoup-client\n[travis-ci-shield-mediasoup-client]: https://travis-ci.com/versatica/mediasoup-client.svg?branch=master\n[travis-ci-mediasoup-client]: https://travis-ci.com/versatica/mediasoup-client\n","engines":{"node":">=10"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"33d4f44edecec70c60ef79fbb90a54c361079d00","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^2.4.0","@types/debug":"^4.1.7","@types/events":"^3.0.0","sdp-transform":"^2.14.1","supports-color":"^9.2.2","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"publishConfig":{"tag":"staging","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^28.1.0","uuid":"^3.4.0","eslint":"^8.15.0","open-cli":"^7.0.1","tsc-watch":"^5.0.3","typescript":"^4.6.4","@types/uuid":"^3.4.9","jest-tobetype":"^1.2.3","eslint-plugin-jest":"^26.2.2","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.25.0","@typescript-eslint/eslint-plugin":"^5.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.54-staging.1_1674731708732_0.7932728813378482","host":"s3://npm-registry-packages"}},"3.6.54-staging.2":{"name":"@dytesdk/mediasoup-client","version":"3.6.54-staging.2","keywords":["webrtc","ortc","browser","nodejs"],"license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.54-staging.2","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"36544c5265c9fc02c3092fc233ee95ffee68f56a","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.54-staging.2.tgz","fileCount":115,"integrity":"sha512-Tt06Xzpnna9D/NbRx0667ziXgsBR4vvvpKlx4UBEpXfLJuZT0MeBak7pT+lzO1txrJ2FnfrW4OcEV+UBtMat2A==","signatures":[{"sig":"MEUCICOmcI7y+1OkoP9+WSTXHPfo1o9CRPVD2fh0sO2WDjE2AiEArAruzFP+WCq7doABgZT26YdE+siXCpRHWRJi0jdoGYA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":687646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0mIeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppAQ/+JgsCsZvQkn8cTkotAXNu2JnT32ZOxkW/1Ke0dDAwBB5s/dE+\r\nwjVVKa1jinTR33mwBswkcaTTcO3GqSIe5DFVvygKwq5TEMrB/x8t5pdPStUn\r\nsrU2ImAtOJwG0xiG1/9C34YK73h+nNNE2+0U0KHRk05E0HG2Eobd2wqjaS8J\r\nW0aX+tnXCbeApwFEWdjWBK68r4LdGWIJaleVt25cVepOl22neY6ULKwkho4K\r\nErZlAelKroo+x5tbZ9h+2IJ31C015CYOrVwIx8FbNsdJdAoqDSyhSeNZbYt3\r\nn54UO03ps1FuyPv1yEp4Uyx2h/0Xrw7zgKd3+UaXWDBXOY7A6XNHLNgqMsbs\r\nHZtmZ65Tsnpq2SFdzSm5ZFGbkFvA2T7IiBLDmkH1IJQIGM9oZ8YXGTGvEY7w\r\n7quRhv5bidHpVodcQJwOXzjguqfO0CWvHRCfPArO0PHFdBe1e6gUTEealUj3\r\nIAsD+77HPkAa5y8aACctG3H29ZrjqTWPRQ8B65V94dy7MfTus7Gf4OOkhDE8\r\nnWl2jglVbdg5ArGm0ywyZAV0jLaXd41FmBsO5poK1/N/dm1S9Qfvf78NiXUp\r\nF1MPr8z1ZGB7a4mw5F8r12doh5KeTs2dSQwTQObps7Cu9+qJae5mQyvyhE92\r\n1cfSboSsQSk7CNuL8sDMhPMtiH85e4/eHXg=\r\n=uEzX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"src/tests/test.*\\.ts","transform":{"^.*\\.ts$":["ts-jest",{"diagnostics":{"ignoreCodes":["TS151001"]}}]},"cacheDirectory":".cache/jest","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","readme":"# mediasoup-client v3\n\n[![][npm-shield-mediasoup-client]][npm-mediasoup-client]\n[![][github-actions-shield-mediasoup-client]][github-actions-mediasoup-client]\n[![][opencollective-shield-mediasoup]][opencollective-mediasoup]\n\nJavaScript client side library for building [mediasoup][mediasoup-website] based applications.\n\n\n## Website and Documentation\n\n* [mediasoup.org][mediasoup-website]\n\n\n## Support Forum\n\n* [mediasoup.discourse.group][mediasoup-discourse]\n\n\n## Usage Example\n\n```js\nimport { Device } from 'mediasoup-client';\nimport mySignaling from './my-signaling'; // Our own signaling stuff.\n\n// Create a device (use browser auto-detection).\nconst device = new Device();\n\n// Communicate with our server app to retrieve router RTP capabilities.\nconst routerRtpCapabilities = await mySignaling.request('getRouterCapabilities');\n\n// Load the device with the router RTP capabilities.\nawait device.load({ routerRtpCapabilities });\n\n// Check whether we can produce video to the router.\nif (!device.canProduce('video'))\n{\n  console.warn('cannot produce video');\n\n  // Abort next steps.\n}\n\n// Create a transport in the server for sending our media through it.\nconst { \n  id, \n  iceParameters, \n  iceCandidates, \n  dtlsParameters,\n  sctpParameters\n} = await mySignaling.request(\n  'createTransport',\n  {\n    sctpCapabilities : device.sctpCapabilities\n  });\n\n// Create the local representation of our server-side transport.\nconst sendTransport = device.createSendTransport(\n  {\n    id, \n    iceParameters, \n    iceCandidates, \n    dtlsParameters,\n    sctpParameters\n  });\n\n// Set transport \"connect\" event handler.\nsendTransport.on('connect', async ({ dtlsParameters }, callback, errback) =>\n{\n  // Here we must communicate our local parameters to our remote transport.\n  try\n  {\n    await mySignaling.request(\n      'transport-connect',\n      {\n        transportId: sendTransport.id,\n        dtlsParameters\n      });\n\n    // Done in the server, tell our transport.\n    callback();\n  }\n  catch (error)\n  {\n    // Something was wrong in server side.\n    errback(error);\n  }\n});\n\n// Set transport \"produce\" event handler.\nsendTransport.on(\n  'produce',\n  async ({ kind, rtpParameters, appData }, callback, errback) =>\n  {\n    // Here we must communicate our local parameters to our remote transport.\n    try\n    {\n      const { id } = await mySignaling.request(\n        'produce',\n        { \n          transportId : sendTransport.id,\n          kind,\n          rtpParameters,\n          appData\n        });\n\n      // Done in the server, pass the response to our transport.\n      callback({ id });\n    }\n    catch (error)\n    {\n      // Something was wrong in server side.\n      errback(error);\n    }\n  });\n\n// Set transport \"producedata\" event handler.\nsendTransport.on(\n  'producedata',\n  async ({ sctpStreamParameters, label, protocol, appData }, callback, errback) =>\n  {\n    // Here we must communicate our local parameters to our remote transport.\n    try\n    {\n      const { id } = await mySignaling.request(\n        'produceData',\n        { \n          transportId : sendTransport.id,\n          sctpStreamParameters,\n          label,\n          protocol,\n          appData\n        });\n\n      // Done in the server, pass the response to our transport.\n      callback({ id });\n    }\n    catch (error)\n    {\n      // Something was wrong in server side.\n      errback(error);\n    }\n  });\n\n// Produce our webcam video.\nconst stream = await navigator.mediaDevices.getUserMedia({ video: true });\nconst webcamTrack = stream.getVideoTracks()[0];\nconst webcamProducer = await sendTransport.produce({ track: webcamTrack });\n\n// Produce data (DataChannel).\nconst dataProducer =\n  await sendTransport.produceData({ ordered: true, label: 'foo' });\n```\n\n\n## Authors\n\n* Iñaki Baz Castillo [[website](https://inakibaz.me)|[github](https://github.com/ibc/)]\n* José Luis Millán [[github](https://github.com/jmillan/)]\n\n\n## Social\n\n* Twitter: [@mediasoup_sfu](https://twitter.com/mediasoup_sfu)\n\n\n## Sponsor\n\nYou can support mediasoup by [sponsoring][sponsor] it. Thanks!\n\n\n## License\n\n[ISC](./LICENSE)\n\n\n\n\n[mediasoup-website]: https://mediasoup.org\n[mediasoup-discourse]: https://mediasoup.discourse.group\n[npm-shield-mediasoup-client]: https://img.shields.io/npm/v/mediasoup-client.svg\n[npm-mediasoup-client]: https://npmjs.org/package/mediasoup-client\n[github-actions-shield-mediasoup-client]: https://github.com/versatica/mediasoup-client/actions/workflows/mediasoup-client.yaml/badge.svg\n[github-actions-mediasoup-client]: https://github.com/versatica/mediasoup-client/actions/workflows/mediasoup-client.yaml\n[opencollective-shield-mediasoup]: https://img.shields.io/opencollective/all/mediasoup.svg\n[opencollective-mediasoup]: https://opencollective.com/mediasoup/\n[sponsor]: https://mediasoup.org/sponsor/\n","engines":{"node":">=14"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"10dde45b5c48b426143e99c2bb7784974c692e2e","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","prepare":"node npm-scripts.js prepare","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","install-deps":"node npm-scripts.js install-deps","release:check":"node npm-scripts.js release:check","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"uuid":"^3.4.0","debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^3.0.1","@types/debug":"^4.1.7","sdp-transform":"^2.14.1","supports-color":"^9.3.1","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"publishConfig":{"tag":"staging","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.4.0","eslint":"^8.32.0","ts-jest":"^29.0.5","open-cli":"^7.1.0","tsc-watch":"^6.0.0","typescript":"^4.9.4","@types/jest":"^29.4.0","@types/uuid":"^3.4.9","@types/events":"^3.0.0","eslint-plugin-jest":"^27.2.1","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.49.0","@typescript-eslint/eslint-plugin":"^5.49.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.54-staging.2_1674732062452_0.8247562179984596","host":"s3://npm-registry-packages"}},"3.6.54":{"name":"@dytesdk/mediasoup-client","version":"3.6.54","license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.54","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"ac907d0902ab481a1b2a2aea3bbb16357a428bfc","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.54.tgz","fileCount":149,"integrity":"sha512-fmacdmZIkZ7vdrlSITXqjHaoW4z83Ru+xhfnf6PWuMXV7r9Ub2e6jBTQmHz+6N3NlCNt1smM0eKK2PCS99hffQ==","signatures":[{"sig":"MEUCIHCietomn7n6XTK3+7CPxUkF9D/5Xp3UCCCpqIdPHi1fAiEA0QRTvMXV4Ciy7nDwe6ugvLN0Hvs8MyxdKy0kxQP+kbg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":985202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2Mx6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJtQ//UIuVQC/LFRwAQD7ig8MNrQn0mvuGrh8RHEGaPz1G80TYT6/N\r\nIQaMsLRGcMSSh4+HNSiIW68qAkr7iVvfHgcPJJ/hbj+9yhDjVwMBU5eXbFY8\r\npfFNI8Q4Udk1Gdb/scIMmX8zO7raTUyiH2Pf9+onCMOJoqeHvE+GNWclaDO/\r\nG+Tl82UMAogBCi59qstf/2RPZ0RndZzYWSmxAeWZveU3jxAEx+2H+M5yKHFI\r\ns69grNXjLwzSuV/sbE71J5ed4ui8E0P9oiqB/R2kDROxAxr6ZFJ7oMU6YKCY\r\nfPP5OwWXLF0ekKOaLOOzps2lNyV11iZk2yzM8CaV2BMjAmPSAtRx7PHy8hEv\r\nVl86vn/4N1KyVvXiPWpxD0VSppskxiiQfxT59eAF+UaLe3TRFbVrkBVCEGav\r\n2vP0vYx8WhQE5ivC/ydDDCRjODX3Fg/HSC0yc9IND26C0b7+WjsNb25Gwm9L\r\nPD/8gButW1dQ/6jpdEnGcv0edukzZBFXN0h8u/B3lk++naLmr0FSrKxfWB3l\r\nIkzmmb4V6rSTfCTR0soBkOR2L3dVm//NZn9vE9V5FMhWUTV2NsVQ7Gucv0Qf\r\nEE1MbAh2cchBkCTijYWOZF87A6hLbgD0nJ2oykr346redZheIlgELFhDLxyt\r\n0qwzI5tozIhRkySsQ3nfzyq0ngpIoidDSdw=\r\n=HXYY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"test/test.*\\.js","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^2.4.0","@types/debug":"^4.1.7","@types/events":"^3.0.0","sdp-transform":"^2.14.1","supports-color":"^9.2.2","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","uuid":"^3.4.0","eslint":"^8.15.0","open-cli":"^7.0.1","tsc-watch":"^5.0.3","typescript":"^4.6.4","@types/uuid":"^3.4.9","jest-tobetype":"^1.2.3","eslint-plugin-jest":"^26.2.2","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.25.0","@typescript-eslint/eslint-plugin":"^5.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.54_1675152506537_0.5465321818780855","host":"s3://npm-registry-packages"}},"3.6.55":{"name":"@dytesdk/mediasoup-client","version":"3.6.55","license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.55","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"4800b3bfc10aa3d7084b417d03da91f8d1ac57eb","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.55.tgz","fileCount":153,"integrity":"sha512-kk6oQ4474eB4zA7MbpAtJiGwbWwTz5JavjGy7eoUkpAX9fLDrSUALg7ld45OdWglezGJoxV3s721y3K3DTGSzQ==","signatures":[{"sig":"MEYCIQC4H5ogG14j+f/aq6V+11pfGDauFcPqvRaV8IuiOUhH4AIhAKIcErvQAsZr2pPrI0INnoIQNGnYyuOeVJ048iw/iVNx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":993803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2gqbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpO/g//XsGUka1mkrrP9vqCPAwIF9NetmpW6Y8/v4RpAw3KGs7CcqRp\r\nQmAM/0e06HeKIgNhcKomr8nRZABcR9pv5r3hETD6TFo4dQng4sHiqk50fKba\r\nfJSWrONOvdyFJH2U9UTOndDA39ENoVCQNvqmPeAbPJ1v6P6nIv6AB9Y5e0F3\r\nCQ9P70X1BzWd39qUYRfKXrvq6OnUBUw1ae6ZfpYXnf80a5FPSs0XF73tiCrt\r\nXsOVRy7nPZN0KHBYjg2Z6dVdISVyAfpkt/24MOa9CzzHBMMdYC2LPHjzBFqs\r\nhDFakB/LTkto/xHCwQprXGi6oJck0N8eMSu3X4cQF3tGbPcnpyMzhJaS+Ge/\r\nM2SNyebKJeas7I0dEYSRa0IAabuEF9EF462HhJpot5Ba0cApTtZZu5E1RbMK\r\n7MQOrMqqaQiMBx1Pjus/zBSibBa2QsvuWq6KdecsAi9jbxgfuc6ZiY8Ax3lm\r\nbWdMk9HTBrl2nPHDNfN29Ebjt29JOXOQd+yN8P5jYQk6BJ+3BQV4J05v+Fvw\r\nB8r41t1wZyA8Y6j2TCqje1aDXqO4mvVD8XLknJGE0Kg+m2kv0KPNlpiKtvjL\r\nfgclVarAj8Be5/ZNscGFtPcpvoVhdIlp5xQ2a1wqF6vhv5X8+SI9xbCuYwJK\r\npMbqcDwfUwxRd4sxykPx5bzRVwaKfUz3dcs=\r\n=Jvn0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"test/test.*\\.js","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"49240b2908401f3e66bf8fbce57231a479f1c4a8","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^2.4.0","@types/debug":"^4.1.7","@types/events":"^3.0.0","sdp-transform":"^2.14.1","supports-color":"^9.2.2","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.0","uuid":"^3.4.0","eslint":"^8.15.0","open-cli":"^7.0.1","tsc-watch":"^5.0.3","typescript":"^4.6.4","@types/uuid":"^3.4.9","jest-tobetype":"^1.2.3","eslint-plugin-jest":"^26.2.2","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.25.0","@typescript-eslint/eslint-plugin":"^5.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.55_1675233946935_0.5495739981794918","host":"s3://npm-registry-packages"}},"3.6.71":{"name":"@dytesdk/mediasoup-client","version":"3.6.71","keywords":["webrtc","ortc","browser","nodejs"],"license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.71","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"fb6431e5ea059f87912f11b03bafe6dac2d3db2c","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.71.tgz","fileCount":118,"integrity":"sha512-ycFQtFGoTS8+M2cgZXb35c6ttseF7SpQEihI7y6cLJ+kDACkImCleY1jsMg/6cmW2H3apTKK6cxqUr04wC9Qmg==","signatures":[{"sig":"MEQCIEmomQJjAbniJU22xe+QoWFZ4hjgWajqzQitkqOPdzFLAiACBjtu/K43YnTU01jmXUIIrYRc29l6TkDXifPpyT9/zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":692528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj26CwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHfhAAidCTB9m8zVG5bWkCbnBao5lUcXx97ZRvhVkmcogp+JomeZoH\r\nO24U3jgXzgeymJqgB1q1lk53BvUUJZlN/iLiNB8YhhgITV9kE2pCtGdALJ8U\r\nyStrOufMFh+ZGahW6paLb5TJVhg74Xdd46nRR2NBmRl0HA/BHIhCKQiHB1wG\r\nf2kMHOmeySSsqd7Wir3QBHNRs+JQjXUG0gh80Ke96EEytKmMUTS4yAKA2lIR\r\nJ73tfOqiJ9AKkpjW8FdejmWiOR7KYR/ZMMkhoRr2SenNI7rwZST0Ngg4aSLV\r\n9dUip7U3LpZuF4AwvuihXew35zpsj56u+YQhDxCfxK0hfMD4dl2B4UB2yXac\r\nvsPWAs2M5tTCKBCaz+8RJIRnZFJG2+cRRMiUwr8qDBCC9UoWACt9Aa20UKNJ\r\nNOAHZaHtcesSkqWfGhc5ZODlNJxMB//CpIwRZanoffbWqlsZ16iD15ipcmbE\r\nrgIsUpTOfNnh096Jyb1Y7NcCBkFK3Igwe0btp6ZGr6PswO3IQ3VBTjoGyH7G\r\nGS5SsnPhV/cCkWDRcuUny+CAj2mPnM7WA+vipBALDVk8M3Sfl8+w+OQ3zxqF\r\nN2vRzm5NYozAWl8EqBI/6kBx0/s1pdwVker596mitTUx0fIwEZGXRHrUl6oJ\r\nAKzAm+zysZ3z2HfyiGWqtj02H9b9FThTbLg=\r\n=Rysc\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"src/tests/test.*\\.ts","transform":{"^.*\\.ts$":["ts-jest",{"diagnostics":{"ignoreCodes":["TS151001"]}}]},"cacheDirectory":".cache/jest","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=14"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"731ffbd925f434d8eced6018348cf9c79c22f283","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","prepare":"node npm-scripts.js prepare","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","install-deps":"node npm-scripts.js install-deps","release:check":"node npm-scripts.js release:check","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"uuid":"^3.4.0","debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^3.0.1","@types/debug":"^4.1.7","sdp-transform":"^2.14.1","supports-color":"^9.3.1","fake-mediastreamtrack":"^1.1.6","h264-profile-level-id":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.0","eslint":"^8.32.0","ts-jest":"^29.0.5","open-cli":"^7.1.0","tsc-watch":"^6.0.0","typescript":"^4.9.4","@types/jest":"^29.4.0","@types/uuid":"^3.4.9","@types/events":"^3.0.0","eslint-plugin-jest":"^27.2.1","@types/sdp-transform":"^2.4.5","@typescript-eslint/parser":"^5.49.0","@typescript-eslint/eslint-plugin":"^5.49.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.71_1675337903960_0.6642397369470237","host":"s3://npm-registry-packages"}},"3.6.72":{"name":"@dytesdk/mediasoup-client","version":"3.6.72","keywords":["webrtc","ortc","browser","nodejs"],"license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.72","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"855f44486f4fac08159d192fca99d5f009e74664","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.72.tgz","fileCount":118,"integrity":"sha512-lqZ9NGUxY8suJsY3xv7R4fL2IQYJqVvbi8bNhmNbByikBT8bu5a5ayLvB3y5mzCTl1Nrg3ybUVLivqKFt31sww==","signatures":[{"sig":"MEYCIQD/voNJrhfO3lFHbuSeROri4cuNdtC1wy5A/mc3fUktagIhAIGkyBfeoo+SXvL3USwX4YmPOFLz5dutHU10Oa2zEg0+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":584238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6g5XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0Hg/7B+EULQPW8hHFIoqBTtyWSfV0hphgfB6r8s8nEMiqnpU+VpPN\r\nKg65xyhMlh+BqjmzOkKoOE/hFPrwbfxoonO3HGVKhazqeTQRU/D6vDccrZKI\r\noNbjD8Sq0LOgydbBrCoZ5lh4VbSOSa8yj5Lm7UUf+mzOHUnPvubx07dU0Q7w\r\nwwaQiIcRLlBAyK00GKwSruEzo8wx+qq5WRbszm09fQ0IgUF05CpYjdFoGKCn\r\nq/AH+M60L4+dXJIw3u/8hMN3SEzz8BjpXgtOzK47nRxrtuOVfMfCRmh7DltE\r\nmu3LR0aT7GHuvHxxOQhpKazwLuOU3MjwPdrwcwuhGhcZjRmc8alZjdHUoTah\r\nWze1fW1VZE/Db6dWDJTaPq9jjFlgG3Kr+uMgNTkVlaZXYCt7Pxms50++apAy\r\nkxDykST3tDNoXIz37nvGVUHMw2h4DURiKkrLAC1wWmUJ5geCOUxJUY3GxLwq\r\n1oQQLxrh/+yUs1N3HUbuFWmMDYvWPPfaeBI50V+h/58Ua8CjfIG3M9CbDx7l\r\nWOwU92dJLhA9HYe+5N3uYVAMVZvAkmcl06rguDfse8rPnMj3x+A0vHUvv71g\r\nK/x3jDVpeaxSlB+7OEPxLhL3OvVWVL839B5ZWfX7Bi1Wm1bsoZjVcppwKLeN\r\nme+KPvM2dyEm56vqJNubW+nC8UtlMUJ2j7g=\r\n=M8o/\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"src/tests/test.*\\.ts","transform":{"^.*\\.ts$":["ts-jest",{"diagnostics":{"ignoreCodes":["TS151001"]}}]},"cacheDirectory":".cache/jest","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","browser":{"lib/ReactNativeDevice.js":"lib/BrowserDevice.js"},"engines":{"node":">=14"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"ad70421c2d52931b80553204156e3ef7d00eb28c","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","prepare":"node npm-scripts.js prepare","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","install-deps":"node npm-scripts.js install-deps","release:check":"node npm-scripts.js release:check","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^3.0.1","@types/debug":"^4.1.7","sdp-transform":"^2.14.1","h264-profile-level-id":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.0","uuid":"^3.4.0","eslint":"^8.32.0","ts-jest":"^29.0.5","open-cli":"^7.1.0","tsc-watch":"^6.0.0","typescript":"^4.9.4","@types/jest":"^29.4.0","@types/uuid":"^3.4.9","@types/events":"^3.0.0","supports-color":"^9.3.1","eslint-plugin-jest":"^27.2.1","@types/sdp-transform":"^2.4.5","fake-mediastreamtrack":"^1.1.6","@typescript-eslint/parser":"^5.49.0","@typescript-eslint/eslint-plugin":"^5.49.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.72_1676283479168_0.5475493955014545","host":"s3://npm-registry-packages"}},"3.6.78":{"name":"@dytesdk/mediasoup-client","version":"3.6.78","keywords":["webrtc","ortc","browser","nodejs"],"license":"ISC","_id":"@dytesdk/mediasoup-client@3.6.78","maintainers":[{"name":"dyteindia","email":"dev@dyte.io"}],"contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"homepage":"https://mediasoup.org","bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"dist":{"shasum":"7c1d44497608911985ded95c8183d5cbdee57da2","tarball":"https://registry.npmjs.org/@dytesdk/mediasoup-client/-/mediasoup-client-3.6.78.tgz","fileCount":118,"integrity":"sha512-Og73DLFe/ePE8WaHGr0IBEPxVBiH3D/cqZHNdTeGuZ1fYmUkdIf0LG/ep+Z5KP6tZI0HV77Tqf3EMtrgES/DQQ==","signatures":[{"sig":"MEUCIC6+/dQ+uTZ+tQ3TQMS5QAbkDYq2UyuH4r4WJOcfhvRXAiEAgJG5ZSJlGRAJpD1VnAuDqjHTcoaPaKCvLm7CPySg40Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":590447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7F22ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdtA//WfFV2Oh/hwBY5dbBzq5WUrm4zbEV/KvpbO1e9s1Y0bbI3Yg4\r\n2/Favb5bLMu1RjggLQDxllaGE36w2VgRJwzCbdlmRKK1H2RbdU449OBTloVA\r\nMYVwZTWK8z1lU2jEGo9eJxz1r1i89EF+eQqRItuEBszaBPjXya5IjmZNzUls\r\nAz+BBU9ca14uBwERkfIW/1TagbbA9GdY+2U2YIQ8zBjagfGYTgpBuROmLU85\r\nG853es7Jarm6qm6foS+PFsVtOrELioGKM7IgYqHUjDVoecWnjYo35UFBW3cv\r\nebsbwMPpVBJsjHhQL/B/Ydu4Th9ckpTXDDIqBBhX1gTlxZ4Wwg5JcVd0WIHo\r\nzkLryjToQpDhQeoAch0z8HfDxI+HL7CrU3zYOGrPuGso4HcrmNfqiT01v4KZ\r\nuypp7rpYCZsxxV24N/mKR591mz2hEFyRhhsREBn7EGF55p94ClR53UusYsCb\r\nMOqrqK1z6vMhKjCQ0PZnHMA6TfbK3KvCIhY3V0gOHV2Sm60Xwihlt4WoDHNi\r\nMn0wqZHXU8+WhGcS2WR8bDGToo6aDLwE4hTe5e2FL3jkdFXVBP/YXVk4Hruk\r\nWB0vhrU3631kz93NgUqlcJeIzeVfhLXZ2FRu6vL5kHzW/Mv6fm1I7qCR+Cfs\r\ndj2fzsN1jxurU1UoKJxtflf5FNB1f96G11M=\r\n=Z4FJ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRegex":"src/tests/test.*\\.ts","transform":{"^.*\\.ts$":["ts-jest",{"diagnostics":{"ignoreCodes":["TS151001"]}}]},"cacheDirectory":".cache/jest","testEnvironment":"node"},"main":"lib/index.js","types":"lib/index.d.ts","browser":{"lib/ReactNativeDevice.js":"lib/BrowserDevice.js"},"engines":{"node":">=14"},"funding":{"url":"https://opencollective.com/mediasoup","type":"opencollective"},"gitHead":"89b1a128c76acee8b93dccb5d76eb5aec5bc06c7","scripts":{"lint":"node npm-scripts.js lint","test":"node npm-scripts.js test","prepare":"node npm-scripts.js prepare","release":"node npm-scripts.js release","coverage":"node npm-scripts.js coverage","install-deps":"node npm-scripts.js install-deps","release:check":"node npm-scripts.js release:check","typescript:build":"node npm-scripts.js typescript:build","typescript:watch":"node npm-scripts.js typescript:watch"},"_npmUser":{"name":"dyteindia","email":"dev@dyte.io"},"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"_npmVersion":"8.11.0","description":"mediasoup client side JavaScript library","directories":{},"_nodeVersion":"16.16.0","dependencies":{"debug":"^4.3.4","bowser":"^2.11.0","events":"^3.3.0","awaitqueue":"^3.0.1","@types/debug":"^4.1.7","sdp-transform":"^2.14.1","queue-microtask":"^1.2.3","h264-profile-level-id":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.2","uuid":"^3.4.0","eslint":"^8.34.0","ts-jest":"^29.0.5","open-cli":"^7.1.0","tsc-watch":"^6.0.0","typescript":"^4.9.5","@types/jest":"^29.4.0","@types/events":"^3.0.0","supports-color":"^9.3.1","eslint-plugin-jest":"^27.2.1","@types/sdp-transform":"^2.4.5","fake-mediastreamtrack":"^1.1.6","@typescript-eslint/parser":"^5.52.0","@typescript-eslint/eslint-plugin":"^5.52.0"},"_npmOperationalInternal":{"tmp":"tmp/mediasoup-client_3.6.78_1676434870518_0.46513459779931066","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-06-02T04:33:05.252Z","modified":"2025-09-22T09:12:56.638Z","3.6.52":"2022-06-02T04:33:05.555Z","3.6.51":"2022-06-02T05:36:22.697Z","3.6.53":"2022-11-22T05:37:24.708Z","3.6.54-staging.1":"2023-01-26T11:15:08.958Z","3.6.54-staging.2":"2023-01-26T11:21:02.714Z","3.6.54":"2023-01-31T08:08:26.736Z","3.6.55":"2023-02-01T06:45:47.194Z","3.6.71":"2023-02-02T11:38:24.174Z","3.6.72":"2023-02-13T10:17:59.459Z","3.6.78":"2023-02-15T04:21:10.701Z"},"bugs":{"url":"https://github.com/dyte-in/mediasoup-client/issues"},"license":"ISC","homepage":"https://mediasoup.org","keywords":["webrtc","ortc","browser","nodejs"],"repository":{"url":"git+https://github.com/dyte-in/mediasoup-client.git","type":"git"},"description":"mediasoup client side JavaScript library","contributors":[{"url":"https://inakibaz.me","name":"Iñaki Baz Castillo","email":"ibc@aliax.net"},{"url":"https://github.com/jmillan","name":"José Luis Millán","email":"jmillan@aliax.net"}],"maintainers":[{"email":"dev@dyte.io","name":"dyteindia"},{"email":"roerohan@gmail.com","name":"roerohan"}],"readme":"# mediasoup-client v3\n\n[![][npm-shield-mediasoup-client]][npm-mediasoup-client]\n[![][github-actions-shield-mediasoup-client]][github-actions-mediasoup-client]\n[![][opencollective-shield-mediasoup]][opencollective-mediasoup]\n\nJavaScript client side library for building [mediasoup][mediasoup-website] based applications.\n\n\n## Website and Documentation\n\n* [mediasoup.org][mediasoup-website]\n\n\n## Support Forum\n\n* [mediasoup.discourse.group][mediasoup-discourse]\n\n\n## Usage Example\n\n```js\nimport { Device } from 'mediasoup-client';\nimport mySignaling from './my-signaling'; // Our own signaling stuff.\n\n// Create a device (use browser auto-detection).\nconst device = new Device();\n\n// Communicate with our server app to retrieve router RTP capabilities.\nconst routerRtpCapabilities = await mySignaling.request('getRouterCapabilities');\n\n// Load the device with the router RTP capabilities.\nawait device.load({ routerRtpCapabilities });\n\n// Check whether we can produce video to the router.\nif (!device.canProduce('video'))\n{\n  console.warn('cannot produce video');\n\n  // Abort next steps.\n}\n\n// Create a transport in the server for sending our media through it.\nconst { \n  id, \n  iceParameters, \n  iceCandidates, \n  dtlsParameters,\n  sctpParameters\n} = await mySignaling.request(\n  'createTransport',\n  {\n    sctpCapabilities : device.sctpCapabilities\n  });\n\n// Create the local representation of our server-side transport.\nconst sendTransport = device.createSendTransport(\n  {\n    id, \n    iceParameters, \n    iceCandidates, \n    dtlsParameters,\n    sctpParameters\n  });\n\n// Set transport \"connect\" event handler.\nsendTransport.on('connect', async ({ dtlsParameters }, callback, errback) =>\n{\n  // Here we must communicate our local parameters to our remote transport.\n  try\n  {\n    await mySignaling.request(\n      'transport-connect',\n      {\n        transportId: sendTransport.id,\n        dtlsParameters\n      });\n\n    // Done in the server, tell our transport.\n    callback();\n  }\n  catch (error)\n  {\n    // Something was wrong in server side.\n    errback(error);\n  }\n});\n\n// Set transport \"produce\" event handler.\nsendTransport.on(\n  'produce',\n  async ({ kind, rtpParameters, appData }, callback, errback) =>\n  {\n    // Here we must communicate our local parameters to our remote transport.\n    try\n    {\n      const { id } = await mySignaling.request(\n        'produce',\n        { \n          transportId : sendTransport.id,\n          kind,\n          rtpParameters,\n          appData\n        });\n\n      // Done in the server, pass the response to our transport.\n      callback({ id });\n    }\n    catch (error)\n    {\n      // Something was wrong in server side.\n      errback(error);\n    }\n  });\n\n// Set transport \"producedata\" event handler.\nsendTransport.on(\n  'producedata',\n  async ({ sctpStreamParameters, label, protocol, appData }, callback, errback) =>\n  {\n    // Here we must communicate our local parameters to our remote transport.\n    try\n    {\n      const { id } = await mySignaling.request(\n        'produceData',\n        { \n          transportId : sendTransport.id,\n          sctpStreamParameters,\n          label,\n          protocol,\n          appData\n        });\n\n      // Done in the server, pass the response to our transport.\n      callback({ id });\n    }\n    catch (error)\n    {\n      // Something was wrong in server side.\n      errback(error);\n    }\n  });\n\n// Produce our webcam video.\nconst stream = await navigator.mediaDevices.getUserMedia({ video: true });\nconst webcamTrack = stream.getVideoTracks()[0];\nconst webcamProducer = await sendTransport.produce({ track: webcamTrack });\n\n// Produce data (DataChannel).\nconst dataProducer =\n  await sendTransport.produceData({ ordered: true, label: 'foo' });\n```\n\n\n## Authors\n\n* Iñaki Baz Castillo [[website](https://inakibaz.me)|[github](https://github.com/ibc/)]\n* José Luis Millán [[github](https://github.com/jmillan/)]\n\n\n## Social\n\n* Twitter: [@mediasoup_sfu](https://twitter.com/mediasoup_sfu)\n\n\n## Sponsor\n\nYou can support mediasoup by [sponsoring][sponsor] it. Thanks!\n\n\n## License\n\n[ISC](./LICENSE)\n\n\n\n\n[mediasoup-website]: https://mediasoup.org\n[mediasoup-discourse]: https://mediasoup.discourse.group\n[npm-shield-mediasoup-client]: https://img.shields.io/npm/v/mediasoup-client.svg\n[npm-mediasoup-client]: https://npmjs.org/package/mediasoup-client\n[github-actions-shield-mediasoup-client]: https://github.com/versatica/mediasoup-client/actions/workflows/mediasoup-client.yaml/badge.svg\n[github-actions-mediasoup-client]: https://github.com/versatica/mediasoup-client/actions/workflows/mediasoup-client.yaml\n[opencollective-shield-mediasoup]: https://img.shields.io/opencollective/all/mediasoup.svg\n[opencollective-mediasoup]: https://opencollective.com/mediasoup/\n[sponsor]: https://mediasoup.org/sponsor/\n","readmeFilename":"README.md"}