18c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi/* 28c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * Copyright (C) 2016 The Android Open Source Project 38c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * 48c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * Licensed under the Apache License, Version 2.0 (the "License"); 58c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * you may not use this file except in compliance with the License. 68c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * You may obtain a copy of the License at 78c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * 88c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * http://www.apache.org/licenses/LICENSE-2.0 98c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * 108c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * Unless required by applicable law or agreed to in writing, software 118c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * distributed under the License is distributed on an "AS IS" BASIS, 128c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * See the License for the specific language governing permissions and 148c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * limitations under the License. 158c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi */ 168c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 178c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi#pragma once 188c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 198c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivinamespace android { 208c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 218c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi/** 228c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * Interface for input descriptors to implement so dependent audio sessions can query information 238c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi * about their context 248c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi */ 258c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Triviclass AudioSessionInfoProvider 268c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi{ 278c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivipublic: 288c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi virtual ~AudioSessionInfoProvider() {}; 298c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 308c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi virtual audio_config_base_t getConfig() const = 0; 318c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 328c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi virtual audio_patch_handle_t getPatchHandle() const = 0; 338c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 348c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi}; 358c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 368c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Triviclass AudioSessionInfoUpdateListener 378c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi{ 388c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivipublic: 398c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi virtual ~AudioSessionInfoUpdateListener() {}; 408c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 418c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi virtual void onSessionInfoUpdate() const = 0;; 428c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi}; 438c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi 448c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972Jean-Michel Trivi} // namespace android 45