diff --git a/audio/channel_send.cc b/audio/channel_send.cc index d4266c2bc5..e8360cb4a1 100644 --- a/audio/channel_send.cc +++ b/audio/channel_send.cc @@ -495,15 +495,6 @@ int32_t ChannelSend::SendRtpAudio(AudioFrameType frameType, uint8_t payloadType, uint32_t timeStamp, rtc::ArrayView payload) { - if (payload.empty()) { - if (frameType == AudioFrameType::kEmptyFrame) { - // we don't send empty audio RTP packets - // no error since we use it to drive DTMF when we use VAD - return 0; - } - return -1; - } - if (_includeAudioLevelIndication) { // Store current audio level in the RTP sender. // The level will be used in combination with voice-activity state diff --git a/modules/rtp_rtcp/source/rtp_sender_audio.cc b/modules/rtp_rtcp/source/rtp_sender_audio.cc index 168f2061f4..86026ffd92 100644 --- a/modules/rtp_rtcp/source/rtp_sender_audio.cc +++ b/modules/rtp_rtcp/source/rtp_sender_audio.cc @@ -221,6 +221,14 @@ bool RTPSenderAudio::SendAudio(AudioFrameType frame_type, } return true; } + if (payload_size == 0 || payload_data == NULL) { + if (frame_type == AudioFrameType::kEmptyFrame) { + // we don't send empty audio RTP packets + // no error since we use it to drive DTMF when we use VAD + return true; + } + return false; + } std::unique_ptr packet = rtp_sender_->AllocatePacket(); packet->SetMarker(MarkerBit(frame_type, payload_type));