1#[cfg(target_os = "android")]
16pub mod android;
17pub mod apm;
18pub mod audio_mixer;
19pub mod audio_resampler;
20pub mod audio_track;
21pub mod candidate;
22pub mod data_channel;
23#[cfg(any(target_os = "macos", target_os = "windows", target_os = "linux"))]
24pub mod desktop_capturer;
25pub mod frame_cryptor;
26pub mod helper;
27pub mod jsep;
28pub mod media_stream;
29pub mod media_stream_track;
30pub mod packet_trailer;
31pub mod peer_connection;
32pub mod peer_connection_factory;
33pub mod prohibit_libsrtp_initialization;
34pub mod rtc_error;
35pub mod rtp_parameters;
36pub mod rtp_receiver;
37pub mod rtp_sender;
38pub mod rtp_transceiver;
39pub mod video_frame;
40pub mod video_frame_buffer;
41pub mod video_track;
42pub mod webrtc;
43pub mod yuv_helper;
44
45pub const MEDIA_TYPE_VIDEO: &str = "video";
46pub const MEDIA_TYPE_AUDIO: &str = "audio";
47pub const MEDIA_TYPE_DATA: &str = "data";
48
49macro_rules! impl_thread_safety {
50 ($obj:ty, Send) => {
51 unsafe impl Send for $obj {}
52 };
53
54 ($obj:ty, Send + Sync) => {
55 unsafe impl Send for $obj {}
56 unsafe impl Sync for $obj {}
57 };
58}
59
60pub(crate) use impl_thread_safety;