aboutsummaryrefslogtreecommitdiff
path: root/webrtc/video_engine/vie_sync_module.cc
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-06-14 23:30:58 +0000
committerhclam@chromium.org <hclam@chromium.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-06-14 23:30:58 +0000
commit9b23ecb93992cfcf2797a85a0af1ac152ba7ff36 (patch)
tree44e63966864078c5560b7e0a2bc704913fcfd366 /webrtc/video_engine/vie_sync_module.cc
parent63e988856ee6fe5999980404c2567f3e2cf759da (diff)
downloadwebrtc-9b23ecb93992cfcf2797a85a0af1ac152ba7ff36.tar.gz
Log current and target AV delay in ViESyncModule
R=mikhal@webrtc.org, wu@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1668006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4229 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'webrtc/video_engine/vie_sync_module.cc')
-rw-r--r--webrtc/video_engine/vie_sync_module.cc39
1 files changed, 18 insertions, 21 deletions
diff --git a/webrtc/video_engine/vie_sync_module.cc b/webrtc/video_engine/vie_sync_module.cc
index 06d41965d8..488365d320 100644
--- a/webrtc/video_engine/vie_sync_module.cc
+++ b/webrtc/video_engine/vie_sync_module.cc
@@ -103,10 +103,9 @@ int32_t ViESyncModule::Process() {
CriticalSectionScoped cs(data_cs_.get());
last_sync_time_ = TickTime::Now();
- int total_video_delay_target_ms = vcm_->Delay();
+ const int current_video_delay_ms = vcm_->Delay();
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo, vie_channel_->Id(),
- "Video delay (JB + decoder) is %d ms",
- total_video_delay_target_ms);
+ "Video delay (JB + decoder) is %d ms", current_video_delay_ms);
if (voe_channel_id_ == -1) {
return 0;
@@ -126,6 +125,8 @@ int32_t ViESyncModule::Process() {
__FUNCTION__, voe_channel_id_);
return 0;
}
+ const int current_audio_delay_ms = audio_jitter_buffer_delay_ms +
+ playout_buffer_delay_ms;
RtpRtcp* voice_rtp_rtcp = NULL;
if (0 != voe_sync_interface_->GetRtpRtcp(voe_channel_id_, voice_rtp_rtcp)) {
@@ -148,35 +149,31 @@ int32_t ViESyncModule::Process() {
return 0;
}
- TRACE_COUNTER1("webrtc", "SyncCurrentVideoDelay",
- total_video_delay_target_ms);
- TRACE_COUNTER1("webrtc", "SyncCurrentAudioDelay",
- audio_jitter_buffer_delay_ms);
+ TRACE_COUNTER1("webrtc", "SyncCurrentVideoDelay", current_video_delay_ms);
+ TRACE_COUNTER1("webrtc", "SyncCurrentAudioDelay", current_audio_delay_ms);
TRACE_COUNTER1("webrtc", "SyncRelativeDelay", relative_delay_ms);
- int total_audio_delay_target_ms = 0;
+ int target_audio_delay_ms = 0;
+ int target_video_delay_ms = 0;
// Calculate the necessary extra audio delay and desired total video
// delay to get the streams in sync.
- int current_audio_delay = audio_jitter_buffer_delay_ms +
- playout_buffer_delay_ms;
if (!sync_->ComputeDelays(relative_delay_ms,
- current_audio_delay,
- &total_audio_delay_target_ms,
- &total_video_delay_target_ms)) {
+ current_audio_delay_ms,
+ &target_audio_delay_ms,
+ &target_video_delay_ms)) {
return 0;
}
- TRACE_COUNTER1("webrtc", "SyncTotalAudioDelayTarget",
- total_audio_delay_target_ms);
- TRACE_COUNTER1("webrtc", "SyncTotalVideoDelayTarget",
- total_video_delay_target_ms);
+ WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo, vie_channel_->Id(),
+ "Set delay current(a=%d v=%d rel=%d) target(a=%d v=%d)",
+ current_audio_delay_ms, current_video_delay_ms,
+ relative_delay_ms,
+ target_audio_delay_ms, target_video_delay_ms);
if (voe_sync_interface_->SetMinimumPlayoutDelay(
- voe_channel_id_, total_audio_delay_target_ms) == -1) {
+ voe_channel_id_, target_audio_delay_ms) == -1) {
WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVideo, vie_channel_->Id(),
"Error setting voice delay");
}
- vcm_->SetMinimumPlayoutDelay(total_video_delay_target_ms);
- WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo, vie_channel_->Id(),
- "New Video delay target is: %d", total_video_delay_target_ms);
+ vcm_->SetMinimumPlayoutDelay(target_video_delay_ms);
return 0;
}