diff options
author | Paul McLean <pmclean@google.com> | 2015-04-08 17:08:01 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-08 17:08:01 +0000 |
commit | 6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15 (patch) | |
tree | 2ebe8fb3630e8e33baa66be39305df86eab83c7d /include/media | |
parent | e41b5f31148f9cfb7316295c900c7d3c695510b2 (diff) | |
parent | aa9811945f575614b3482d09e4d969792701cebb (diff) | |
download | frameworks_av-6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15.zip frameworks_av-6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15.tar.gz frameworks_av-6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15.tar.bz2 |
Merge "Adding explicit routing API to AudioTrack"
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/AudioSystem.h | 17 | ||||
-rw-r--r-- | include/media/AudioTrack.h | 24 | ||||
-rw-r--r-- | include/media/IAudioPolicyService.h | 1 |
3 files changed, 34 insertions, 8 deletions
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h index f5db1bb..3b6db8c 100644 --- a/include/media/AudioSystem.h +++ b/include/media/AudioSystem.h @@ -221,14 +221,15 @@ public: audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE, const audio_offload_info_t *offloadInfo = NULL); static status_t getOutputForAttr(const audio_attributes_t *attr, - audio_io_handle_t *output, - audio_session_t session, - audio_stream_type_t *stream, - uint32_t samplingRate = 0, - audio_format_t format = AUDIO_FORMAT_DEFAULT, - audio_channel_mask_t channelMask = AUDIO_CHANNEL_OUT_STEREO, - audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE, - const audio_offload_info_t *offloadInfo = NULL); + audio_io_handle_t *output, + audio_session_t session, + audio_stream_type_t *stream, + uint32_t samplingRate = 0, + audio_format_t format = AUDIO_FORMAT_DEFAULT, + audio_channel_mask_t channelMask = AUDIO_CHANNEL_OUT_STEREO, + audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE, + audio_port_handle_t selectedDeviceId = AUDIO_PORT_HANDLE_NONE, + const audio_offload_info_t *offloadInfo = NULL); static status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session); diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h index d9b7057..e7e0703 100644 --- a/include/media/AudioTrack.h +++ b/include/media/AudioTrack.h @@ -477,6 +477,26 @@ private: audio_io_handle_t getOutput() const; public: + /* Selects the audio device to use for output of this AudioTrack. A value of + * AUDIO_PORT_HANDLE_NONE indicates default (AudioPolicyManager) routing. + * + * Parameters: + * The device ID of the selected device (as returned by the AudioDevicesManager API). + * + * Returned value: + * - NO_ERROR: successful operation + * TODO: what else can happen here? + */ + status_t setOutputDevice(audio_port_handle_t deviceId); + + /* Returns the ID of the audio device used for output of this AudioTrack. + * A value of AUDIO_PORT_HANDLE_NONE indicates default (AudioPolicyManager) routing. + * + * Parameters: + * none. + */ + audio_port_handle_t getOutputDevice(); + /* Returns the unique session ID associated with this track. * * Parameters: @@ -817,6 +837,10 @@ protected: bool mInUnderrun; // whether track is currently in underrun state uint32_t mPausedPosition; + // For Device Selection API + // a value of AUDIO_PORT_HANDLE_NONE indicated default (AudioPolicyManager) routing. + int mSelectedDeviceId; + private: class DeathNotifier : public IBinder::DeathRecipient { public: diff --git a/include/media/IAudioPolicyService.h b/include/media/IAudioPolicyService.h index fecc6f1..7506153 100644 --- a/include/media/IAudioPolicyService.h +++ b/include/media/IAudioPolicyService.h @@ -66,6 +66,7 @@ public: audio_format_t format = AUDIO_FORMAT_DEFAULT, audio_channel_mask_t channelMask = 0, audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE, + audio_port_handle_t selectedDeviceId = AUDIO_PORT_HANDLE_NONE, const audio_offload_info_t *offloadInfo = NULL) = 0; virtual status_t startOutput(audio_io_handle_t output, audio_stream_type_t stream, |