summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/media/audio_sync_reader.h
diff options
context:
space:
mode:
authorenal@chromium.org <enal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-15 02:35:48 +0000
committerenal@chromium.org <enal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-15 02:35:48 +0000
commitcc2e7541eff6b7155d444bdec2d0f0aae6eadedd (patch)
treedbc97db24bd1f3124903cd292c794013c8257984 /content/browser/renderer_host/media/audio_sync_reader.h
parentd6eaa3fb36a5940e0f196e024cacb42f278c6b5c (diff)
downloadchromium_src-cc2e7541eff6b7155d444bdec2d0f0aae6eadedd.zip
chromium_src-cc2e7541eff6b7155d444bdec2d0f0aae6eadedd.tar.gz
chromium_src-cc2e7541eff6b7155d444bdec2d0f0aae6eadedd.tar.bz2
Windows-only change -- issue is worst on Windows because of pre-buffering. On Linux problem is much milder, and on Mac we cannot yield high-priority audio thread...
Very short-term change: while working on proper long-term solution, workaround for race condition that causes clicks and bad audio stream. Yield if reader was called too quickly after previous call, as there are good chances renderer thread did not fill the buffer yet. BUG=http://code.google.com/p/chromium/issues/detail?id=61022 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=99236 Review URL: http://codereview.chromium.org/7755001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101231 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/media/audio_sync_reader.h')
-rw-r--r--content/browser/renderer_host/media/audio_sync_reader.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/content/browser/renderer_host/media/audio_sync_reader.h b/content/browser/renderer_host/media/audio_sync_reader.h
index acb064d..ad27b86 100644
--- a/content/browser/renderer_host/media/audio_sync_reader.h
+++ b/content/browser/renderer_host/media/audio_sync_reader.h
@@ -9,6 +9,7 @@
#include "base/file_descriptor_posix.h"
#include "base/process.h"
#include "base/sync_socket.h"
+#include "base/time.h"
#include "media/audio/audio_output_controller.h"
namespace base {
@@ -40,6 +41,7 @@ class AudioSyncReader : public media::AudioOutputController::SyncReader {
private:
base::SharedMemory* shared_memory_;
+ base::Time previous_call_time_;
// A pair of SyncSocket for transmitting audio data.
scoped_ptr<base::SyncSocket> socket_;