1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pub mod track_local;
pub mod track_remote;
use track_remote::*;
use interceptor::stream_info::StreamInfo;
use interceptor::{RTCPReader, RTPReader};
use std::sync::Arc;
pub(crate) const RTP_OUTBOUND_MTU: usize = 1200;
pub(crate) const RTP_PAYLOAD_TYPE_BITMASK: u8 = 0x7F;
#[derive(Clone)]
pub(crate) struct TrackStream {
pub(crate) stream_info: Option<StreamInfo>,
pub(crate) rtp_read_stream: Option<Arc<srtp::stream::Stream>>,
pub(crate) rtp_interceptor: Option<Arc<dyn RTPReader + Send + Sync>>,
pub(crate) rtcp_read_stream: Option<Arc<srtp::stream::Stream>>,
pub(crate) rtcp_interceptor: Option<Arc<dyn RTCPReader + Send + Sync>>,
}
#[derive(Clone)]
pub(crate) struct TrackStreams {
pub(crate) track: Arc<TrackRemote>,
pub(crate) stream: TrackStream,
pub(crate) repair_stream: TrackStream,
}