o_sfu_core/engine/media_transport/rtc/
mod.rs1use std::{sync::Arc, time::Duration};
29
30use crate::{SessionBitrateLimits, VideoBitrateLimits};
31
32#[cfg(test)]
33#[allow(non_snake_case, reason = "test modules map to local TESTS directories")]
34mod TESTS;
35#[cfg(feature = "internal-benchmarks")]
36#[path = "TESTS/benchmark_support/mod.rs"]
37pub mod benchmark_support;
38mod bitrate;
39mod bootstrap;
40mod codec;
41mod commands;
42mod demux;
43mod forwarded_packet;
44mod forwarding_destination;
45mod forwarding_planner;
46#[cfg(any(test, fuzzing))]
47#[path = "TESTS/fuzz_support/mod.rs"]
48pub(crate) mod fuzz_support;
49mod keyframe_tracker;
50mod local_forwarding;
51mod local_send_rewrite;
52mod media_registry;
53mod packet_loop;
54mod relay_registry;
55mod route_control;
56mod route_table;
57mod routing_miss;
58mod slots;
59mod source_route;
60mod state;
61#[cfg(any(test, feature = "testing-transport", feature = "internal-benchmarks"))]
62#[path = "TESTS/test_support/mod.rs"]
63pub mod test_support;
64mod worker;
65
66pub(super) use codec::RtpProfile;
67#[cfg(any(test, fuzzing))]
68pub use codec::client_rtp_capabilities_from_answer;
69pub(super) use commands::{ParsedSessionAnswer, RtcSessionOffer};
70pub use commands::{
71 RtcWorkerCommand, RtcWorkerResponse, WorkerMediaControlBatch, WorkerMediaControlBatchOutcome,
72};
73#[cfg(any(test, feature = "testing-transport"))]
74pub use forwarded_packet::ForwardedPacket;
75pub(super) use route_control::PacketLayerGate;
76pub use worker::RtcWorker;
77
78#[derive(Clone, Debug)]
79struct RtcWorkerConfig {
80 bitrate_limits: SessionBitrateLimits,
81 video_bitrate_limits: VideoBitrateLimits,
82 profile: Arc<RtpProfile>,
83 media_quality_interval: Option<Duration>,
84 media_id_base: u64,
85}