Update RTCStatsCollector to work with RtpTransceivers

Bug: webrtc:8764
Change-Id: I8b442345869eb6d8b65fd12241ed7cb6e7d7ce3d
Reviewed-on: https://webrtc-review.googlesource.com/49580
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22026}
This commit is contained in:
Steve Anton
2018-02-14 16:07:42 -08:00
committed by Commit Bot
parent ae8a90a1d4
commit 56bae8ded3
24 changed files with 693 additions and 479 deletions

View File

@ -30,8 +30,8 @@ const V* FindAddressOrNull(const std::map<K, V>& map, const K& key) {
}
void GetAudioAndVideoTrackBySsrc(
const std::vector<rtc::scoped_refptr<RtpSenderInterface>>& rtp_senders,
const std::vector<rtc::scoped_refptr<RtpReceiverInterface>>& rtp_receivers,
const std::vector<rtc::scoped_refptr<RtpSenderInternal>>& rtp_senders,
const std::vector<rtc::scoped_refptr<RtpReceiverInternal>>& rtp_receivers,
std::map<uint32_t, AudioTrackInterface*>* local_audio_track_by_ssrc,
std::map<uint32_t, VideoTrackInterface*>* local_video_track_by_ssrc,
std::map<uint32_t, AudioTrackInterface*>* remote_audio_track_by_ssrc,
@ -47,7 +47,7 @@ void GetAudioAndVideoTrackBySsrc(
// means one thread jump if on signaling thread and two thread jumps if on any
// other threads). Is there a way to avoid thread jump(s) on a per
// sender/receiver, per method basis?
for (const rtc::scoped_refptr<RtpSenderInterface>& rtp_sender : rtp_senders) {
for (auto rtp_sender : rtp_senders) {
cricket::MediaType media_type = rtp_sender->media_type();
MediaStreamTrackInterface* track = rtp_sender->track();
if (!track) {
@ -72,8 +72,7 @@ void GetAudioAndVideoTrackBySsrc(
}
}
}
for (const rtc::scoped_refptr<RtpReceiverInterface>& rtp_receiver :
rtp_receivers) {
for (auto rtp_receiver : rtp_receivers) {
cricket::MediaType media_type = rtp_receiver->media_type();
MediaStreamTrackInterface* track = rtp_receiver->track();
RTC_DCHECK(track);
@ -111,8 +110,8 @@ void GetAudioAndVideoTrackBySsrc(
TrackMediaInfoMap::TrackMediaInfoMap(
std::unique_ptr<cricket::VoiceMediaInfo> voice_media_info,
std::unique_ptr<cricket::VideoMediaInfo> video_media_info,
const std::vector<rtc::scoped_refptr<RtpSenderInterface>>& rtp_senders,
const std::vector<rtc::scoped_refptr<RtpReceiverInterface>>& rtp_receivers)
const std::vector<rtc::scoped_refptr<RtpSenderInternal>>& rtp_senders,
const std::vector<rtc::scoped_refptr<RtpReceiverInternal>>& rtp_receivers)
: voice_media_info_(std::move(voice_media_info)),
video_media_info_(std::move(video_media_info)) {
std::map<uint32_t, AudioTrackInterface*> local_audio_track_by_ssrc;
@ -127,10 +126,10 @@ TrackMediaInfoMap::TrackMediaInfoMap(
&remote_video_track_by_ssrc, &unsignaled_audio_track,
&unsignaled_video_track);
for (auto& sender : rtp_senders) {
for (auto sender : rtp_senders) {
attachment_id_by_track_[sender->track()] = sender->AttachmentId();
}
for (auto& receiver : rtp_receivers) {
for (auto receiver : rtp_receivers) {
attachment_id_by_track_[receiver->track()] = receiver->AttachmentId();
}