summaryrefslogtreecommitdiffstats
path: root/include/media/AudioTrack.h
diff options
context:
space:
mode:
authorPaul McLean <pmclean@google.com>2015-03-21 09:55:15 -0700
committerPaul McLean <pmclean@google.com>2015-04-08 09:51:07 -0700
commitaa9811945f575614b3482d09e4d969792701cebb (patch)
tree1744aa567efe78c3062ec80da19277d96def0725 /include/media/AudioTrack.h
parent41efeb2b477066d96ad34a048f34fb6fb34213ec (diff)
downloadframeworks_av-aa9811945f575614b3482d09e4d969792701cebb.zip
frameworks_av-aa9811945f575614b3482d09e4d969792701cebb.tar.gz
frameworks_av-aa9811945f575614b3482d09e4d969792701cebb.tar.bz2
Adding explicit routing API to AudioTrack
Change-Id: I40c048c7644c46f4e4f7103875206c0785c4b1dc
Diffstat (limited to 'include/media/AudioTrack.h')
-rw-r--r--include/media/AudioTrack.h24
1 files changed, 24 insertions, 0 deletions
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: