gitextract_nw9bolxa/ ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── Bug_Report.md │ │ ├── Feature_Request.md │ │ └── config.yml │ └── workflows/ │ ├── mediasoup-codeql.yaml │ ├── mediasoup-node.yaml │ ├── mediasoup-rust.yaml │ ├── mediasoup-worker-clang-tidy.yaml │ ├── mediasoup-worker-fuzzer.yaml │ ├── mediasoup-worker-prebuild.yaml │ └── mediasoup-worker.yaml ├── .gitignore ├── .npmrc ├── .prettierrc.json ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── doc/ │ ├── Building.md │ ├── Charts.md │ ├── Closures.md │ ├── Fuzzer.md │ ├── README.md │ ├── RTCP.md │ └── Rust-crates.md ├── eslint.config.mjs ├── jest.config.mjs ├── knip.config.mjs ├── node/ │ └── src/ │ ├── ActiveSpeakerObserver.ts │ ├── ActiveSpeakerObserverTypes.ts │ ├── AudioLevelObserver.ts │ ├── AudioLevelObserverTypes.ts │ ├── Channel.ts │ ├── Consumer.ts │ ├── ConsumerTypes.ts │ ├── DataConsumer.ts │ ├── DataConsumerTypes.ts │ ├── DataProducer.ts │ ├── DataProducerTypes.ts │ ├── DirectTransport.ts │ ├── DirectTransportTypes.ts │ ├── Logger.ts │ ├── PipeTransport.ts │ ├── PipeTransportTypes.ts │ ├── PlainTransport.ts │ ├── PlainTransportTypes.ts │ ├── Producer.ts │ ├── ProducerTypes.ts │ ├── Router.ts │ ├── RouterTypes.ts │ ├── RtpObserver.ts │ ├── RtpObserverTypes.ts │ ├── Transport.ts │ ├── TransportTypes.ts │ ├── WebRtcServer.ts │ ├── WebRtcServerTypes.ts │ ├── WebRtcTransport.ts │ ├── WebRtcTransportTypes.ts │ ├── Worker.ts │ ├── WorkerTypes.ts │ ├── enhancedEvents.ts │ ├── errors.ts │ ├── extras.ts │ ├── fbsUtils.ts │ ├── index.ts │ ├── indexTypes.ts │ ├── ortc.ts │ ├── rtpParametersFbsUtils.ts │ ├── rtpParametersTypes.ts │ ├── rtpStreamStatsFbsUtils.ts │ ├── rtpStreamStatsTypes.ts │ ├── scalabilityModesTypes.ts │ ├── scalabilityModesUtils.ts │ ├── sctpParametersFbsUtils.ts │ ├── sctpParametersTypes.ts │ ├── srtpParametersFbsUtils.ts │ ├── srtpParametersTypes.ts │ ├── supportedRtpCapabilities.ts │ ├── test/ │ │ ├── data/ │ │ │ ├── dtls-cert.pem │ │ │ └── dtls-key.pem │ │ ├── test-ActiveSpeakerObserver.ts │ │ ├── test-AudioLevelObserver.ts │ │ ├── test-Consumer.ts │ │ ├── test-DataConsumer.ts │ │ ├── test-DataProducer.ts │ │ ├── test-DirectTransport.ts │ │ ├── test-PipeTransport.ts │ │ ├── test-PlainTransport.ts │ │ ├── test-Producer.ts │ │ ├── test-Router.ts │ │ ├── test-WebRtcServer.ts │ │ ├── test-WebRtcTransport.ts │ │ ├── test-Worker.ts │ │ ├── test-mediasoup.ts │ │ ├── test-multiopus.ts │ │ ├── test-ortc.ts │ │ └── test-werift-sctp.ts │ ├── types.ts │ └── utils.ts ├── npm-scripts.mjs ├── package.json ├── rust/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── benches/ │ │ ├── direct_data.rs │ │ └── producer.rs │ ├── examples/ │ │ ├── echo.rs │ │ ├── multiopus.rs │ │ ├── readme.md │ │ ├── svc-simulcast.rs │ │ └── videoroom.rs │ ├── examples-frontend/ │ │ ├── echo/ │ │ │ ├── .eslintrc.js │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── multiopus/ │ │ │ ├── .eslintrc.js │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ ├── readme.md │ │ ├── svc-simulcast/ │ │ │ ├── .eslintrc.js │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.json │ │ │ └── webpack.config.js │ │ └── videoroom/ │ │ ├── .eslintrc.js │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── src/ │ │ ├── data_structures.rs │ │ ├── fbs.rs │ │ ├── lib.rs │ │ ├── macros.rs │ │ ├── messages.rs │ │ ├── ortc/ │ │ │ └── tests.rs │ │ ├── ortc.rs │ │ ├── prelude.rs │ │ ├── router/ │ │ │ ├── active_speaker_observer/ │ │ │ │ └── tests.rs │ │ │ ├── active_speaker_observer.rs │ │ │ ├── audio_level_observer/ │ │ │ │ └── tests.rs │ │ │ ├── audio_level_observer.rs │ │ │ ├── consumer/ │ │ │ │ └── tests.rs │ │ │ ├── consumer.rs │ │ │ ├── data_consumer/ │ │ │ │ └── tests.rs │ │ │ ├── data_consumer.rs │ │ │ ├── data_producer/ │ │ │ │ └── tests.rs │ │ │ ├── data_producer.rs │ │ │ ├── direct_transport/ │ │ │ │ └── tests.rs │ │ │ ├── direct_transport.rs │ │ │ ├── pipe_transport/ │ │ │ │ └── tests.rs │ │ │ ├── pipe_transport.rs │ │ │ ├── plain_transport/ │ │ │ │ └── tests.rs │ │ │ ├── plain_transport.rs │ │ │ ├── producer/ │ │ │ │ └── tests.rs │ │ │ ├── producer.rs │ │ │ ├── rtp_observer.rs │ │ │ ├── tests.rs │ │ │ ├── transport.rs │ │ │ ├── webrtc_transport/ │ │ │ │ └── tests.rs │ │ │ └── webrtc_transport.rs │ │ ├── router.rs │ │ ├── rtp_parameters.rs │ │ ├── scalability_modes.rs │ │ ├── sctp_parameters.rs │ │ ├── srtp_parameters.rs │ │ ├── supported_rtp_capabilities.rs │ │ ├── webrtc_server/ │ │ │ └── tests.rs │ │ ├── webrtc_server.rs │ │ ├── worker/ │ │ │ ├── channel.rs │ │ │ ├── common.rs │ │ │ ├── utils/ │ │ │ │ ├── channel_read_fn.rs │ │ │ │ └── channel_write_fn.rs │ │ │ └── utils.rs │ │ ├── worker.rs │ │ ├── worker_manager/ │ │ │ └── tests.rs │ │ └── worker_manager.rs │ ├── tests/ │ │ └── integration/ │ │ ├── active_speaker_observer.rs │ │ ├── audio_level_observer.rs │ │ ├── consumer.rs │ │ ├── data/ │ │ │ ├── dtls-cert.pem │ │ │ └── dtls-key.pem │ │ ├── data_consumer.rs │ │ ├── data_producer.rs │ │ ├── direct_transport.rs │ │ ├── main.rs │ │ ├── multiopus.rs │ │ ├── pipe_transport.rs │ │ ├── plain_transport.rs │ │ ├── producer.rs │ │ ├── router.rs │ │ ├── smoke.rs │ │ ├── webrtc_server.rs │ │ ├── webrtc_transport.rs │ │ └── worker.rs │ └── types/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── data_structures/ │ │ └── tests.rs │ ├── data_structures.rs │ ├── lib.rs │ ├── rtp_parameters/ │ │ └── tests.rs │ ├── rtp_parameters.rs │ ├── scalability_modes/ │ │ └── tests.rs │ ├── scalability_modes.rs │ ├── sctp_parameters.rs │ └── srtp_parameters.rs ├── rust-toolchain.toml ├── tsconfig.json └── worker/ ├── .clang-format ├── .clang-tidy ├── .clangd ├── Cargo.toml ├── Dockerfile ├── Dockerfile.386 ├── Dockerfile.alpine ├── Makefile ├── build.rs ├── deps/ │ ├── libwebrtc/ │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── README.md │ │ ├── libwebrtc/ │ │ │ ├── api/ │ │ │ │ ├── bitrate_constraints.h │ │ │ │ ├── network_state_predictor.cc │ │ │ │ ├── network_state_predictor.h │ │ │ │ ├── transport/ │ │ │ │ │ ├── bitrate_settings.cc │ │ │ │ │ ├── bitrate_settings.h │ │ │ │ │ ├── field_trial_based_config.cc │ │ │ │ │ ├── field_trial_based_config.h │ │ │ │ │ ├── goog_cc_factory.cc │ │ │ │ │ ├── goog_cc_factory.h │ │ │ │ │ ├── network_control.h │ │ │ │ │ ├── network_types.cc │ │ │ │ │ ├── network_types.h │ │ │ │ │ └── webrtc_key_value_config.h │ │ │ │ └── units/ │ │ │ │ ├── data_rate.cc │ │ │ │ ├── data_rate.h │ │ │ │ ├── data_size.cc │ │ │ │ ├── data_size.h │ │ │ │ ├── frequency.cc │ │ │ │ ├── frequency.h │ │ │ │ ├── time_delta.cc │ │ │ │ ├── time_delta.h │ │ │ │ ├── timestamp.cc │ │ │ │ └── timestamp.h │ │ │ ├── call/ │ │ │ │ ├── rtp_transport_controller_send.cc │ │ │ │ ├── rtp_transport_controller_send.h │ │ │ │ └── rtp_transport_controller_send_interface.h │ │ │ ├── mediasoup_helpers.h │ │ │ ├── modules/ │ │ │ │ ├── bitrate_controller/ │ │ │ │ │ ├── loss_based_bandwidth_estimation.cc │ │ │ │ │ ├── loss_based_bandwidth_estimation.h │ │ │ │ │ ├── send_side_bandwidth_estimation.cc │ │ │ │ │ └── send_side_bandwidth_estimation.h │ │ │ │ ├── congestion_controller/ │ │ │ │ │ ├── goog_cc/ │ │ │ │ │ │ ├── acknowledged_bitrate_estimator.cc │ │ │ │ │ │ ├── acknowledged_bitrate_estimator.h │ │ │ │ │ │ ├── alr_detector.cc │ │ │ │ │ │ ├── alr_detector.h │ │ │ │ │ │ ├── bitrate_estimator.cc │ │ │ │ │ │ ├── bitrate_estimator.h │ │ │ │ │ │ ├── congestion_window_pushback_controller.cc │ │ │ │ │ │ ├── congestion_window_pushback_controller.h │ │ │ │ │ │ ├── delay_based_bwe.cc │ │ │ │ │ │ ├── delay_based_bwe.h │ │ │ │ │ │ ├── delay_increase_detector_interface.h │ │ │ │ │ │ ├── goog_cc_network_control.cc │ │ │ │ │ │ ├── goog_cc_network_control.h │ │ │ │ │ │ ├── link_capacity_estimator.cc │ │ │ │ │ │ ├── link_capacity_estimator.h │ │ │ │ │ │ ├── median_slope_estimator.cc │ │ │ │ │ │ ├── median_slope_estimator.h │ │ │ │ │ │ ├── probe_bitrate_estimator.cc │ │ │ │ │ │ ├── probe_bitrate_estimator.h │ │ │ │ │ │ ├── probe_controller.cc │ │ │ │ │ │ ├── probe_controller.h │ │ │ │ │ │ ├── trendline_estimator.cc │ │ │ │ │ │ └── trendline_estimator.h │ │ │ │ │ └── rtp/ │ │ │ │ │ ├── control_handler.cc │ │ │ │ │ ├── control_handler.h │ │ │ │ │ ├── send_time_history.cc │ │ │ │ │ ├── send_time_history.h │ │ │ │ │ ├── transport_feedback_adapter.cc │ │ │ │ │ └── transport_feedback_adapter.h │ │ │ │ ├── include/ │ │ │ │ │ └── module_common_types_public.h │ │ │ │ ├── pacing/ │ │ │ │ │ ├── bitrate_prober.cc │ │ │ │ │ ├── bitrate_prober.h │ │ │ │ │ ├── interval_budget.cc │ │ │ │ │ ├── interval_budget.h │ │ │ │ │ ├── paced_sender.cc │ │ │ │ │ ├── paced_sender.h │ │ │ │ │ └── packet_router.h │ │ │ │ ├── remote_bitrate_estimator/ │ │ │ │ │ ├── aimd_rate_control.cc │ │ │ │ │ ├── aimd_rate_control.h │ │ │ │ │ ├── bwe_defines.cc │ │ │ │ │ ├── include/ │ │ │ │ │ │ ├── bwe_defines.h │ │ │ │ │ │ └── remote_bitrate_estimator.h │ │ │ │ │ ├── inter_arrival.cc │ │ │ │ │ ├── inter_arrival.h │ │ │ │ │ ├── overuse_detector.cc │ │ │ │ │ ├── overuse_detector.h │ │ │ │ │ ├── overuse_estimator.cc │ │ │ │ │ ├── overuse_estimator.h │ │ │ │ │ ├── remote_bitrate_estimator_abs_send_time.cc │ │ │ │ │ └── remote_bitrate_estimator_abs_send_time.h │ │ │ │ └── rtp_rtcp/ │ │ │ │ ├── include/ │ │ │ │ │ ├── rtp_rtcp_defines.cc │ │ │ │ │ └── rtp_rtcp_defines.h │ │ │ │ └── source/ │ │ │ │ └── rtp_packet/ │ │ │ │ └── transport_feedback.h │ │ │ ├── rtc_base/ │ │ │ │ ├── constructor_magic.h │ │ │ │ ├── experiments/ │ │ │ │ │ ├── alr_experiment.cc │ │ │ │ │ ├── alr_experiment.h │ │ │ │ │ ├── field_trial_parser.cc │ │ │ │ │ ├── field_trial_parser.h │ │ │ │ │ ├── field_trial_units.cc │ │ │ │ │ ├── field_trial_units.h │ │ │ │ │ ├── rate_control_settings.cc │ │ │ │ │ └── rate_control_settings.h │ │ │ │ ├── network/ │ │ │ │ │ ├── sent_packet.cc │ │ │ │ │ └── sent_packet.h │ │ │ │ ├── numerics/ │ │ │ │ │ ├── percentile_filter.h │ │ │ │ │ ├── safe_compare.h │ │ │ │ │ ├── safe_conversions.h │ │ │ │ │ ├── safe_conversions_impl.h │ │ │ │ │ └── safe_minmax.h │ │ │ │ ├── rate_statistics.cc │ │ │ │ ├── rate_statistics.h │ │ │ │ ├── system/ │ │ │ │ │ └── unused.h │ │ │ │ ├── type_traits.h │ │ │ │ └── units/ │ │ │ │ └── unit_base.h │ │ │ └── system_wrappers/ │ │ │ └── source/ │ │ │ ├── field_trial.cc │ │ │ └── field_trial.h │ │ ├── libwebrtc.gyp │ │ └── meson.build │ └── webrtc-fuzzer-corpora/ │ ├── README.md │ ├── add_sha1.sh │ ├── corpora/ │ │ ├── agc-corpus/ │ │ │ ├── agc-1 │ │ │ ├── agc-2 │ │ │ ├── agc-3 │ │ │ └── agc-4 │ │ ├── audio_processing-corpus/ │ │ │ ├── audio-processing-0 │ │ │ ├── audio-processing-1 │ │ │ ├── audio-processing-2 │ │ │ └── audio-processing-3 │ │ ├── mdns-corpus/ │ │ │ ├── 1.mdns │ │ │ ├── 10.mdns │ │ │ ├── 11.mdns │ │ │ ├── 12.mdns │ │ │ ├── 13.mdns │ │ │ ├── 14.mdns │ │ │ ├── 15.mdns │ │ │ ├── 16.mdns │ │ │ ├── 17.mdns │ │ │ ├── 18.mdns │ │ │ ├── 19.mdns │ │ │ ├── 2.mdns │ │ │ ├── 20.mdns │ │ │ ├── 3.mdns │ │ │ ├── 4.mdns │ │ │ ├── 5.mdns │ │ │ ├── 6.mdns │ │ │ ├── 7.mdns │ │ │ ├── 8.mdns │ │ │ └── 9.mdns │ │ ├── pseudotcp-corpus/ │ │ │ └── 785b96587d0eb44dd5d75b7a886f37e2ac504511 │ │ ├── rtcp-corpus/ │ │ │ ├── 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 │ │ │ ├── fir.rtcp │ │ │ ├── pli.rtcp │ │ │ ├── remb.rtcp │ │ │ ├── rr-remb.rtcp │ │ │ ├── rr-sdes-bye.rtcp │ │ │ ├── rr.rtcp │ │ │ ├── sr-sdes.rtcp │ │ │ └── twcc-feedback.rtcp │ │ ├── rtp-corpus/ │ │ │ ├── rtp-0 │ │ │ ├── rtp-1 │ │ │ ├── rtp-2 │ │ │ ├── rtp-3 │ │ │ ├── rtp-4 │ │ │ ├── rtp-5 │ │ │ ├── rtp-6 │ │ │ └── rtp-7 │ │ ├── sdp-corpus/ │ │ │ ├── 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 │ │ └── stun-corpus/ │ │ ├── 0.stun │ │ ├── 1.stun │ │ ├── 10.stun │ │ ├── 11.stun │ │ ├── 12.stun │ │ ├── 13.stun │ │ ├── 14.stun │ │ ├── 15.stun │ │ ├── 16.stun │ │ ├── 17.stun │ │ ├── 2.stun │ │ ├── 3.stun │ │ ├── 4.stun │ │ ├── 5.stun │ │ ├── 6.stun │ │ ├── 7.stun │ │ ├── 8.stun │ │ ├── 9.stun │ │ └── validator-crash-1.stun │ └── reports/ │ ├── crashes/ │ │ ├── .placeholder │ │ ├── rtcp/ │ │ │ ├── crash-1640b2f21ba20409d930e9653052d579d450073a │ │ │ ├── crash-16b8706455b637b7696aeb56ed40dad8f90d81d0 │ │ │ ├── crash-17ccf761d298d6a703f71627197c5f1adcf57140 │ │ │ ├── crash-3762f3b9f11328e939e577de46e20a3fb0ccc324 │ │ │ ├── crash-461a0e9201a7ea5ea6a43511571bdafce10b8185 │ │ │ ├── crash-7257232c6e9efe6362b921117ad3cd5d8170ec0d │ │ │ ├── crash-75a5a7739802ac20cbe2937d6206348ffde23605 │ │ │ ├── crash-85b6e5d82d61837df67df0e333cb2392044a47c6 │ │ │ ├── crash-c7a1f348bd6f9422caeb41079e46331551fd2587 │ │ │ └── crash-daf57e58c2552e5cf091b0b92aa9f4ab2d4a5b4a │ │ └── rtp/ │ │ ├── crash-15d89650c0a728a6431c10c3adeb8e9a2484af83 │ │ ├── crash-1e7e56a8894a7dc2c735a0732429930f4e4a9232 │ │ ├── crash-42df1e99b29f5c2e2a881c257a31ab3a3e76c650 │ │ ├── crash-5b35219e5f366ac6577599c82bc54cc33f7bbba4 │ │ ├── crash-6d9f1846dbb7acbe5dcb70623e5ac9ade871de1a │ │ ├── crash-7e2d460edd5d5d7f5548922f10489f468d1638bf │ │ ├── crash-7e3b3351f85a64bf0932a9ec7faca66717991c0f │ │ ├── crash-9b6dfaedb1a8baca07492a8be205582db2e81ae3 │ │ ├── crash-af6dff495b4c6b06250561160b019a33de972478 │ │ ├── crash-b9a848d594a7b1d0a0d698d10d2fed4f2f96c038 │ │ ├── crash-ba25a83b65e08f750cf832e205e16f1d298ea614 │ │ └── crash-c14c0b082685dee2e98ab564c39883932f869cdd │ ├── memory-leaks/ │ │ └── .placeholder │ └── timeouts/ │ └── .placeholder ├── fbs/ │ ├── activeSpeakerObserver.fbs │ ├── audioLevelObserver.fbs │ ├── common.fbs │ ├── consumer.fbs │ ├── dataConsumer.fbs │ ├── dataProducer.fbs │ ├── directTransport.fbs │ ├── liburing.fbs │ ├── log.fbs │ ├── meson.build │ ├── message.fbs │ ├── notification.fbs │ ├── pipeTransport.fbs │ ├── plainTransport.fbs │ ├── producer.fbs │ ├── request.fbs │ ├── response.fbs │ ├── router.fbs │ ├── rtpObserver.fbs │ ├── rtpPacket.fbs │ ├── rtpParameters.fbs │ ├── rtpStream.fbs │ ├── rtxStream.fbs │ ├── sctpAssociation.fbs │ ├── sctpParameters.fbs │ ├── srtpParameters.fbs │ ├── transport.fbs │ ├── webRtcServer.fbs │ ├── webRtcTransport.fbs │ └── worker.fbs ├── fuzzer/ │ ├── include/ │ │ ├── FuzzerUtils.hpp │ │ └── RTC/ │ │ ├── FuzzerDtlsTransport.hpp │ │ ├── FuzzerRateCalculator.hpp │ │ ├── FuzzerSeqManager.hpp │ │ ├── FuzzerTrendCalculator.hpp │ │ ├── ICE/ │ │ │ └── FuzzerStunPacket.hpp │ │ ├── RTCP/ │ │ │ ├── FuzzerBye.hpp │ │ │ ├── FuzzerFeedbackPs.hpp │ │ │ ├── FuzzerFeedbackPsAfb.hpp │ │ │ ├── FuzzerFeedbackPsFir.hpp │ │ │ ├── FuzzerFeedbackPsLei.hpp │ │ │ ├── FuzzerFeedbackPsPli.hpp │ │ │ ├── FuzzerFeedbackPsRemb.hpp │ │ │ ├── FuzzerFeedbackPsRpsi.hpp │ │ │ ├── FuzzerFeedbackPsSli.hpp │ │ │ ├── FuzzerFeedbackPsTst.hpp │ │ │ ├── FuzzerFeedbackPsVbcm.hpp │ │ │ ├── FuzzerFeedbackRtp.hpp │ │ │ ├── FuzzerFeedbackRtpEcn.hpp │ │ │ ├── FuzzerFeedbackRtpNack.hpp │ │ │ ├── FuzzerFeedbackRtpSrReq.hpp │ │ │ ├── FuzzerFeedbackRtpTllei.hpp │ │ │ ├── FuzzerFeedbackRtpTmmb.hpp │ │ │ ├── FuzzerFeedbackRtpTransport.hpp │ │ │ ├── FuzzerPacket.hpp │ │ │ ├── FuzzerReceiverReport.hpp │ │ │ ├── FuzzerSdes.hpp │ │ │ ├── FuzzerSenderReport.hpp │ │ │ └── FuzzerXr.hpp │ │ ├── RTP/ │ │ │ ├── Codecs/ │ │ │ │ ├── FuzzerAV1.hpp │ │ │ │ ├── FuzzerDependencyDescriptor.hpp │ │ │ │ ├── FuzzerH264.hpp │ │ │ │ ├── FuzzerOpus.hpp │ │ │ │ ├── FuzzerVP8.hpp │ │ │ │ └── FuzzerVP9.hpp │ │ │ ├── FuzzerPacket.hpp │ │ │ ├── FuzzerProbationGenerator.hpp │ │ │ ├── FuzzerRetransmissionBuffer.hpp │ │ │ └── FuzzerRtpStreamSend.hpp │ │ └── SCTP/ │ │ ├── FuzzerStateCookie.hpp │ │ └── packet/ │ │ └── FuzzerPacket.hpp │ ├── new-corpus/ │ │ └── .placeholder │ ├── reports/ │ │ ├── .placeholder │ │ ├── crash-058a4c1cc23eb6852d2d239a5596b10c572faa7b │ │ ├── crash-082d8c1a727f57b415a81ea68d8dd0c21804a4a1 │ │ ├── crash-2d204ea940d313bbdb69874f035ec5e7664b7181 │ │ ├── crash-572450c78229fbb005891235ad020c4374d44f82 │ │ ├── crash-6cfd7698f02bb829e64f926e2d8ce86596562843 │ │ ├── crash-732ced16c38f8a29b621a590e243782f2102e771 │ │ ├── crash-7e7caf72377ad55d353719f28febb5238eadfc9e │ │ ├── crash-89d745213ab3a50a7bd6c0bfaa3caf3dd5b81c96 │ │ ├── crash-91572165de5ef12fe8415b150e40457eccca0362 │ │ ├── crash-92e8ac42827b4da15e94289879d56a44c70ee4ec │ │ ├── crash-9401450d2dad5c11b31f93d7c69660e28ae6a1d6 │ │ ├── crash-9cc885b84ba02d766f422c6512ead3808ded0189 │ │ ├── crash-ac5d03e5d918b7f714c0452a59ad9c0e1ca3e501 │ │ ├── crash-b1dc07dd80d43d55c727cbf97e3db1285502bc39 │ │ ├── crash-b75c1208384621922270e954b4902442592c3ca9 │ │ ├── crash-c079dea0539424a1e986de88801b6a11005509c6 │ │ ├── crash-cb8c8802d60e3501cbf36d5e88b6882b8dfb76c9 │ │ ├── crash-cfd568c4ff6705458b0f431bf5e6fc89d7aa6883 │ │ ├── crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 │ │ ├── crash-dcfd05592934ab472c98a1813256aabb9bb43bfb │ │ ├── crash-ddfab2c0dd845e8d3e8f8d27e1f4cb49d92d279a │ │ └── crash-f7c53b8c190ca20d0a3ab04b51a075e2e29bb4c6 │ └── src/ │ ├── FuzzerUtils.cpp │ ├── RTC/ │ │ ├── FuzzerDtlsTransport.cpp │ │ ├── FuzzerRateCalculator.cpp │ │ ├── FuzzerSeqManager.cpp │ │ ├── FuzzerTrendCalculator.cpp │ │ ├── ICE/ │ │ │ └── FuzzerStunPacket.cpp │ │ ├── RTCP/ │ │ │ ├── FuzzerBye.cpp │ │ │ ├── FuzzerFeedbackPs.cpp │ │ │ ├── FuzzerFeedbackPsAfb.cpp │ │ │ ├── FuzzerFeedbackPsFir.cpp │ │ │ ├── FuzzerFeedbackPsLei.cpp │ │ │ ├── FuzzerFeedbackPsPli.cpp │ │ │ ├── FuzzerFeedbackPsRemb.cpp │ │ │ ├── FuzzerFeedbackPsRpsi.cpp │ │ │ ├── FuzzerFeedbackPsSli.cpp │ │ │ ├── FuzzerFeedbackPsTst.cpp │ │ │ ├── FuzzerFeedbackPsVbcm.cpp │ │ │ ├── FuzzerFeedbackRtp.cpp │ │ │ ├── FuzzerFeedbackRtpEcn.cpp │ │ │ ├── FuzzerFeedbackRtpNack.cpp │ │ │ ├── FuzzerFeedbackRtpSrReq.cpp │ │ │ ├── FuzzerFeedbackRtpTllei.cpp │ │ │ ├── FuzzerFeedbackRtpTmmb.cpp │ │ │ ├── FuzzerFeedbackRtpTransport.cpp │ │ │ ├── FuzzerPacket.cpp │ │ │ ├── FuzzerReceiverReport.cpp │ │ │ ├── FuzzerSdes.cpp │ │ │ ├── FuzzerSenderReport.cpp │ │ │ └── FuzzerXr.cpp │ │ ├── RTP/ │ │ │ ├── Codecs/ │ │ │ │ ├── FuzzerAV1.cpp │ │ │ │ ├── FuzzerDependencyDescriptor.cpp │ │ │ │ ├── FuzzerH264.cpp │ │ │ │ ├── FuzzerOpus.cpp │ │ │ │ ├── FuzzerVP8.cpp │ │ │ │ └── FuzzerVP9.cpp │ │ │ ├── FuzzerPacket.cpp │ │ │ ├── FuzzerProbationGenerator.cpp │ │ │ ├── FuzzerRetransmissionBuffer.cpp │ │ │ └── FuzzerRtpStreamSend.cpp │ │ └── SCTP/ │ │ ├── association/ │ │ │ └── FuzzerStateCookie.cpp │ │ └── packet/ │ │ └── FuzzerPacket.cpp │ └── fuzzer.cpp ├── include/ │ ├── Channel/ │ │ ├── ChannelMessageRegistrator.hpp │ │ ├── ChannelMessageRegistratorInterface.hpp │ │ ├── ChannelNotification.hpp │ │ ├── ChannelNotifier.hpp │ │ ├── ChannelRequest.hpp │ │ └── ChannelSocket.hpp │ ├── DepLibSRTP.hpp │ ├── DepLibUV.hpp │ ├── DepLibUring.hpp │ ├── DepLibWebRTC.hpp │ ├── DepOpenSSL.hpp │ ├── DepUsrSCTP.hpp │ ├── LogLevel.hpp │ ├── Logger.hpp │ ├── MediaSoupErrors.hpp │ ├── RTC/ │ │ ├── ActiveSpeakerObserver.hpp │ │ ├── AudioLevelObserver.hpp │ │ ├── BweType.hpp │ │ ├── Consts.hpp │ │ ├── Consumer.hpp │ │ ├── ConsumerTypes.hpp │ │ ├── DataConsumer.hpp │ │ ├── DataProducer.hpp │ │ ├── DirectTransport.hpp │ │ ├── DtlsTransport.hpp │ │ ├── ICE/ │ │ │ ├── IceCandidate.hpp │ │ │ ├── IceServer.hpp │ │ │ └── StunPacket.hpp │ │ ├── KeyFrameRequestManager.hpp │ │ ├── NackGenerator.hpp │ │ ├── Parameters.hpp │ │ ├── PipeConsumer.hpp │ │ ├── PipeTransport.hpp │ │ ├── PlainTransport.hpp │ │ ├── PortManager.hpp │ │ ├── Producer.hpp │ │ ├── RTCP/ │ │ │ ├── Bye.hpp │ │ │ ├── CompoundPacket.hpp │ │ │ ├── Feedback.hpp │ │ │ ├── FeedbackItem.hpp │ │ │ ├── FeedbackPs.hpp │ │ │ ├── FeedbackPsAfb.hpp │ │ │ ├── FeedbackPsFir.hpp │ │ │ ├── FeedbackPsLei.hpp │ │ │ ├── FeedbackPsPli.hpp │ │ │ ├── FeedbackPsRemb.hpp │ │ │ ├── FeedbackPsRpsi.hpp │ │ │ ├── FeedbackPsSli.hpp │ │ │ ├── FeedbackPsTst.hpp │ │ │ ├── FeedbackPsVbcm.hpp │ │ │ ├── FeedbackRtp.hpp │ │ │ ├── FeedbackRtpEcn.hpp │ │ │ ├── FeedbackRtpNack.hpp │ │ │ ├── FeedbackRtpSrReq.hpp │ │ │ ├── FeedbackRtpTllei.hpp │ │ │ ├── FeedbackRtpTmmb.hpp │ │ │ ├── FeedbackRtpTransport.hpp │ │ │ ├── Packet.hpp │ │ │ ├── ReceiverReport.hpp │ │ │ ├── Sdes.hpp │ │ │ ├── SenderReport.hpp │ │ │ ├── XR.hpp │ │ │ ├── XrDelaySinceLastRr.hpp │ │ │ └── XrReceiverReferenceTime.hpp │ │ ├── RTP/ │ │ │ ├── Codecs/ │ │ │ │ ├── AV1.hpp │ │ │ │ ├── DependencyDescriptor.hpp │ │ │ │ ├── H264.hpp │ │ │ │ ├── Opus.hpp │ │ │ │ ├── PayloadDescriptorHandler.hpp │ │ │ │ ├── Tools.hpp │ │ │ │ ├── VP8.hpp │ │ │ │ └── VP9.hpp │ │ │ ├── HeaderExtensionIds.hpp │ │ │ ├── Packet.hpp │ │ │ ├── ProbationGenerator.hpp │ │ │ ├── RetransmissionBuffer.hpp │ │ │ ├── RtpStream.hpp │ │ │ ├── RtpStreamRecv.hpp │ │ │ ├── RtpStreamSend.hpp │ │ │ ├── RtxStream.hpp │ │ │ └── SharedPacket.hpp │ │ ├── RateCalculator.hpp │ │ ├── Router.hpp │ │ ├── RtcLogger.hpp │ │ ├── RtpDictionaries.hpp │ │ ├── RtpListener.hpp │ │ ├── RtpObserver.hpp │ │ ├── SCTP/ │ │ │ ├── TODO_SCTP.md │ │ │ ├── association/ │ │ │ │ ├── Association.hpp │ │ │ │ ├── AssociationListenerDeferrer.hpp │ │ │ │ ├── HeartbeatHandler.hpp │ │ │ │ ├── NegotiatedCapabilities.hpp │ │ │ │ ├── PacketSender.hpp │ │ │ │ ├── StateCookie.hpp │ │ │ │ ├── StreamResetHandler.hpp │ │ │ │ ├── TransmissionControlBlock.hpp │ │ │ │ └── TransmissionControlBlockContextInterface.hpp │ │ │ ├── packet/ │ │ │ │ ├── Chunk.hpp │ │ │ │ ├── ErrorCause.hpp │ │ │ │ ├── Packet.hpp │ │ │ │ ├── Parameter.hpp │ │ │ │ ├── TLV.hpp │ │ │ │ ├── UserData.hpp │ │ │ │ ├── chunks/ │ │ │ │ │ ├── AbortAssociationChunk.hpp │ │ │ │ │ ├── AnyDataChunk.hpp │ │ │ │ │ ├── AnyForwardTsnChunk.hpp │ │ │ │ │ ├── AnyInitChunk.hpp │ │ │ │ │ ├── CookieAckChunk.hpp │ │ │ │ │ ├── CookieEchoChunk.hpp │ │ │ │ │ ├── DataChunk.hpp │ │ │ │ │ ├── ForwardTsnChunk.hpp │ │ │ │ │ ├── HeartbeatAckChunk.hpp │ │ │ │ │ ├── HeartbeatRequestChunk.hpp │ │ │ │ │ ├── IDataChunk.hpp │ │ │ │ │ ├── IForwardTsnChunk.hpp │ │ │ │ │ ├── InitAckChunk.hpp │ │ │ │ │ ├── InitChunk.hpp │ │ │ │ │ ├── OperationErrorChunk.hpp │ │ │ │ │ ├── ReConfigChunk.hpp │ │ │ │ │ ├── SackChunk.hpp │ │ │ │ │ ├── ShutdownAckChunk.hpp │ │ │ │ │ ├── ShutdownChunk.hpp │ │ │ │ │ ├── ShutdownCompleteChunk.hpp │ │ │ │ │ └── UnknownChunk.hpp │ │ │ │ ├── errorCauses/ │ │ │ │ │ ├── CookieReceivedWhileShuttingDownErrorCause.hpp │ │ │ │ │ ├── InvalidMandatoryParameterErrorCause.hpp │ │ │ │ │ ├── InvalidStreamIdentifierErrorCause.hpp │ │ │ │ │ ├── MissingMandatoryParameterErrorCause.hpp │ │ │ │ │ ├── NoUserDataErrorCause.hpp │ │ │ │ │ ├── OutOfResourceErrorCause.hpp │ │ │ │ │ ├── ProtocolViolationErrorCause.hpp │ │ │ │ │ ├── RestartOfAnAssociationWithNewAddressesErrorCause.hpp │ │ │ │ │ ├── StaleCookieErrorCause.hpp │ │ │ │ │ ├── UnknownErrorCause.hpp │ │ │ │ │ ├── UnrecognizedChunkTypeErrorCause.hpp │ │ │ │ │ ├── UnrecognizedParametersErrorCause.hpp │ │ │ │ │ ├── UnresolvableAddressErrorCause.hpp │ │ │ │ │ └── UserInitiatedAbortErrorCause.hpp │ │ │ │ └── parameters/ │ │ │ │ ├── AddIncomingStreamsRequestParameter.hpp │ │ │ │ ├── AddOutgoingStreamsRequestParameter.hpp │ │ │ │ ├── CookiePreservativeParameter.hpp │ │ │ │ ├── ForwardTsnSupportedParameter.hpp │ │ │ │ ├── HeartbeatInfoParameter.hpp │ │ │ │ ├── IPv4AddressParameter.hpp │ │ │ │ ├── IPv6AddressParameter.hpp │ │ │ │ ├── IncomingSsnResetRequestParameter.hpp │ │ │ │ ├── OutgoingSsnResetRequestParameter.hpp │ │ │ │ ├── ReconfigurationResponseParameter.hpp │ │ │ │ ├── SsnTsnResetRequestParameter.hpp │ │ │ │ ├── StateCookieParameter.hpp │ │ │ │ ├── SupportedAddressTypesParameter.hpp │ │ │ │ ├── SupportedExtensionsParameter.hpp │ │ │ │ ├── UnknownParameter.hpp │ │ │ │ ├── UnrecognizedParameterParameter.hpp │ │ │ │ └── ZeroChecksumAcceptableParameter.hpp │ │ │ ├── public/ │ │ │ │ ├── AssociationInterface.hpp │ │ │ │ ├── AssociationListenerInterface.hpp │ │ │ │ ├── AssociationMetrics.hpp │ │ │ │ ├── Message.hpp │ │ │ │ ├── SctpOptions.hpp │ │ │ │ └── SctpTypes.hpp │ │ │ ├── rx/ │ │ │ │ ├── DataTracker.hpp │ │ │ │ ├── InterleavedReassemblyStreams.hpp │ │ │ │ ├── ReassemblyQueue.hpp │ │ │ │ ├── ReassemblyStreamsInterface.hpp │ │ │ │ └── TraditionalReassemblyStreams.hpp │ │ │ └── tx/ │ │ │ ├── OutstandingData.hpp │ │ │ ├── RetransmissionErrorCounter.hpp │ │ │ ├── RetransmissionQueue.hpp │ │ │ ├── RetransmissionTimeout.hpp │ │ │ ├── RoundRobinSendQueue.hpp │ │ │ ├── SendQueueInterface.hpp │ │ │ └── StreamScheduler.hpp │ │ ├── SctpAssociation.hpp │ │ ├── SctpDictionaries.hpp │ │ ├── SctpListener.hpp │ │ ├── SenderBandwidthEstimator.hpp │ │ ├── SeqManager.hpp │ │ ├── Serializable.hpp │ │ ├── SimpleConsumer.hpp │ │ ├── SimulcastConsumer.hpp │ │ ├── SrtpSession.hpp │ │ ├── SvcConsumer.hpp │ │ ├── TcpConnection.hpp │ │ ├── TcpServer.hpp │ │ ├── Transport.hpp │ │ ├── TransportCongestionControlClient.hpp │ │ ├── TransportCongestionControlServer.hpp │ │ ├── TransportTuple.hpp │ │ ├── TrendCalculator.hpp │ │ ├── UdpSocket.hpp │ │ ├── WebRtcServer.hpp │ │ └── WebRtcTransport.hpp │ ├── Settings.hpp │ ├── Shared.hpp │ ├── SharedInterface.hpp │ ├── Utils/ │ │ └── UnwrappedSequenceNumber.hpp │ ├── Utils.hpp │ ├── Worker.hpp │ ├── common.hpp │ ├── handles/ │ │ ├── BackoffTimerHandle.hpp │ │ ├── BackoffTimerHandleInterface.hpp │ │ ├── SignalHandle.hpp │ │ ├── TcpConnectionHandle.hpp │ │ ├── TcpServerHandle.hpp │ │ ├── TimerHandle.hpp │ │ ├── TimerHandleInterface.hpp │ │ ├── UdpSocketHandle.hpp │ │ └── UnixStreamSocketHandle.hpp │ └── lib.hpp ├── meson.build ├── meson_options.txt ├── mocks/ │ ├── include/ │ │ ├── Channel/ │ │ │ └── MockChannelMessageRegistrator.hpp │ │ ├── MockShared.hpp │ │ ├── RTC/ │ │ │ └── SCTP/ │ │ │ ├── association/ │ │ │ │ ├── MockAssociationListener.hpp │ │ │ │ └── MockTransmissionControlBlockContext.hpp │ │ │ └── tx/ │ │ │ └── MockSendQueue.hpp │ │ ├── handles/ │ │ │ ├── MockBackoffTimerHandle.hpp │ │ │ └── MockTimerHandle.hpp │ │ └── mockTypes.hpp │ └── src/ │ ├── Channel/ │ │ └── MockChannelMessageRegistrator.cpp │ ├── MockShared.cpp │ ├── RTC/ │ │ └── SCTP/ │ │ └── association/ │ │ └── MockTransmissionControlBlockContext.cpp │ └── handles/ │ └── MockBackoffTimerHandle.cpp ├── scripts/ │ ├── .npmrc │ ├── clang-scripts.mjs │ ├── get-dep.sh │ ├── package.json │ └── run-fuzzer.sh ├── src/ │ ├── Channel/ │ │ ├── ChannelMessageRegistrator.cpp │ │ ├── ChannelNotification.cpp │ │ ├── ChannelNotifier.cpp │ │ ├── ChannelRequest.cpp │ │ └── ChannelSocket.cpp │ ├── DepLibSRTP.cpp │ ├── DepLibUV.cpp │ ├── DepLibUring.cpp │ ├── DepLibWebRTC.cpp │ ├── DepOpenSSL.cpp │ ├── DepUsrSCTP.cpp │ ├── Logger.cpp │ ├── MediaSoupErrors.cpp │ ├── RTC/ │ │ ├── ActiveSpeakerObserver.cpp │ │ ├── AudioLevelObserver.cpp │ │ ├── Consumer.cpp │ │ ├── DataConsumer.cpp │ │ ├── DataProducer.cpp │ │ ├── DirectTransport.cpp │ │ ├── DtlsTransport.cpp │ │ ├── ICE/ │ │ │ ├── IceCandidate.cpp │ │ │ ├── IceServer.cpp │ │ │ └── StunPacket.cpp │ │ ├── KeyFrameRequestManager.cpp │ │ ├── NackGenerator.cpp │ │ ├── PipeConsumer.cpp │ │ ├── PipeTransport.cpp │ │ ├── PlainTransport.cpp │ │ ├── PortManager.cpp │ │ ├── Producer.cpp │ │ ├── RTCP/ │ │ │ ├── Bye.cpp │ │ │ ├── CompoundPacket.cpp │ │ │ ├── Feedback.cpp │ │ │ ├── FeedbackPs.cpp │ │ │ ├── FeedbackPsAfb.cpp │ │ │ ├── FeedbackPsFir.cpp │ │ │ ├── FeedbackPsLei.cpp │ │ │ ├── FeedbackPsPli.cpp │ │ │ ├── FeedbackPsRemb.cpp │ │ │ ├── FeedbackPsRpsi.cpp │ │ │ ├── FeedbackPsSli.cpp │ │ │ ├── FeedbackPsTst.cpp │ │ │ ├── FeedbackPsVbcm.cpp │ │ │ ├── FeedbackRtp.cpp │ │ │ ├── FeedbackRtpEcn.cpp │ │ │ ├── FeedbackRtpNack.cpp │ │ │ ├── FeedbackRtpSrReq.cpp │ │ │ ├── FeedbackRtpTllei.cpp │ │ │ ├── FeedbackRtpTmmb.cpp │ │ │ ├── FeedbackRtpTransport.cpp │ │ │ ├── Packet.cpp │ │ │ ├── ReceiverReport.cpp │ │ │ ├── Sdes.cpp │ │ │ ├── SenderReport.cpp │ │ │ ├── XR.cpp │ │ │ ├── XrDelaySinceLastRr.cpp │ │ │ └── XrReceiverReferenceTime.cpp │ │ ├── RTP/ │ │ │ ├── Codecs/ │ │ │ │ ├── AV1.cpp │ │ │ │ ├── DependencyDescriptor.cpp │ │ │ │ ├── H264.cpp │ │ │ │ ├── Opus.cpp │ │ │ │ ├── VP8.cpp │ │ │ │ └── VP9.cpp │ │ │ ├── Packet.cpp │ │ │ ├── ProbationGenerator.cpp │ │ │ ├── RetransmissionBuffer.cpp │ │ │ ├── RtpStream.cpp │ │ │ ├── RtpStreamRecv.cpp │ │ │ ├── RtpStreamSend.cpp │ │ │ ├── RtxStream.cpp │ │ │ └── SharedPacket.cpp │ │ ├── RateCalculator.cpp │ │ ├── Router.cpp │ │ ├── RtcLogger.cpp │ │ ├── RtpDictionaries/ │ │ │ ├── Parameters.cpp │ │ │ ├── RtcpFeedback.cpp │ │ │ ├── RtcpParameters.cpp │ │ │ ├── RtpCodecMimeType.cpp │ │ │ ├── RtpCodecParameters.cpp │ │ │ ├── RtpEncodingParameters.cpp │ │ │ ├── RtpHeaderExtensionParameters.cpp │ │ │ ├── RtpHeaderExtensionUri.cpp │ │ │ ├── RtpParameters.cpp │ │ │ └── RtpRtxParameters.cpp │ │ ├── RtpListener.cpp │ │ ├── RtpObserver.cpp │ │ ├── SCTP/ │ │ │ ├── association/ │ │ │ │ ├── Association.cpp │ │ │ │ ├── AssociationListenerDeferrer.cpp │ │ │ │ ├── HeartbeatHandler.cpp │ │ │ │ ├── NegotiatedCapabilities.cpp │ │ │ │ ├── PacketSender.cpp │ │ │ │ ├── StateCookie.cpp │ │ │ │ ├── StreamResetHandler.cpp │ │ │ │ └── TransmissionControlBlock.cpp │ │ │ ├── packet/ │ │ │ │ ├── Chunk.cpp │ │ │ │ ├── ErrorCause.cpp │ │ │ │ ├── Packet.cpp │ │ │ │ ├── Parameter.cpp │ │ │ │ ├── TLV.cpp │ │ │ │ ├── UserData.cpp │ │ │ │ ├── chunks/ │ │ │ │ │ ├── AbortAssociationChunk.cpp │ │ │ │ │ ├── CookieAckChunk.cpp │ │ │ │ │ ├── CookieEchoChunk.cpp │ │ │ │ │ ├── DataChunk.cpp │ │ │ │ │ ├── ForwardTsnChunk.cpp │ │ │ │ │ ├── HeartbeatAckChunk.cpp │ │ │ │ │ ├── HeartbeatRequestChunk.cpp │ │ │ │ │ ├── IDataChunk.cpp │ │ │ │ │ ├── IForwardTsnChunk.cpp │ │ │ │ │ ├── InitAckChunk.cpp │ │ │ │ │ ├── InitChunk.cpp │ │ │ │ │ ├── OperationErrorChunk.cpp │ │ │ │ │ ├── ReConfigChunk.cpp │ │ │ │ │ ├── SackChunk.cpp │ │ │ │ │ ├── ShutdownAckChunk.cpp │ │ │ │ │ ├── ShutdownChunk.cpp │ │ │ │ │ ├── ShutdownCompleteChunk.cpp │ │ │ │ │ └── UnknownChunk.cpp │ │ │ │ ├── errorCauses/ │ │ │ │ │ ├── CookieReceivedWhileShuttingDownErrorCause.cpp │ │ │ │ │ ├── InvalidMandatoryParameterErrorCause.cpp │ │ │ │ │ ├── InvalidStreamIdentifierErrorCause.cpp │ │ │ │ │ ├── MissingMandatoryParameterErrorCause.cpp │ │ │ │ │ ├── NoUserDataErrorCause.cpp │ │ │ │ │ ├── OutOfResourceErrorCause.cpp │ │ │ │ │ ├── ProtocolViolationErrorCause.cpp │ │ │ │ │ ├── RestartOfAnAssociationWithNewAddressesErrorCause.cpp │ │ │ │ │ ├── StaleCookieErrorCause.cpp │ │ │ │ │ ├── UnknownErrorCause.cpp │ │ │ │ │ ├── UnrecognizedChunkTypeErrorCause.cpp │ │ │ │ │ ├── UnrecognizedParametersErrorCause.cpp │ │ │ │ │ ├── UnresolvableAddressErrorCause.cpp │ │ │ │ │ └── UserInitiatedAbortErrorCause.cpp │ │ │ │ └── parameters/ │ │ │ │ ├── AddIncomingStreamsRequestParameter.cpp │ │ │ │ ├── AddOutgoingStreamsRequestParameter.cpp │ │ │ │ ├── CookiePreservativeParameter.cpp │ │ │ │ ├── ForwardTsnSupportedParameter.cpp │ │ │ │ ├── HeartbeatInfoParameter.cpp │ │ │ │ ├── IPv4AddressParameter.cpp │ │ │ │ ├── IPv6AddressParameter.cpp │ │ │ │ ├── IncomingSsnResetRequestParameter.cpp │ │ │ │ ├── OutgoingSsnResetRequestParameter.cpp │ │ │ │ ├── ReconfigurationResponseParameter.cpp │ │ │ │ ├── SsnTsnResetRequestParameter.cpp │ │ │ │ ├── StateCookieParameter.cpp │ │ │ │ ├── SupportedAddressTypesParameter.cpp │ │ │ │ ├── SupportedExtensionsParameter.cpp │ │ │ │ ├── UnknownParameter.cpp │ │ │ │ ├── UnrecognizedParameterParameter.cpp │ │ │ │ └── ZeroChecksumAcceptableParameter.cpp │ │ │ ├── public/ │ │ │ │ ├── AssociationMetrics.cpp │ │ │ │ └── Message.cpp │ │ │ ├── rx/ │ │ │ │ ├── DataTracker.cpp │ │ │ │ ├── InterleavedReassemblyStreams.cpp │ │ │ │ ├── ReassemblyQueue.cpp │ │ │ │ └── TraditionalReassemblyStreams.cpp │ │ │ └── tx/ │ │ │ ├── OutstandingData.cpp │ │ │ ├── RetransmissionErrorCounter.cpp │ │ │ ├── RetransmissionQueue.cpp │ │ │ ├── RetransmissionTimeout.cpp │ │ │ ├── RoundRobinSendQueue.cpp │ │ │ └── StreamScheduler.cpp │ │ ├── SctpAssociation.cpp │ │ ├── SctpDictionaries/ │ │ │ └── SctpStreamParameters.cpp │ │ ├── SctpListener.cpp │ │ ├── SenderBandwidthEstimator.cpp │ │ ├── SeqManager.cpp │ │ ├── Serializable.cpp │ │ ├── SimpleConsumer.cpp │ │ ├── SimulcastConsumer.cpp │ │ ├── SrtpSession.cpp │ │ ├── SvcConsumer.cpp │ │ ├── TcpConnection.cpp │ │ ├── TcpServer.cpp │ │ ├── Transport.cpp │ │ ├── TransportCongestionControlClient.cpp │ │ ├── TransportCongestionControlServer.cpp │ │ ├── TransportTuple.cpp │ │ ├── TrendCalculator.cpp │ │ ├── UdpSocket.cpp │ │ ├── WebRtcServer.cpp │ │ └── WebRtcTransport.cpp │ ├── Settings.cpp │ ├── Shared.cpp │ ├── Utils/ │ │ ├── BitStream.cpp │ │ ├── Crypto.cpp │ │ ├── File.cpp │ │ ├── IP.cpp │ │ ├── README_BASE64_UTILS │ │ └── String.cpp │ ├── Worker.cpp │ ├── handles/ │ │ ├── BackoffTimerHandle.cpp │ │ ├── SignalHandle.cpp │ │ ├── TcpConnectionHandle.cpp │ │ ├── TcpServerHandle.cpp │ │ ├── TimerHandle.cpp │ │ ├── UdpSocketHandle.cpp │ │ └── UnixStreamSocketHandle.cpp │ ├── lib.cpp │ ├── lib.rs │ └── main.cpp ├── subprojects/ │ ├── .clang-tidy │ ├── abseil-cpp.wrap │ ├── catch2.wrap │ ├── flatbuffers.wrap │ ├── libsrtp3.wrap │ ├── liburing.wrap │ ├── libuv.wrap │ ├── openssl.wrap │ ├── usrsctp.wrap │ └── wingetopt.wrap ├── tasks.py ├── test/ │ ├── data/ │ │ ├── H264_SVC/ │ │ │ └── naluInfo/ │ │ │ ├── naluInfo.264 │ │ │ └── naluInfo.csv │ │ ├── packet1.info │ │ ├── packet1.raw │ │ ├── packet2.info │ │ ├── packet2.raw │ │ ├── packet3.info │ │ ├── packet3.raw │ │ └── rtp-stream-1.txt │ ├── include/ │ │ ├── RTC/ │ │ │ ├── ICE/ │ │ │ │ └── iceCommon.hpp │ │ │ ├── RTP/ │ │ │ │ └── rtpCommon.hpp │ │ │ └── SCTP/ │ │ │ └── sctpCommon.hpp │ │ ├── catch2Macros.hpp │ │ └── testHelpers.hpp │ └── src/ │ ├── RTC/ │ │ ├── ICE/ │ │ │ ├── TestStunPacket.cpp │ │ │ └── iceCommon.cpp │ │ ├── RTCP/ │ │ │ ├── TestBye.cpp │ │ │ ├── TestFeedbackPsAfb.cpp │ │ │ ├── TestFeedbackPsFir.cpp │ │ │ ├── TestFeedbackPsLei.cpp │ │ │ ├── TestFeedbackPsPli.cpp │ │ │ ├── TestFeedbackPsRemb.cpp │ │ │ ├── TestFeedbackPsRpsi.cpp │ │ │ ├── TestFeedbackPsSli.cpp │ │ │ ├── TestFeedbackPsTst.cpp │ │ │ ├── TestFeedbackPsVbcm.cpp │ │ │ ├── TestFeedbackRtpEcn.cpp │ │ │ ├── TestFeedbackRtpNack.cpp │ │ │ ├── TestFeedbackRtpSrReq.cpp │ │ │ ├── TestFeedbackRtpTllei.cpp │ │ │ ├── TestFeedbackRtpTmmb.cpp │ │ │ ├── TestFeedbackRtpTransport.cpp │ │ │ ├── TestPacket.cpp │ │ │ ├── TestReceiverReport.cpp │ │ │ ├── TestSdes.cpp │ │ │ ├── TestSenderReport.cpp │ │ │ └── TestXr.cpp │ │ ├── RTP/ │ │ │ ├── Codecs/ │ │ │ │ ├── TestDependencyDescriptor.cpp │ │ │ │ ├── TestH264.cpp │ │ │ │ ├── TestVP8.cpp │ │ │ │ └── TestVP9.cpp │ │ │ ├── TestPacket.cpp │ │ │ ├── TestProbationGenerator.cpp │ │ │ ├── TestRetransmissionBuffer.cpp │ │ │ ├── TestRtpStreamRecv.cpp │ │ │ ├── TestRtpStreamSend.cpp │ │ │ ├── TestSharedPacket.cpp │ │ │ └── rtpCommon.cpp │ │ ├── SCTP/ │ │ │ ├── association/ │ │ │ │ ├── TestHeartbeatHandler.cpp │ │ │ │ ├── TestNegotiatedCapabilities.cpp │ │ │ │ └── TestStateCookie.cpp │ │ │ ├── packet/ │ │ │ │ ├── TestChunk.cpp │ │ │ │ ├── TestErrorCause.cpp │ │ │ │ ├── TestPacket.cpp │ │ │ │ ├── TestParameter.cpp │ │ │ │ ├── chunks/ │ │ │ │ │ ├── TestAbortAssociationChunk.cpp │ │ │ │ │ ├── TestCookieAckChunk.cpp │ │ │ │ │ ├── TestCookieEchoChunk.cpp │ │ │ │ │ ├── TestDataChunk.cpp │ │ │ │ │ ├── TestForwardTsnChunk.cpp │ │ │ │ │ ├── TestHeartbeatAckChunk.cpp │ │ │ │ │ ├── TestHeartbeatRequestChunk.cpp │ │ │ │ │ ├── TestIDataChunk.cpp │ │ │ │ │ ├── TestIForwardTsnChunk.cpp │ │ │ │ │ ├── TestInitAckChunk.cpp │ │ │ │ │ ├── TestInitChunk.cpp │ │ │ │ │ ├── TestOperationErrorChunk.cpp │ │ │ │ │ ├── TestReConfigChunk.cpp │ │ │ │ │ ├── TestSackChunk.cpp │ │ │ │ │ ├── TestShutdownAckChunk.cpp │ │ │ │ │ ├── TestShutdownChunk.cpp │ │ │ │ │ ├── TestShutdownCompleteChunk.cpp │ │ │ │ │ └── TestUnknownChunk.cpp │ │ │ │ ├── errorCauses/ │ │ │ │ │ ├── TestCookieReceivedWhileShuttingDownErrorCause.cpp │ │ │ │ │ ├── TestInvalidMandatoryParameterErrorCause.cpp │ │ │ │ │ ├── TestInvalidStreamIdentifierErrorCause.cpp │ │ │ │ │ ├── TestMissingMandatoryParameterErrorCause.cpp │ │ │ │ │ ├── TestNoUserDataErrorCause.cpp │ │ │ │ │ ├── TestOutOfResourceErrorCause.cpp │ │ │ │ │ ├── TestProtocolViolationErrorCause.cpp │ │ │ │ │ ├── TestRestartOfAnAssociationWithNewAddressesErrorCause.cpp │ │ │ │ │ ├── TestStaleCookieErrorCause.cpp │ │ │ │ │ ├── TestUnknownErrorCause.cpp │ │ │ │ │ ├── TestUnrecognizedChunkTypeErrorCause.cpp │ │ │ │ │ ├── TestUnrecognizedParametersErrorCause.cpp │ │ │ │ │ ├── TestUnresolvableAddressErrorCause.cpp │ │ │ │ │ └── TestUserInitiatedAbortErrorCause.cpp │ │ │ │ └── parameters/ │ │ │ │ ├── TestAddIncomingStreamsRequestParameter.cpp │ │ │ │ ├── TestAddOutgoingStreamsRequestParameter.cpp │ │ │ │ ├── TestCookiePreservativeParameter.cpp │ │ │ │ ├── TestForwardTsnSupportedParameter.cpp │ │ │ │ ├── TestHeartbeatInfoParameter.cpp │ │ │ │ ├── TestIPv4AddressParameter.cpp │ │ │ │ ├── TestIPv6AddressParameter.cpp │ │ │ │ ├── TestIncomingSsnResetRequestParameter.cpp │ │ │ │ ├── TestOutgoingSsnResetRequestParameter.cpp │ │ │ │ ├── TestReconfigurationResponseParameter.cpp │ │ │ │ ├── TestSsnTsnResetRequestParameter.cpp │ │ │ │ ├── TestStateCookieParameter.cpp │ │ │ │ ├── TestSupportedAddressTypesParameter.cpp │ │ │ │ ├── TestSupportedExtensionsParameter.cpp │ │ │ │ ├── TestUnknownParameter.cpp │ │ │ │ ├── TestUnrecognizedParameterParameter.cpp │ │ │ │ └── TestZeroChecksumAcceptableParameter.cpp │ │ │ ├── rx/ │ │ │ │ ├── TestDataTracker.cpp │ │ │ │ ├── TestInterleavedReassemblyStreams.cpp │ │ │ │ ├── TestReassemblyQueue.cpp │ │ │ │ └── TestTraditionalReassemblyStreams.cpp │ │ │ ├── sctpCommon.cpp │ │ │ └── tx/ │ │ │ ├── TestOutstandingData.cpp │ │ │ ├── TestRetransmissionErrorCounter.cpp │ │ │ ├── TestRetransmissionQueue.cpp │ │ │ ├── TestRetransmissionTimeout.cpp │ │ │ ├── TestRoundRobinSendQueue.cpp │ │ │ └── TestStreamScheduler.cpp │ │ ├── TestKeyFrameRequestManager.cpp │ │ ├── TestNackGenerator.cpp │ │ ├── TestRateCalculator.cpp │ │ ├── TestRtpEncodingParameters.cpp │ │ ├── TestSeqManager.cpp │ │ ├── TestSimpleConsumer.cpp │ │ ├── TestTransportCongestionControlServer.cpp │ │ ├── TestTransportTuple.cpp │ │ └── TestTrendCalculator.cpp │ ├── Utils/ │ │ ├── TestBits.cpp │ │ ├── TestByte.cpp │ │ ├── TestCrypto.cpp │ │ ├── TestIP.cpp │ │ ├── TestNumber.cpp │ │ ├── TestString.cpp │ │ ├── TestTime.cpp │ │ └── TestUnwrappedSequenceNumber.cpp │ ├── testHelpers.cpp │ └── tests.cpp └── ubsan_suppressions.txt