@@ -32,7 +32,7 @@ use std::sync::Arc;
3232use std:: time:: { Duration , Instant } ;
3333
3434/// Capacity of the internal driver message channel (WriteNotify, IceGathering, Close, …).
35- pub ( crate ) const MESSAGE_INNER_CHANNEL_CAPACITY : usize = 64 ;
35+ pub ( crate ) const MESSAGE_INNER_CHANNEL_CAPACITY : usize = 256 ;
3636
3737/// Capacity of each data-channel event channel (OnOpen, OnMessage, OnClose, …).
3838pub ( crate ) const DATA_CHANNEL_EVENT_CHANNEL_CAPACITY : usize = 256 ;
@@ -410,7 +410,12 @@ where
410410 if let Some ( track) = track {
411411 let ( evt_tx, evt_rx) = channel ( TRACK_REMOTE_EVENT_CHANNEL_CAPACITY ) ;
412412 let track_remote: Arc < dyn TrackRemote > =
413- Arc :: new ( TrackRemoteStaticRTP :: new ( track, evt_rx) ) ;
413+ Arc :: new ( TrackRemoteStaticRTP :: new (
414+ track,
415+ init. receiver_id ,
416+ self . inner . msg_tx . clone ( ) ,
417+ evt_rx,
418+ ) ) ;
414419
415420 {
416421 let mut rtp_transceivers = self . inner . rtp_transceivers . lock ( ) . await ;
@@ -512,12 +517,17 @@ where
512517
513518 async fn handle_inner_message ( & mut self , msg : MessageInner ) -> bool {
514519 match msg {
515- /* MessageInner::SenderRtp(sender_id, packet) => {
520+ MessageInner :: SenderRtp ( sender_id, packet) => {
516521 let mut core = self . inner . core . lock ( ) . await ;
517522 if let Some ( mut sender) = core. rtp_sender ( sender_id) {
518523 if let Err ( err) = sender. write_rtp ( packet) {
519524 error ! ( "Failed to send RTP: {}" , err) ;
520525 }
526+ } else {
527+ error ! (
528+ "Failed to send RTCP feedback due to unknown sender id {:?}" ,
529+ sender_id
530+ ) ;
521531 }
522532 }
523533 MessageInner :: SenderRtcp ( sender_id, rtcp_packets) => {
@@ -526,6 +536,11 @@ where
526536 if let Err ( err) = sender. write_rtcp ( rtcp_packets) {
527537 error ! ( "Failed to send RTCP: {}" , err) ;
528538 }
539+ } else {
540+ error ! (
541+ "Failed to send RTCP feedback due to unknown sender id {:?}" ,
542+ sender_id
543+ ) ;
529544 }
530545 }
531546 MessageInner :: ReceiverRtcp ( receiver_id, rtcp_packets) => {
@@ -534,8 +549,13 @@ where
534549 if let Err ( err) = receiver. write_rtcp ( rtcp_packets) {
535550 error ! ( "Failed to send RTCP feedback: {}" , err) ;
536551 }
552+ } else {
553+ error ! (
554+ "Failed to send RTCP feedback due to unknown receiver id {:?}" ,
555+ receiver_id
556+ ) ;
537557 }
538- }*/
558+ }
539559 MessageInner :: WriteNotify => {
540560 //Do nothing, just want to wake up from futures::select! in order to poll_write
541561 }
0 commit comments