diff options
author | dalecurtis@google.com <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-04 02:59:52 +0000 |
---|---|---|
committer | dalecurtis@google.com <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-04 02:59:52 +0000 |
commit | 9dca064cd55041e8b8f7f52634b00aa73f9c1e4a (patch) | |
tree | c2eabcd5c0ca9a086fcc992af63358f2c443edc0 /media/audio/win/waveout_output_win.cc | |
parent | 4e38f7d22d2fa610912e001f4f0f42fea8800cca (diff) | |
download | chromium_src-9dca064cd55041e8b8f7f52634b00aa73f9c1e4a.zip chromium_src-9dca064cd55041e8b8f7f52634b00aa73f9c1e4a.tar.gz chromium_src-9dca064cd55041e8b8f7f52634b00aa73f9c1e4a.tar.bz2 |
Boost WaveOut thread priority for background audio.
XP seems to be lowering the priority of the thread responding to
audio callbacks when backgrounded, causing glitching.
BUG=161307
TEST=background playback on XP works without issue.
Review URL: https://codereview.chromium.org/11316284
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170870 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio/win/waveout_output_win.cc')
-rw-r--r-- | media/audio/win/waveout_output_win.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/media/audio/win/waveout_output_win.cc b/media/audio/win/waveout_output_win.cc index f18b2fa..48f41e1 100644 --- a/media/audio/win/waveout_output_win.cc +++ b/media/audio/win/waveout_output_win.cc @@ -11,6 +11,8 @@ #include "base/basictypes.h" #include "base/debug/trace_event.h" #include "base/logging.h" +#include "base/message_loop_proxy.h" +#include "base/threading/platform_thread.h" #include "media/audio/audio_io.h" #include "media/audio/audio_util.h" #include "media/audio/win/audio_manager_win.h" @@ -108,6 +110,11 @@ PCMWaveOutAudioOutputStream::PCMWaveOutAudioOutputStream( } format_.SubFormat = KSDATAFORMAT_SUBTYPE_PCM; format_.Samples.wValidBitsPerSample = params.bits_per_sample(); + + // Boost thread priority. Required for glitch free background audio. + DCHECK(manager_->GetMessageLoop()->BelongsToCurrentThread()); + base::PlatformThread::SetThreadPriority( + GetCurrentThread(), base::kThreadPriority_RealtimeAudio); } PCMWaveOutAudioOutputStream::~PCMWaveOutAudioOutputStream() { |