gitextract_t9bs5ubo/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ ├── janus-0-x-issue--legacy-.md │ │ └── janus-1-x-issue--multistream-.md │ └── workflows/ │ └── janus-ci.yml ├── .gitignore ├── CHANGELOG.md ├── COPYING ├── Makefile.am ├── README.md ├── SECURITY.md ├── autogen.sh ├── bower.json ├── conf/ │ ├── janus.eventhandler.gelfevh.jcfg.sample │ ├── janus.eventhandler.mqttevh.jcfg.sample │ ├── janus.eventhandler.nanomsgevh.jcfg.sample │ ├── janus.eventhandler.rabbitmqevh.jcfg.sample │ ├── janus.eventhandler.sampleevh.jcfg.sample │ ├── janus.eventhandler.wsevh.jcfg.sample │ ├── janus.jcfg.sample.in │ ├── janus.logger.jsonlog.jcfg.sample │ ├── janus.plugin.audiobridge.jcfg.sample │ ├── janus.plugin.duktape.jcfg.sample.in │ ├── janus.plugin.echotest.jcfg.sample │ ├── janus.plugin.lua.jcfg.sample.in │ ├── janus.plugin.nosip.jcfg.sample │ ├── janus.plugin.recordplay.jcfg.sample.in │ ├── janus.plugin.sip.jcfg.sample │ ├── janus.plugin.streaming.jcfg.sample.in │ ├── janus.plugin.textroom.jcfg.sample │ ├── janus.plugin.videocall.jcfg.sample │ ├── janus.plugin.videoroom.jcfg.sample │ ├── janus.transport.http.jcfg.sample │ ├── janus.transport.mqtt.jcfg.sample │ ├── janus.transport.nanomsg.jcfg.sample │ ├── janus.transport.pfunix.jcfg.sample │ ├── janus.transport.rabbitmq.jcfg.sample │ └── janus.transport.websockets.jcfg.sample ├── configure.ac ├── docs/ │ ├── Makefile.am │ ├── doxy-boot.js │ ├── footer.html │ ├── header.html │ └── janus-doxygen.cfg ├── emacs.el ├── eslint.config.mjs ├── fuzzers/ │ ├── build.sh │ ├── config.sh │ ├── corpora/ │ │ ├── rtcp_fuzzer/ │ │ │ ├── 1meetecho/ │ │ │ │ ├── fir.rtcp │ │ │ │ ├── nacks.rtcp │ │ │ │ ├── pli.rtcp │ │ │ │ ├── remb.rtcp │ │ │ │ ├── rr-remb.rtcp │ │ │ │ ├── rr-sdes-bye.rtcp │ │ │ │ ├── rr.rtcp │ │ │ │ ├── rtcp_fuzzer-crash-1640b2f21ba20409d930e9653052d579d450073a │ │ │ │ ├── rtcp_fuzzer-crash-16b8706455b637b7696aeb56ed40dad8f90d81d0 │ │ │ │ ├── rtcp_fuzzer-crash-17ccf761d298d6a703f71627197c5f1adcf57140 │ │ │ │ ├── rtcp_fuzzer-crash-3762f3b9f11328e939e577de46e20a3fb0ccc324 │ │ │ │ ├── rtcp_fuzzer-crash-461a0e9201a7ea5ea6a43511571bdafce10b8185 │ │ │ │ ├── rtcp_fuzzer-crash-7257232c6e9efe6362b921117ad3cd5d8170ec0d │ │ │ │ ├── rtcp_fuzzer-crash-75a5a7739802ac20cbe2937d6206348ffde23605 │ │ │ │ ├── rtcp_fuzzer-crash-85b6e5d82d61837df67df0e333cb2392044a47c6 │ │ │ │ ├── rtcp_fuzzer-crash-c7a1f348bd6f9422caeb41079e46331551fd2587 │ │ │ │ ├── rtcp_fuzzer-crash-daf57e58c2552e5cf091b0b92aa9f4ab2d4a5b4a │ │ │ │ ├── rtcp_fuzzer-timeout-78336d26b8a4ac47c13f6f363a37bc320e582e3b │ │ │ │ ├── sr-sdes.rtcp │ │ │ │ └── twcc-feedback.rtcp │ │ │ └── 2webrtc/ │ │ │ ├── 0.rtcp │ │ │ ├── 1.rtcp │ │ │ ├── 10.rtcp │ │ │ ├── 11.rtcp │ │ │ ├── 12.rtcp │ │ │ ├── 13.rtcp │ │ │ ├── 14.rtcp │ │ │ ├── 15.rtcp │ │ │ ├── 16.rtcp │ │ │ ├── 17.rtcp │ │ │ ├── 18.rtcp │ │ │ ├── 19.rtcp │ │ │ ├── 2.rtcp │ │ │ ├── 20.rtcp │ │ │ ├── 21.rtcp │ │ │ ├── 22.rtcp │ │ │ ├── 23.rtcp │ │ │ ├── 24.rtcp │ │ │ ├── 25.rtcp │ │ │ ├── 26.rtcp │ │ │ ├── 27.rtcp │ │ │ ├── 28.rtcp │ │ │ ├── 29.rtcp │ │ │ ├── 3.rtcp │ │ │ ├── 30.rtcp │ │ │ ├── 31.rtcp │ │ │ ├── 32.rtcp │ │ │ ├── 33.rtcp │ │ │ ├── 34.rtcp │ │ │ ├── 35.rtcp │ │ │ ├── 36.rtcp │ │ │ ├── 37.rtcp │ │ │ ├── 38.rtcp │ │ │ ├── 39.rtcp │ │ │ ├── 4.rtcp │ │ │ ├── 40.rtcp │ │ │ ├── 41.rtcp │ │ │ ├── 42.rtcp │ │ │ ├── 43.rtcp │ │ │ ├── 44.rtcp │ │ │ ├── 45.rtcp │ │ │ ├── 46.rtcp │ │ │ ├── 47.rtcp │ │ │ ├── 48.rtcp │ │ │ ├── 49.rtcp │ │ │ ├── 5.rtcp │ │ │ ├── 50.rtcp │ │ │ ├── 51.rtcp │ │ │ ├── 52.rtcp │ │ │ ├── 53.rtcp │ │ │ ├── 54.rtcp │ │ │ ├── 55.rtcp │ │ │ ├── 56.rtcp │ │ │ ├── 57.rtcp │ │ │ ├── 58.rtcp │ │ │ ├── 59.rtcp │ │ │ ├── 6.rtcp │ │ │ ├── 60.rtcp │ │ │ ├── 61.rtcp │ │ │ ├── 62.rtcp │ │ │ ├── 63.rtcp │ │ │ ├── 64.rtcp │ │ │ ├── 65.rtcp │ │ │ ├── 66.rtcp │ │ │ ├── 7.rtcp │ │ │ ├── 8.rtcp │ │ │ ├── 9.rtcp │ │ │ └── LICENSE │ │ ├── rtp_fuzzer/ │ │ │ ├── 1meetecho/ │ │ │ │ ├── rtp_0_audio-with-ext │ │ │ │ ├── rtp_1_video-with-ext │ │ │ │ ├── rtp_fuzzer-crash-15d89650c0a728a6431c10c3adeb8e9a2484af83 │ │ │ │ ├── rtp_fuzzer-crash-1e7e56a8894a7dc2c735a0732429930f4e4a9232 │ │ │ │ ├── rtp_fuzzer-crash-24444c8966d82f286b2fdc85f82ba506fa863601 │ │ │ │ ├── rtp_fuzzer-crash-3370e3932c251e50c77607b59a5f15d9e2677162 │ │ │ │ ├── rtp_fuzzer-crash-42d33714b6275c8c7d33d2aae456dc98cff7179c │ │ │ │ ├── rtp_fuzzer-crash-42df1e99b29f5c2e2a881c257a31ab3a3e76c650 │ │ │ │ ├── rtp_fuzzer-crash-4977c993381e813c89acf302b8a758bad10e261a │ │ │ │ ├── rtp_fuzzer-crash-5b35219e5f366ac6577599c82bc54cc33f7bbba4 │ │ │ │ ├── rtp_fuzzer-crash-5c50f0b2a9cf96bfb714d60d8f5e9e5c3131b7ea │ │ │ │ ├── rtp_fuzzer-crash-6182bab7f385f555b8503bd8ebbb344722dcb7fe │ │ │ │ ├── rtp_fuzzer-crash-6d9f1846dbb7acbe5dcb70623e5ac9ade871de1a │ │ │ │ ├── rtp_fuzzer-crash-7e2d460edd5d5d7f5548922f10489f468d1638bf │ │ │ │ ├── rtp_fuzzer-crash-7e3b3351f85a64bf0932a9ec7faca66717991c0f │ │ │ │ ├── rtp_fuzzer-crash-9b6dfaedb1a8baca07492a8be205582db2e81ae3 │ │ │ │ ├── rtp_fuzzer-crash-9f2f88ca49f28cb28131b89110bf822b373ddd56 │ │ │ │ ├── rtp_fuzzer-crash-af6dff495b4c6b06250561160b019a33de972478 │ │ │ │ ├── rtp_fuzzer-crash-b1bc002713327153b0fa53f64015df8526fe5279 │ │ │ │ ├── rtp_fuzzer-crash-b9a848d594a7b1d0a0d698d10d2fed4f2f96c038 │ │ │ │ ├── rtp_fuzzer-crash-ba25a83b65e08f750cf832e205e16f1d298ea614 │ │ │ │ ├── rtp_fuzzer-crash-c14c0b082685dee2e98ab564c39883932f869cdd │ │ │ │ ├── rtp_fuzzer-crash-cfa7e784e21f69b78ddae212c639a02c92362430 │ │ │ │ └── rtp_fuzzer-crash-f1f1d6ead517a580e441a71350118035b3d16d3e │ │ │ └── 2webrtc/ │ │ │ ├── rtp-0 │ │ │ ├── rtp-1 │ │ │ ├── rtp-2 │ │ │ ├── rtp-3 │ │ │ ├── rtp-4 │ │ │ ├── rtp-5 │ │ │ ├── rtp-6 │ │ │ └── rtp-7 │ │ └── sdp_fuzzer/ │ │ ├── 1meetecho/ │ │ │ ├── sdp_fuzzer-timeout-26f23f1364a16565e2f339c3297f71c275b6b0cf │ │ │ └── sdp_fuzzer-timeout-80e8c427e72e9f33f02c8a088caab69d9d97702c │ │ └── 2webrtc/ │ │ ├── 10.sdp │ │ ├── 11.sdp │ │ ├── 12.sdp │ │ ├── 13.sdp │ │ ├── 14.sdp │ │ ├── 15.sdp │ │ ├── 16.sdp │ │ ├── 17.sdp │ │ ├── 18.sdp │ │ ├── 19.sdp │ │ ├── 2.sdp │ │ ├── 20.sdp │ │ ├── 21.sdp │ │ ├── 22.sdp │ │ ├── 23.sdp │ │ ├── 24.sdp │ │ ├── 25.sdp │ │ ├── 26.sdp │ │ ├── 27.sdp │ │ ├── 28.sdp │ │ ├── 29.sdp │ │ ├── 3.sdp │ │ ├── 30.sdp │ │ ├── 31.sdp │ │ ├── 32.sdp │ │ ├── 33.sdp │ │ ├── 34.sdp │ │ ├── 35.sdp │ │ ├── 36.sdp │ │ ├── 37.sdp │ │ ├── 38.sdp │ │ ├── 39.sdp │ │ ├── 4.sdp │ │ ├── 40.sdp │ │ ├── 41.sdp │ │ ├── 42.sdp │ │ ├── 43.sdp │ │ ├── 44.sdp │ │ ├── 45.sdp │ │ ├── 46.sdp │ │ ├── 47.sdp │ │ ├── 48.sdp │ │ ├── 49.sdp │ │ ├── 5.sdp │ │ ├── 50.sdp │ │ ├── 51.sdp │ │ ├── 52.sdp │ │ ├── 53.sdp │ │ ├── 54.sdp │ │ ├── 55.sdp │ │ ├── 6.sdp │ │ ├── 7.sdp │ │ ├── 8.sdp │ │ ├── 9.sdp │ │ ├── firefox-1.sdp │ │ ├── firefox-2.sdp │ │ ├── opera-1.sdp │ │ ├── opera-2.sdp │ │ ├── unittest-1.sdp │ │ ├── unittest-2.sdp │ │ ├── unittest-3.sdp │ │ ├── unittest-4.sdp │ │ ├── unittest-5.sdp │ │ ├── unittest-6.sdp │ │ ├── unittest-7.sdp │ │ ├── unittest-8.sdp │ │ └── unittest-9.sdp │ ├── engines/ │ │ └── standalone.c │ ├── rtcp_fuzzer.c │ ├── rtp_fuzzer.c │ ├── run.sh │ └── sdp_fuzzer.c ├── html/ │ ├── Makefile.am │ ├── citeus.html │ ├── css/ │ │ └── demo.css │ ├── demos/ │ │ ├── admin.html │ │ ├── admin.js │ │ ├── audiobridge.html │ │ ├── audiobridge.js │ │ ├── canvas.html │ │ ├── canvas.js │ │ ├── devices.html │ │ ├── devices.js │ │ ├── e2e.html │ │ ├── e2e.js │ │ ├── echotest.html │ │ ├── echotest.js │ │ ├── index.html │ │ ├── janus.js │ │ ├── multiopus.html │ │ ├── multiopus.js │ │ ├── mvideoroom.html │ │ ├── mvideoroom.js │ │ ├── navbar.html │ │ ├── nosip.html │ │ ├── nosip.js │ │ ├── recordplay.html │ │ ├── recordplay.js │ │ ├── screensharing.html │ │ ├── screensharing.js │ │ ├── settings.js │ │ ├── sip.html │ │ ├── sip.js │ │ ├── streaming.html │ │ ├── streaming.js │ │ ├── surround/ │ │ │ └── ChID-BLITS-EBU.txt │ │ ├── textroom.html │ │ ├── textroom.js │ │ ├── videocall.html │ │ ├── videocall.js │ │ ├── videoroom.html │ │ ├── videoroom.js │ │ ├── virtualbg.html │ │ ├── virtualbg.js │ │ ├── webaudio.html │ │ └── webaudio.js │ ├── docs/ │ │ └── index.html │ ├── footer.html │ ├── index.html │ ├── navbar.html │ └── support.html ├── janus-gateway.pc.in ├── npm/ │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ ├── janus.d.ts │ ├── module.js │ └── rollup.config.mjs ├── package.json ├── src/ │ ├── Makefile.am │ ├── apierror.c │ ├── apierror.h │ ├── auth.c │ ├── auth.h │ ├── config.c │ ├── config.h │ ├── debug.h │ ├── dtls-bio.c │ ├── dtls-bio.h │ ├── dtls.c │ ├── dtls.h │ ├── events/ │ │ ├── eventhandler.h │ │ ├── janus_gelfevh.c │ │ ├── janus_mqttevh.c │ │ ├── janus_nanomsgevh.c │ │ ├── janus_rabbitmqevh.c │ │ ├── janus_sampleevh.c │ │ └── janus_wsevh.c │ ├── events.c │ ├── events.h │ ├── ice.c │ ├── ice.h │ ├── ip-utils.c │ ├── ip-utils.h │ ├── janus-cfgconv.1 │ ├── janus-cfgconv.c │ ├── janus-valgrind.supp │ ├── janus.1 │ ├── janus.c │ ├── janus.h │ ├── log.c │ ├── log.h │ ├── loggers/ │ │ ├── janus_jsonlog.c │ │ └── logger.h │ ├── mach_gettime.h │ ├── mainpage.dox │ ├── mutex.h │ ├── options.c │ ├── options.h │ ├── plugins/ │ │ ├── audiobridge-deps/ │ │ │ ├── COPYING │ │ │ ├── arch.h │ │ │ ├── jitter.c │ │ │ ├── os_support.h │ │ │ ├── resample.c │ │ │ └── speex/ │ │ │ ├── speex_jitter.h │ │ │ ├── speex_resampler.h │ │ │ ├── speexdsp_config_types.h │ │ │ └── speexdsp_types.h │ │ ├── duktape/ │ │ │ ├── echotest.js │ │ │ └── janus-sdp.js │ │ ├── duktape-deps/ │ │ │ ├── AUTHORS.rst │ │ │ ├── LICENSE.txt │ │ │ ├── duk_console.c │ │ │ ├── duk_console.h │ │ │ ├── duk_module_duktape.c │ │ │ └── duk_module_duktape.h │ │ ├── janus_audiobridge.c │ │ ├── janus_duktape.c │ │ ├── janus_duktape_data.h │ │ ├── janus_duktape_extra.c │ │ ├── janus_duktape_extra.h │ │ ├── janus_echotest.c │ │ ├── janus_lua.c │ │ ├── janus_lua_data.h │ │ ├── janus_lua_extra.c │ │ ├── janus_lua_extra.h │ │ ├── janus_nosip.c │ │ ├── janus_recordplay.c │ │ ├── janus_sip.c │ │ ├── janus_streaming.c │ │ ├── janus_textroom.c │ │ ├── janus_videocall.c │ │ ├── janus_videoroom.c │ │ ├── lua/ │ │ │ ├── echotest.lua │ │ │ ├── janus-logger.lua │ │ │ ├── janus-sdp.lua │ │ │ └── videoroom.lua │ │ ├── plugin.c │ │ ├── plugin.h │ │ ├── recordings/ │ │ │ ├── 1234.nfo │ │ │ ├── rec-sample-audio.mjr │ │ │ └── rec-sample-video.mjr │ │ └── streams/ │ │ ├── radio.alaw │ │ ├── remembrance.opus │ │ ├── test_gstreamer.sh │ │ ├── test_gstreamer1.sh │ │ ├── test_gstreamer1_multistream.sh │ │ └── test_gstreamer_multistream.sh │ ├── postprocessing/ │ │ ├── janus-pp-rec.1 │ │ ├── janus-pp-rec.c │ │ ├── mjr2pcap.1 │ │ ├── mjr2pcap.c │ │ ├── pcap2mjr.1 │ │ ├── pcap2mjr.c │ │ ├── pp-av1.c │ │ ├── pp-av1.h │ │ ├── pp-avformat.c │ │ ├── pp-avformat.h │ │ ├── pp-binary.c │ │ ├── pp-binary.h │ │ ├── pp-g711.c │ │ ├── pp-g711.h │ │ ├── pp-g722.c │ │ ├── pp-g722.h │ │ ├── pp-h264.c │ │ ├── pp-h264.h │ │ ├── pp-h265.c │ │ ├── pp-h265.h │ │ ├── pp-l16.c │ │ ├── pp-l16.h │ │ ├── pp-options.c │ │ ├── pp-options.h │ │ ├── pp-opus-silence.h │ │ ├── pp-opus.c │ │ ├── pp-opus.h │ │ ├── pp-rtp.h │ │ ├── pp-srt.c │ │ ├── pp-srt.h │ │ ├── pp-webm.c │ │ └── pp-webm.h │ ├── record.c │ ├── record.h │ ├── refcount.h │ ├── rtcp.c │ ├── rtcp.h │ ├── rtp.c │ ├── rtp.h │ ├── rtpfwd.c │ ├── rtpfwd.h │ ├── rtpsrtp.h │ ├── sctp.c │ ├── sctp.h │ ├── sdp-utils.c │ ├── sdp-utils.h │ ├── sdp.c │ ├── sdp.h │ ├── text2pcap.c │ ├── text2pcap.h │ ├── transports/ │ │ ├── janus_http.c │ │ ├── janus_mqtt.c │ │ ├── janus_nanomsg.c │ │ ├── janus_pfunix.c │ │ ├── janus_rabbitmq.c │ │ ├── janus_websockets.c │ │ ├── transport.c │ │ └── transport.h │ ├── turnrest.c │ ├── turnrest.h │ ├── utils.c │ ├── utils.h │ └── version.h └── test/ ├── README.md ├── echo.py ├── requirements.txt └── test_aiortc.sh