summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy/AudioPolicyInterface.h
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-05-20 10:48:17 -0700
committerEric Laurent <elaurent@google.com>2014-05-28 14:29:47 -0700
commit951f455566775e5f01e67c5ee26863d7d19209d7 (patch)
tree39fc248f74f7585b7108c0cb00e2d36d22b3e1b7 /services/audiopolicy/AudioPolicyInterface.h
parent1cda6afaf6207a41303e653a6ecd7909d73186eb (diff)
downloadframeworks_av-951f455566775e5f01e67c5ee26863d7d19209d7.zip
frameworks_av-951f455566775e5f01e67c5ee26863d7d19209d7.tar.gz
frameworks_av-951f455566775e5f01e67c5ee26863d7d19209d7.tar.bz2
DO NOT MERGE - audioflinger: first patch panel implementation.
Added a new PatchPanel subclass to AudioFlinger to handle audio ports and audio patches configuration and connection. The first implementation does not add new functionnality. AudioPolicyManager uses patch panel interface to control device routing. AudioFlinger: - Added PatchPanel class. The first implementation does not add new functionnality. PatchPanel handles routing commands for audio HAL after 3.0 or converts to setParameters for audio HALs before 3.0. - Added config events to ThreadBase to control synchronized audio patch connection. AudioPolicyManager: - Use PatchPanel API to control device selection isntead of setParameters. - New base class AudioPort common to audio device descriptors and input output stream profiles. This class is RefBase and groups attributes common to audio ports. - Use same device selection flow for input as for outputs: getNewInputDevice -> getDeviceForInptusiource -> setInputDevice Change-Id: Idaa5a883b19a45816651c58cac697640dc717cd9
Diffstat (limited to 'services/audiopolicy/AudioPolicyInterface.h')
-rw-r--r--services/audiopolicy/AudioPolicyInterface.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/audiopolicy/AudioPolicyInterface.h b/services/audiopolicy/AudioPolicyInterface.h
index 66260e3..bb2deb6 100644
--- a/services/audiopolicy/AudioPolicyInterface.h
+++ b/services/audiopolicy/AudioPolicyInterface.h
@@ -246,6 +246,15 @@ public:
audio_io_handle_t srcOutput,
audio_io_handle_t dstOutput) = 0;
+ /* Create a patch between several source and sink ports */
+ virtual status_t createAudioPatch(const struct audio_patch *patch,
+ audio_patch_handle_t *handle,
+ int delayMs) = 0;
+
+ /* Release a patch */
+ virtual status_t releaseAudioPatch(audio_patch_handle_t handle,
+ int delayMs) = 0;
+
};
extern "C" AudioPolicyInterface* createAudioPolicyManager(AudioPolicyClientInterface *clientInterface);