// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_ #define EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_ #include <map> #include <string> #include "base/memory/raw_ptr.h" namespace content { class BrowserContext; } namespace extensions { // Helper class used to translate stable device IDs provided by audio service // to stable ID values exposable to apps using chrome.audio API. // Problem with stable device IDs provided by audio service is that they can be // globally unique for audio devices and thus can be used by apps to identify a // particular device. |AudioDeviceCalculator| provides stable mapping (saved in // user prefs) from potentially globally unique ID to an ordinal ID (devices are // assigned IDs incrementally, as they are added to the mapping) scoped to a // browser context. class AudioDeviceIdCalculator { … }; } // namespace extensions #endif // EXTENSIONS_BROWSER_API_AUDIO_AUDIO_DEVICE_ID_CALCULATOR_H_