跟AudioRtpSender 相似, AudioRtpReceiver是连接AudioTrack跟WebRtcSession的纽带. 不过方向却是相反的, 在AudioRtpReceiver里, Source 是 WebRtcSession. 看代码:
AudioRtpReceiver::AudioRtpReceiver(MediaStreamInterface* stream,
const std::string& track_id,
uint32_t ssrc,
AudioProviderInterface* provider)
: id_(track_id),
ssrc_(ssrc),
provider_(provider),
track_(AudioTrackProxy::Create(
rtc::Thread::Current(),
AudioTrack::Create(track_id,
RemoteAudioSource::Create(ssrc, provider)))),

AudioRtpReceiver是WebRTC中连接AudioTrack和WebRtcSession的关键组件,它反向工作,从WebRtcSession接收音频数据。构造时,通过provider创建RemoteAudioSource,该源处理网络接收、RTP解包和音频解码,然后将此源用于AudioTrack的构建。这使得AudioTrack可以作为Local或Remote使用,区别在于其音频源。RemoteAudioTrack的创建发生在设置远程会话描述时,当检测到需要传输的媒体数据时。
最低0.47元/天 解锁文章
1156

被折叠的 条评论
为什么被折叠?



