WebRTC audio采集、编码、发送

时间:2015-05-18 23:09:32   收藏:0   阅读:881

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

 

原文:http://blog.csdn.net/u014338577/article/details/45825381

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!