| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 bool DelayedStreams(int audio_delay_ms, | 91 bool DelayedStreams(int audio_delay_ms, |
| 92 int video_delay_ms, | 92 int video_delay_ms, |
| 93 int current_audio_delay_ms, | 93 int current_audio_delay_ms, |
| 94 int* extra_audio_delay_ms, | 94 int* extra_audio_delay_ms, |
| 95 int* total_video_delay_ms) { | 95 int* total_video_delay_ms) { |
| 96 int audio_frequency = static_cast<int>(kDefaultAudioFrequency * | 96 int audio_frequency = static_cast<int>(kDefaultAudioFrequency * |
| 97 audio_clock_drift_ + 0.5); | 97 audio_clock_drift_ + 0.5); |
| 98 int audio_offset = 0; | 98 int audio_offset = 0; |
| 99 int video_frequency = static_cast<int>(kDefaultVideoFrequency * | 99 int video_frequency = static_cast<int>(kDefaultVideoFrequency * |
| 100 video_clock_drift_ + 0.5); | 100 video_clock_drift_ + 0.5); |
| 101 bool new_sr; |
| 101 int video_offset = 0; | 102 int video_offset = 0; |
| 102 StreamSynchronization::Measurements audio; | 103 StreamSynchronization::Measurements audio; |
| 103 StreamSynchronization::Measurements video; | 104 StreamSynchronization::Measurements video; |
| 104 // Generate NTP/RTP timestamp pair for both streams corresponding to RTCP. | 105 // Generate NTP/RTP timestamp pair for both streams corresponding to RTCP. |
| 105 audio.rtcp.push_front(send_time_->GenerateRtcp(audio_frequency, | 106 RtcpMeasurement rtcp = |
| 106 audio_offset)); | 107 send_time_->GenerateRtcp(audio_frequency, audio_offset); |
| 108 EXPECT_TRUE(UpdateRtcpList(rtcp.ntp_secs, rtcp.ntp_frac, rtcp.rtp_timestamp, |
| 109 &audio.rtcp, &new_sr)); |
| 107 send_time_->IncreaseTimeMs(100); | 110 send_time_->IncreaseTimeMs(100); |
| 108 receive_time_->IncreaseTimeMs(100); | 111 receive_time_->IncreaseTimeMs(100); |
| 109 video.rtcp.push_front(send_time_->GenerateRtcp(video_frequency, | 112 rtcp = send_time_->GenerateRtcp(video_frequency, video_offset); |
| 110 video_offset)); | 113 EXPECT_TRUE(UpdateRtcpList(rtcp.ntp_secs, rtcp.ntp_frac, rtcp.rtp_timestamp, |
| 114 &video.rtcp, &new_sr)); |
| 111 send_time_->IncreaseTimeMs(900); | 115 send_time_->IncreaseTimeMs(900); |
| 112 receive_time_->IncreaseTimeMs(900); | 116 receive_time_->IncreaseTimeMs(900); |
| 113 audio.rtcp.push_front(send_time_->GenerateRtcp(audio_frequency, | 117 rtcp = send_time_->GenerateRtcp(audio_frequency, audio_offset); |
| 114 audio_offset)); | 118 EXPECT_TRUE(UpdateRtcpList(rtcp.ntp_secs, rtcp.ntp_frac, rtcp.rtp_timestamp, |
| 119 &audio.rtcp, &new_sr)); |
| 115 send_time_->IncreaseTimeMs(100); | 120 send_time_->IncreaseTimeMs(100); |
| 116 receive_time_->IncreaseTimeMs(100); | 121 receive_time_->IncreaseTimeMs(100); |
| 117 video.rtcp.push_front(send_time_->GenerateRtcp(video_frequency, | 122 rtcp = send_time_->GenerateRtcp(video_frequency, video_offset); |
| 118 video_offset)); | 123 EXPECT_TRUE(UpdateRtcpList(rtcp.ntp_secs, rtcp.ntp_frac, rtcp.rtp_timestamp, |
| 124 &video.rtcp, &new_sr)); |
| 119 send_time_->IncreaseTimeMs(900); | 125 send_time_->IncreaseTimeMs(900); |
| 120 receive_time_->IncreaseTimeMs(900); | 126 receive_time_->IncreaseTimeMs(900); |
| 121 | 127 |
| 122 // Capture an audio and a video frame at the same time. | 128 // Capture an audio and a video frame at the same time. |
| 123 audio.latest_timestamp = send_time_->NowRtp(audio_frequency, | 129 audio.latest_timestamp = send_time_->NowRtp(audio_frequency, |
| 124 audio_offset); | 130 audio_offset); |
| 125 video.latest_timestamp = send_time_->NowRtp(video_frequency, | 131 video.latest_timestamp = send_time_->NowRtp(video_frequency, |
| 126 video_offset); | 132 video_offset); |
| 127 | 133 |
| 128 if (audio_delay_ms > video_delay_ms) { | 134 if (audio_delay_ms > video_delay_ms) { |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 554 | 560 |
| 555 TEST_F(StreamSynchronizationTest, | 561 TEST_F(StreamSynchronizationTest, |
| 556 BothDelayedVideoLaterVideoClockDriftWithBaseDelay) { | 562 BothDelayedVideoLaterVideoClockDriftWithBaseDelay) { |
| 557 int base_target_delay_ms = 2000; | 563 int base_target_delay_ms = 2000; |
| 558 video_clock_drift_ = 1.05; | 564 video_clock_drift_ = 1.05; |
| 559 sync_->SetTargetBufferingDelay(base_target_delay_ms); | 565 sync_->SetTargetBufferingDelay(base_target_delay_ms); |
| 560 BothDelayedVideoLaterTest(base_target_delay_ms); | 566 BothDelayedVideoLaterTest(base_target_delay_ms); |
| 561 } | 567 } |
| 562 | 568 |
| 563 } // namespace webrtc | 569 } // namespace webrtc |
| OLD | NEW |