blob: d231e8f0f29aa0fd2ba67605d5296c31e1c724bc [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "media/audio/audio_features.h"
#include "base/feature_list.h"
#include "build/chromeos_buildflags.h"
namespace features {
// When the audio service in a separate process, kill it when a hang is
// detected. It will be restarted when needed.
const base::Feature kAudioServiceOutOfProcessKillAtHang{
"AudioServiceOutOfProcessKillAtHang",
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
defined(OS_CHROMEOS)
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
};
// If enabled, base::DumpWithoutCrashing is called whenever an audio service
// hang is detected.
const base::Feature kDumpOnAudioServiceHang{"DumpOnAudioServiceHang",
base::FEATURE_DISABLED_BY_DEFAULT};
#if defined(OS_ANDROID)
// Enables loading and using AAudio instead of OpenSLES on compatible devices,
// for audio output streams.
const base::Feature kUseAAudioDriver{"UseAAudioDriver",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
const base::Feature kCrOSSystemAEC{"CrOSSystemAEC",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCrOSSystemAECDeactivatedGroups{
"CrOSSystemAECDeactivatedGroups", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
#if defined(OS_MAC) || BUILDFLAG(IS_CHROMEOS_ASH)
const base::Feature kForceEnableSystemAec{"ForceEnableSystemAec",
base::FEATURE_DISABLED_BY_DEFAULT};
#endif
#if defined(OS_WIN)
const base::Feature kAllowIAudioClient3{"AllowIAudioClient3",
base::FEATURE_ENABLED_BY_DEFAULT};
#endif
} // namespace features