summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/media/AudioSystem.h12
-rw-r--r--include/media/IAudioFlinger.h2
-rw-r--r--media/libmedia/AudioRecord.cpp2
-rw-r--r--media/libmedia/AudioSystem.cpp6
-rw-r--r--media/libmedia/IAudioFlinger.cpp6
-rw-r--r--media/libmedia/mediaplayer.cpp2
-rw-r--r--services/audioflinger/AudioFlinger.cpp2
-rw-r--r--services/audioflinger/AudioFlinger.h2
-rw-r--r--services/audiopolicy/AudioPolicyClientImpl.cpp5
-rw-r--r--services/audiopolicy/AudioPolicyInterface.h2
-rw-r--r--services/audiopolicy/AudioPolicyService.h2
11 files changed, 26 insertions, 17 deletions
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 9ea18de..2e3cab0 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -139,12 +139,12 @@ public:
// return the number of input frames lost by HAL implementation, or 0 if the handle is invalid
static uint32_t getInputFramesLost(audio_io_handle_t ioHandle);
- // Allocate a new audio session ID and return that new ID.
- // If unable to contact AudioFlinger, returns AUDIO_SESSION_ALLOCATE instead.
- // FIXME If AudioFlinger were to ever exhaust the session ID namespace,
- // this method could fail by returning either AUDIO_SESSION_ALLOCATE
- // or an unspecified existing session ID.
- static int newAudioSessionId();
+ // Allocate a new unique ID for use as an audio session ID or I/O handle.
+ // If unable to contact AudioFlinger, returns AUDIO_UNIQUE_ID_ALLOCATE instead.
+ // FIXME If AudioFlinger were to ever exhaust the unique ID namespace,
+ // this method could fail by returning either AUDIO_UNIQUE_ID_ALLOCATE
+ // or an unspecified existing unique ID.
+ static audio_unique_id_t newAudioUniqueId();
static void acquireAudioSessionId(int audioSession, pid_t pid);
static void releaseAudioSessionId(int audioSession, pid_t pid);
diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h
index 58fb84a..82ec09c 100644
--- a/include/media/IAudioFlinger.h
+++ b/include/media/IAudioFlinger.h
@@ -176,7 +176,7 @@ public:
virtual uint32_t getInputFramesLost(audio_io_handle_t ioHandle) const = 0;
- virtual int newAudioSessionId() = 0;
+ virtual audio_unique_id_t newAudioUniqueId() = 0;
virtual void acquireAudioSessionId(int audioSession, pid_t pid) = 0;
virtual void releaseAudioSessionId(int audioSession, pid_t pid) = 0;
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp
index 80c8c5e..299a77c 100644
--- a/media/libmedia/AudioRecord.cpp
+++ b/media/libmedia/AudioRecord.cpp
@@ -214,7 +214,7 @@ status_t AudioRecord::set(
// mNotificationFramesAct is initialized in openRecord_l
if (sessionId == AUDIO_SESSION_ALLOCATE) {
- mSessionId = AudioSystem::newAudioSessionId();
+ mSessionId = AudioSystem::newAudioUniqueId();
} else {
mSessionId = sessionId;
}
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp
index fd5824b..0d61885 100644
--- a/media/libmedia/AudioSystem.cpp
+++ b/media/libmedia/AudioSystem.cpp
@@ -427,11 +427,11 @@ uint32_t AudioSystem::getInputFramesLost(audio_io_handle_t ioHandle)
return result;
}
-int AudioSystem::newAudioSessionId()
+audio_unique_id_t AudioSystem::newAudioUniqueId()
{
const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
- if (af == 0) return AUDIO_SESSION_ALLOCATE;
- return af->newAudioSessionId();
+ if (af == 0) return AUDIO_UNIQUE_ID_ALLOCATE;
+ return af->newAudioUniqueId();
}
void AudioSystem::acquireAudioSessionId(int audioSession, pid_t pid)
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp
index 0f4e632..5331fce 100644
--- a/media/libmedia/IAudioFlinger.cpp
+++ b/media/libmedia/IAudioFlinger.cpp
@@ -604,12 +604,12 @@ public:
return (uint32_t) reply.readInt32();
}
- virtual int newAudioSessionId()
+ virtual audio_unique_id_t newAudioUniqueId()
{
Parcel data, reply;
data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
status_t status = remote()->transact(NEW_AUDIO_SESSION_ID, data, &reply);
- int id = AUDIO_SESSION_ALLOCATE;
+ audio_unique_id_t id = AUDIO_SESSION_ALLOCATE;
if (status == NO_ERROR) {
id = reply.readInt32();
}
@@ -1176,7 +1176,7 @@ status_t BnAudioFlinger::onTransact(
} break;
case NEW_AUDIO_SESSION_ID: {
CHECK_INTERFACE(IAudioFlinger, data, reply);
- reply->writeInt32(newAudioSessionId());
+ reply->writeInt32(newAudioUniqueId());
return NO_ERROR;
} break;
case ACQUIRE_AUDIO_SESSION_ID: {
diff --git a/media/libmedia/mediaplayer.cpp b/media/libmedia/mediaplayer.cpp
index 2b7ea97..6cd377a 100644
--- a/media/libmedia/mediaplayer.cpp
+++ b/media/libmedia/mediaplayer.cpp
@@ -59,7 +59,7 @@ MediaPlayer::MediaPlayer()
mLeftVolume = mRightVolume = 1.0;
mVideoWidth = mVideoHeight = 0;
mLockThreadId = 0;
- mAudioSessionId = AudioSystem::newAudioSessionId();
+ mAudioSessionId = AudioSystem::newAudioUniqueId();
AudioSystem::acquireAudioSessionId(mAudioSessionId, -1);
mSendLevel = 0;
mRetransmitEndpointValid = false;
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index b2f46f5..bd7121e 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -2037,7 +2037,7 @@ status_t AudioFlinger::invalidateStream(audio_stream_type_t stream)
}
-int AudioFlinger::newAudioSessionId()
+audio_unique_id_t AudioFlinger::newAudioUniqueId()
{
return nextUniqueId();
}
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 754273d..731d3da 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -194,7 +194,7 @@ public:
virtual uint32_t getInputFramesLost(audio_io_handle_t ioHandle) const;
- virtual int newAudioSessionId();
+ virtual audio_unique_id_t newAudioUniqueId();
virtual void acquireAudioSessionId(int audioSession, pid_t pid);
diff --git a/services/audiopolicy/AudioPolicyClientImpl.cpp b/services/audiopolicy/AudioPolicyClientImpl.cpp
index aa309d1..c0019d1 100644
--- a/services/audiopolicy/AudioPolicyClientImpl.cpp
+++ b/services/audiopolicy/AudioPolicyClientImpl.cpp
@@ -212,4 +212,9 @@ void AudioPolicyService::AudioPolicyClient::onAudioPatchListUpdate()
mAudioPolicyService->onAudioPatchListUpdate();
}
+audio_unique_id_t AudioPolicyService::AudioPolicyClient::newAudioUniqueId()
+{
+ return AudioSystem::newAudioUniqueId();
+}
+
}; // namespace android
diff --git a/services/audiopolicy/AudioPolicyInterface.h b/services/audiopolicy/AudioPolicyInterface.h
index 0e53afc..749350a 100644
--- a/services/audiopolicy/AudioPolicyInterface.h
+++ b/services/audiopolicy/AudioPolicyInterface.h
@@ -287,6 +287,8 @@ public:
virtual void onAudioPortListUpdate() = 0;
virtual void onAudioPatchListUpdate() = 0;
+
+ virtual audio_unique_id_t newAudioUniqueId() = 0;
};
extern "C" AudioPolicyInterface* createAudioPolicyManager(AudioPolicyClientInterface *clientInterface);
diff --git a/services/audiopolicy/AudioPolicyService.h b/services/audiopolicy/AudioPolicyService.h
index 63fc0c3..3769aab 100644
--- a/services/audiopolicy/AudioPolicyService.h
+++ b/services/audiopolicy/AudioPolicyService.h
@@ -437,6 +437,8 @@ private:
virtual void onAudioPortListUpdate();
virtual void onAudioPatchListUpdate();
+ virtual audio_unique_id_t newAudioUniqueId();
+
private:
AudioPolicyService *mAudioPolicyService;
};