Fixing integer underflow in FileAudioDevice (webrtc issue 4554)
Problem is described here:
https://code.google.com/p/webrtc/issues/detail?id=4554
Review URL: https://codereview.webrtc.org/1295603002
Cr-Commit-Position: refs/heads/master@{#11174}
diff --git a/AUTHORS b/AUTHORS
index c120acc..6f11ee6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -32,6 +32,7 @@
Steve Reid <sreid@sea-to-sky.net>
Vicken Simonian <vsimon@gmail.com>
Victor Costan <costan@gmail.com>
+Alexander Brauckmann <a.brauckmann@gmail.com>
&yet LLC
Agora IO
diff --git a/webrtc/modules/audio_device/dummy/file_audio_device.cc b/webrtc/modules/audio_device/dummy/file_audio_device.cc
index 3fff40b..ea432af 100644
--- a/webrtc/modules/audio_device/dummy/file_audio_device.cc
+++ b/webrtc/modules/audio_device/dummy/file_audio_device.cc
@@ -500,7 +500,12 @@
}
_playoutFramesLeft = 0;
_critSect.Leave();
- SleepMs(10 - (_clock->CurrentNtpInMilliseconds() - currentTime));
+
+ uint64_t deltaTimeMillis = _clock->CurrentNtpInMilliseconds() - currentTime;
+ if(deltaTimeMillis < 10) {
+ SleepMs(10 - deltaTimeMillis);
+ }
+
return true;
}
@@ -530,7 +535,12 @@
}
_critSect.Leave();
- SleepMs(10 - (_clock->CurrentNtpInMilliseconds() - currentTime));
+
+ uint64_t deltaTimeMillis = _clock->CurrentNtpInMilliseconds() - currentTime;
+ if(deltaTimeMillis < 10) {
+ SleepMs(10 - deltaTimeMillis);
+ }
+
return true;
}