WebRTC audio采集、编码、发送
AudioDeviceLinuxPulse::RecThreadProcess
AudioDeviceLinuxPulse::ProcessRecordedData
AudioDeviceLinuxPulse::ReadRecordedData
// Provide data to VoiceEngine
if (ProcessRecordedData(_recBuffer, numRecSamples, recDelay) == -1)
{
// We have stopped recording
return -1;
}
AudioDeviceBuffer::DeliverRecordedData
VoEBaseImpl::RecordedDataIsAvailable
VoEBaseImpl::ProcessRecordedDataWithAPM
VoEBaseImpl::ProcessRecordedDataWithAPM
TransmitMixer::PrepareDemux
TransmitMixer::GenerateAudioFrame
VoEBaseImpl::ProcessRecordedDataWithAPM
TransmitMixer::DemuxAndMix
Channel::Demultiplex
Channel::PrepareEncodeAndSend
TransmitMixer::EncodeAndSend
Channel::EncodeAndSend
AudioCodingModuleImpl::Add10MsData
// The ACM resamples internally.
_audioFrame.timestamp_ = _timeStamp;
if (audio_coding_->Add10MsData((AudioFrame&)_audioFrame) != 0)
{
WEBRTC_TRACE(kTraceError, kTraceVoice, VoEId(_instanceId,_channelId),
"Channel::EncodeAndSend() ACM encoding failed");
return -1;
}
AudioCodingModuleImpl::PreprocessToAddData
ACMGenericCodec::Add10MsDataSafe
ACMGenericCodec::Encode
AudioCodingModuleImpl::ProcessSingleStream
Channel::SendData
ModuleRtpRtcpImpl::SendOutgoingData
RTPSender::SendOutgoingData
RTPSender::BuildRTPheader
RTPSender::SendToNetwork
Channel::SendPacket
BaseChannel::SendPacket
P2PTransportChannel::SendPacket
AsyncUDPSocket::SendTo
PhysicalSocket: Sendto
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。