From 601fedfd7624ca7ae29bf1fdfc03b671c4ef6c71 Mon Sep 17 00:00:00 2001 From: dijunkun Date: Mon, 6 Jan 2025 17:18:49 +0800 Subject: [PATCH] [fix] fix inbound rtp statistics --- src/channel/audio_channel_receive.cpp | 6 ++++-- src/channel/data_channel_receive.cpp | 6 ++++-- src/channel/video_channel_receive.cpp | 8 +++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/channel/audio_channel_receive.cpp b/src/channel/audio_channel_receive.cpp index cbc3ce0..13d082c 100644 --- a/src/channel/audio_channel_receive.cpp +++ b/src/channel/audio_channel_receive.cpp @@ -20,8 +20,6 @@ void AudioChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { rtp_audio_receiver_->SetOnReceiveData( [this](const char *data, size_t size) -> void { - ice_io_statistics_->UpdateAudioInboundBytes((uint32_t)size); - if (on_receive_audio_) { on_receive_audio_(data, size); } @@ -51,6 +49,10 @@ void AudioChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { void AudioChannelReceive::Destroy() {} int AudioChannelReceive::OnReceiveRtpPacket(const char *data, size_t size) { + if (ice_io_statistics_) { + ice_io_statistics_->UpdateAudioInboundBytes((uint32_t)size); + } + if (rtp_audio_receiver_) { rtp_audio_receiver_->InsertRtpPacket(RtpPacket((uint8_t *)data, size)); } diff --git a/src/channel/data_channel_receive.cpp b/src/channel/data_channel_receive.cpp index 92e7d09..9edfa07 100644 --- a/src/channel/data_channel_receive.cpp +++ b/src/channel/data_channel_receive.cpp @@ -21,8 +21,6 @@ void DataChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { rtp_data_receiver_->SetOnReceiveData( [this](const char *data, size_t size) -> void { - ice_io_statistics_->UpdateDataInboundBytes((uint32_t)size); - if (on_receive_data_) { on_receive_data_(data, size); } @@ -52,6 +50,10 @@ void DataChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { void DataChannelReceive::Destroy() {} int DataChannelReceive::OnReceiveRtpPacket(const char *data, size_t size) { + if (ice_io_statistics_) { + ice_io_statistics_->UpdateDataInboundBytes((uint32_t)size); + } + if (rtp_data_receiver_) { rtp_data_receiver_->InsertRtpPacket(RtpPacket((uint8_t *)data, size)); } diff --git a/src/channel/video_channel_receive.cpp b/src/channel/video_channel_receive.cpp index dec76f7..82e4e0c 100644 --- a/src/channel/video_channel_receive.cpp +++ b/src/channel/video_channel_receive.cpp @@ -20,8 +20,6 @@ void VideoChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { rtp_video_receiver_->SetOnReceiveCompleteFrame( [this](VideoFrame &video_frame) -> void { - ice_io_statistics_->UpdateVideoInboundBytes( - (uint32_t)video_frame.Size()); on_receive_complete_frame_(video_frame); }); @@ -41,7 +39,7 @@ void VideoChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { return -2; } - ice_io_statistics_->UpdateVideoInboundBytes((uint32_t)size); + ice_io_statistics_->UpdateVideoOutboundBytes((uint32_t)size); return ice_agent_->Send(data, size); }); @@ -51,6 +49,10 @@ void VideoChannelReceive::Initialize(RtpPacket::PAYLOAD_TYPE payload_type) { void VideoChannelReceive::Destroy() {} int VideoChannelReceive::OnReceiveRtpPacket(const char *data, size_t size) { + if (ice_io_statistics_) { + ice_io_statistics_->UpdateVideoInboundBytes((uint32_t)size); + } + if (rtp_video_receiver_) { rtp_video_receiver_->InsertRtpPacket(RtpPacket((uint8_t *)data, size)); }