Commit 9dca064c authored by dalecurtis@google.com's avatar dalecurtis@google.com

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
parent 4e38f7d2
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include "base/basictypes.h" #include "base/basictypes.h"
#include "base/debug/trace_event.h" #include "base/debug/trace_event.h"
#include "base/logging.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_io.h"
#include "media/audio/audio_util.h" #include "media/audio/audio_util.h"
#include "media/audio/win/audio_manager_win.h" #include "media/audio/win/audio_manager_win.h"
...@@ -108,6 +110,11 @@ PCMWaveOutAudioOutputStream::PCMWaveOutAudioOutputStream( ...@@ -108,6 +110,11 @@ PCMWaveOutAudioOutputStream::PCMWaveOutAudioOutputStream(
} }
format_.SubFormat = KSDATAFORMAT_SUBTYPE_PCM; format_.SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
format_.Samples.wValidBitsPerSample = params.bits_per_sample(); 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() { PCMWaveOutAudioOutputStream::~PCMWaveOutAudioOutputStream() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment