Add a tracker for RTCRtpContributingSource and RTCRtpSynchronizationSource.

This change adds a new SourceTracker class that can do spec-compliant tracking of RTCRtpContributingSource and RTCRtpSynchronizationSource when frames are delivered to the RTCRtpReceiver's MediaStreamTrack for playout. It will replace the existing spec-incompliant ContributingSources.

Bug: webrtc:10545 webrtc:10668
Change-Id: I961adaba09d6337f2f36b301a4fabcd20de65271
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140948
Commit-Queue: Chen Xing <chxg@google.com>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28249}
This commit is contained in:
Chen Xing
2019-06-12 12:13:22 +02:00
committed by Commit Bot
parent da1c65fb53
commit 9c16af7eb7
4 changed files with 563 additions and 0 deletions

View File

@ -180,6 +180,8 @@ rtc_static_library("rtp_rtcp") {
"source/rtp_sequence_number_map.h",
"source/rtp_utility.cc",
"source/rtp_utility.h",
"source/source_tracker.cc",
"source/source_tracker.h",
"source/time_util.cc",
"source/time_util.h",
"source/tmmbr_help.cc",
@ -209,6 +211,7 @@ rtc_static_library("rtp_rtcp") {
"../../api:function_view",
"../../api:libjingle_peerconnection_api",
"../../api:rtp_headers",
"../../api:rtp_packet_info",
"../../api:scoped_refptr",
"../../api:transport_api",
"../../api/audio_codecs:audio_codecs_api",
@ -434,6 +437,7 @@ if (rtc_include_tests) {
"source/rtp_sender_video_unittest.cc",
"source/rtp_sequence_number_map_unittest.cc",
"source/rtp_utility_unittest.cc",
"source/source_tracker_unittest.cc",
"source/time_util_unittest.cc",
"source/ulpfec_generator_unittest.cc",
"source/ulpfec_header_reader_writer_unittest.cc",
@ -449,6 +453,8 @@ if (rtc_include_tests) {
"../..:webrtc_common",
"../../api:array_view",
"../../api:libjingle_peerconnection_api",
"../../api:rtp_headers",
"../../api:rtp_packet_info",
"../../api:scoped_refptr",
"../../api:transport_api",
"../../api/transport:field_trial_based_config",