diff --git a/webrtc/src/rtp_transceiver/rtp_receiver/mod.rs b/webrtc/src/rtp_transceiver/rtp_receiver/mod.rs index 18dfcecfb..475c1fd38 100644 --- a/webrtc/src/rtp_transceiver/rtp_receiver/mod.rs +++ b/webrtc/src/rtp_transceiver/rtp_receiver/mod.rs @@ -401,8 +401,6 @@ impl RTPReceiverInternal { /// [W3C]: https://w3c.github.io/webrtc-pc/#rtcrtpreceiver-interface pub struct RTCRtpReceiver { receive_mtu: usize, - kind: RTPCodecType, - transport: Arc, pub internal: Arc, } @@ -410,7 +408,7 @@ pub struct RTCRtpReceiver { impl std::fmt::Debug for RTCRtpReceiver { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("RTCRtpReceiver") - .field("kind", &self.kind) + .field("kind", &self.internal.kind) .finish() } } @@ -427,8 +425,6 @@ impl RTCRtpReceiver { RTCRtpReceiver { receive_mtu, - kind, - transport: Arc::clone(&transport), internal: Arc::new(RTPReceiverInternal { kind, @@ -447,7 +443,7 @@ impl RTCRtpReceiver { } pub fn kind(&self) -> RTPCodecType { - self.kind + self.internal.kind } pub(crate) fn set_transceiver_codecs( @@ -460,7 +456,7 @@ impl RTCRtpReceiver { /// transport returns the currently-configured *DTLSTransport or nil /// if one has not yet been configured pub fn transport(&self) -> Arc { - Arc::clone(&self.transport) + Arc::clone(&self.internal.transport) } /// get_parameters describes the current configuration for the encoding and @@ -539,7 +535,8 @@ impl RTCRtpReceiver { &global_params.header_extensions, ); let (rtp_read_stream, rtp_interceptor, rtcp_read_stream, rtcp_interceptor) = - self.transport + self.internal + .transport .streams_for_ssrc(encoding.ssrc, &stream_info, &interceptor) .await?; @@ -557,7 +554,7 @@ impl RTCRtpReceiver { let t = TrackStreams { track: Arc::new(TrackRemote::new( self.receive_mtu, - self.kind, + self.internal.kind, encoding.ssrc, encoding.rid.clone(), receiver.clone(), @@ -596,6 +593,7 @@ impl RTCRtpReceiver { &global_params.header_extensions, ); let (rtp_read_stream, rtp_interceptor, rtcp_read_stream, rtcp_interceptor) = self + .internal .transport .streams_for_ssrc(rtx_ssrc, &stream_info, &interceptor) .await?; @@ -766,7 +764,7 @@ impl RTCRtpReceiver { let mut tracks = self.internal.tracks.write().await; for t in &mut *tracks { if *t.track.rid() == rid { - t.track.set_kind(self.kind); + t.track.set_kind(self.internal.kind); if let Some(codec) = params.codecs.first() { t.track.set_codec(codec.clone()); }