diff options
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/AudioSystem.cpp | 39 | ||||
-rw-r--r-- | media/libmedia/IAudioFlinger.cpp | 166 | ||||
-rw-r--r-- | media/libmedia/IAudioFlingerClient.cpp | 9 | ||||
-rw-r--r-- | media/libmedia/IAudioPolicyService.cpp | 42 |
4 files changed, 106 insertions, 150 deletions
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp index 1fc1024..98b55e9 100644 --- a/media/libmedia/AudioSystem.cpp +++ b/media/libmedia/AudioSystem.cpp @@ -125,7 +125,7 @@ status_t AudioSystem::getMasterMute(bool* mute) return NO_ERROR; } -status_t AudioSystem::setStreamVolume(int stream, float value, void *output) +status_t AudioSystem::setStreamVolume(int stream, float value, int output) { if (uint32_t(stream) >= NUM_STREAM_TYPES) return BAD_VALUE; const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); @@ -143,7 +143,7 @@ status_t AudioSystem::setStreamMute(int stream, bool mute) return NO_ERROR; } -status_t AudioSystem::getStreamVolume(int stream, float* volume, void *output) +status_t AudioSystem::getStreamVolume(int stream, float* volume, int output) { if (uint32_t(stream) >= NUM_STREAM_TYPES) return BAD_VALUE; const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); @@ -234,7 +234,7 @@ status_t AudioSystem::getOutputSamplingRate(int* samplingRate, int streamType) gLock.lock(); outputDesc = AudioSystem::gOutputs.valueFor(output); if (outputDesc == 0) { - LOGV("getOutputSamplingRate() no output descriptor for output %p in gOutputs", output); + LOGV("getOutputSamplingRate() no output descriptor for output %d in gOutputs", output); gLock.unlock(); const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); if (af == 0) return PERMISSION_DENIED; @@ -245,7 +245,7 @@ status_t AudioSystem::getOutputSamplingRate(int* samplingRate, int streamType) gLock.unlock(); } - LOGV("getOutputSamplingRate() streamType %d, output %p, sampling rate %d", streamType, output, *samplingRate); + LOGV("getOutputSamplingRate() streamType %d, output %d, sampling rate %d", streamType, output, *samplingRate); return NO_ERROR; } @@ -276,7 +276,7 @@ status_t AudioSystem::getOutputFrameCount(int* frameCount, int streamType) gLock.unlock(); } - LOGV("getOutputFrameCount() streamType %d, output %p, frameCount %d", streamType, output, *frameCount); + LOGV("getOutputFrameCount() streamType %d, output %d, frameCount %d", streamType, output, *frameCount); return NO_ERROR; } @@ -307,7 +307,7 @@ status_t AudioSystem::getOutputLatency(uint32_t* latency, int streamType) gLock.unlock(); } - LOGV("getOutputLatency() streamType %d, output %p, latency %d", streamType, output, *latency); + LOGV("getOutputLatency() streamType %d, output %d, latency %d", streamType, output, *latency); return NO_ERROR; } @@ -348,13 +348,12 @@ void AudioSystem::AudioFlingerClient::binderDied(const wp<IBinder>& who) { LOGW("AudioFlinger server died!"); } -void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, void *param1, void *param2) { +void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, int ioHandle, void *param2) { LOGV("ioConfigChanged() event %d", event); - audio_io_handle_t ioHandle = (audio_io_handle_t)param1; OutputDescriptor *desc; uint32_t stream; - if (param1 == 0) return; + if (ioHandle == 0) return; Mutex::Autolock _l(AudioSystem::gLock); @@ -362,14 +361,14 @@ void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, void *param1, v case STREAM_CONFIG_CHANGED: if (param2 == 0) break; stream = *(uint32_t *)param2; - LOGV("ioConfigChanged() STREAM_CONFIG_CHANGED stream %d, output %p", stream, ioHandle); + LOGV("ioConfigChanged() STREAM_CONFIG_CHANGED stream %d, output %d", stream, ioHandle); if (gStreamOutputMap.indexOfKey(stream) >= 0) { gStreamOutputMap.replaceValueFor(stream, ioHandle); } break; case OUTPUT_OPENED: { if (gOutputs.indexOfKey(ioHandle) >= 0) { - LOGV("ioConfigChanged() opening already existing output! %p", ioHandle); + LOGV("ioConfigChanged() opening already existing output! %d", ioHandle); break; } if (param2 == 0) break; @@ -382,10 +381,10 @@ void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, void *param1, v } break; case OUTPUT_CLOSED: { if (gOutputs.indexOfKey(ioHandle) < 0) { - LOGW("ioConfigChanged() closing unknow output! %p", ioHandle); + LOGW("ioConfigChanged() closing unknow output! %d", ioHandle); break; } - LOGV("ioConfigChanged() output %p closed", ioHandle); + LOGV("ioConfigChanged() output %d closed", ioHandle); gOutputs.removeItem(ioHandle); for (int i = gStreamOutputMap.size() - 1; i >= 0 ; i--) { @@ -398,13 +397,13 @@ void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, void *param1, v case OUTPUT_CONFIG_CHANGED: { int index = gOutputs.indexOfKey(ioHandle); if (index < 0) { - LOGW("ioConfigChanged() modifying unknow output! %p", ioHandle); + LOGW("ioConfigChanged() modifying unknow output! %d", ioHandle); break; } if (param2 == 0) break; desc = (OutputDescriptor *)param2; - LOGV("ioConfigChanged() new config for output %p samplingRate %d, format %d channels %d frameCount %d latency %d", + LOGV("ioConfigChanged() new config for output %d samplingRate %d, format %d channels %d frameCount %d latency %d", ioHandle, desc->samplingRate, desc->format, desc->channels, desc->frameCount, desc->latency); OutputDescriptor *outputDesc = gOutputs.valueAt(index); @@ -524,15 +523,15 @@ audio_io_handle_t AudioSystem::getOutput(stream_type stream, uint32_t channels, output_flags flags) { - audio_io_handle_t output = NULL; + audio_io_handle_t output = 0; if ((flags & AudioSystem::OUTPUT_FLAG_DIRECT) == 0) { Mutex::Autolock _l(gLock); output = AudioSystem::gStreamOutputMap.valueFor(stream); - LOGV_IF((output != NULL), "getOutput() read %p from cache for stream %d", output, stream); + LOGV_IF((output != 0), "getOutput() read %d from cache for stream %d", output, stream); } - if (output == NULL) { + if (output == 0) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); - if (aps == 0) return NULL; + if (aps == 0) return 0; output = aps->getOutput(stream, samplingRate, format, channels, flags); if ((flags & AudioSystem::OUTPUT_FLAG_DIRECT) == 0) { Mutex::Autolock _l(gLock); @@ -570,7 +569,7 @@ audio_io_handle_t AudioSystem::getInput(int inputSource, audio_in_acoustics acoustics) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); - if (aps == 0) return NULL; + if (aps == 0) return 0; return aps->getInput(inputSource, samplingRate, format, channels, acoustics); } diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp index 9385367..fc39a46 100644 --- a/media/libmedia/IAudioFlinger.cpp +++ b/media/libmedia/IAudioFlinger.cpp @@ -79,7 +79,7 @@ public: int frameCount, uint32_t flags, const sp<IMemory>& sharedBuffer, - void *output, + int output, status_t *status) { Parcel data, reply; @@ -92,7 +92,7 @@ public: data.writeInt32(frameCount); data.writeInt32(flags); data.writeStrongBinder(sharedBuffer->asBinder()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); status_t lStatus = remote()->transact(CREATE_TRACK, data, &reply); if (lStatus != NO_ERROR) { LOGE("createTrack error: %s", strerror(-lStatus)); @@ -106,7 +106,7 @@ public: virtual sp<IAudioRecord> openRecord( pid_t pid, - void *input, + int input, uint32_t sampleRate, int format, int channelCount, @@ -117,7 +117,7 @@ public: Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(pid); - data.write(&input, sizeof(void *)); + data.writeInt32(input); data.writeInt32(sampleRate); data.writeInt32(format); data.writeInt32(channelCount); @@ -131,47 +131,47 @@ public: return interface_cast<IAudioRecord>(reply.readStrongBinder()); } - virtual uint32_t sampleRate(void *output) const + virtual uint32_t sampleRate(int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(SAMPLE_RATE, data, &reply); return reply.readInt32(); } - virtual int channelCount(void *output) const + virtual int channelCount(int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(CHANNEL_COUNT, data, &reply); return reply.readInt32(); } - virtual int format(void *output) const + virtual int format(int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(FORMAT, data, &reply); return reply.readInt32(); } - virtual size_t frameCount(void *output) const + virtual size_t frameCount(int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(FRAME_COUNT, data, &reply); return reply.readInt32(); } - virtual uint32_t latency(void *output) const + virtual uint32_t latency(int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(LATENCY, data, &reply); return reply.readInt32(); } @@ -210,13 +210,13 @@ public: return reply.readInt32(); } - virtual status_t setStreamVolume(int stream, float value, void *output) + virtual status_t setStreamVolume(int stream, float value, int output) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(stream); data.writeFloat(value); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(SET_STREAM_VOLUME, data, &reply); return reply.readInt32(); } @@ -231,12 +231,12 @@ public: return reply.readInt32(); } - virtual float streamVolume(int stream, void *output) const + virtual float streamVolume(int stream, int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(stream); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(STREAM_VOLUME, data, &reply); return reply.readFloat(); } @@ -284,21 +284,21 @@ public: return reply.readInt32(); } - virtual status_t setParameters(void *ioHandle, const String8& keyValuePairs) + virtual status_t setParameters(int ioHandle, const String8& keyValuePairs) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&ioHandle, sizeof(void *)); + data.writeInt32(ioHandle); data.writeString8(keyValuePairs); remote()->transact(SET_PARAMETERS, data, &reply); return reply.readInt32(); } - virtual String8 getParameters(void *ioHandle, const String8& keys) + virtual String8 getParameters(int ioHandle, const String8& keys) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&ioHandle, sizeof(void *)); + data.writeInt32(ioHandle); data.writeString8(keys); remote()->transact(GET_PARAMETERS, data, &reply); return reply.readString8(); @@ -323,7 +323,7 @@ public: return reply.readInt32(); } - virtual void *openOutput(uint32_t *pDevices, + virtual int openOutput(uint32_t *pDevices, uint32_t *pSamplingRate, uint32_t *pFormat, uint32_t *pChannels, @@ -345,8 +345,7 @@ public: data.writeInt32(latency); data.writeInt32(flags); remote()->transact(OPEN_OUTPUT, data, &reply); - void *output; - reply.read(&output, sizeof(void *)); + int output = reply.readInt32(); LOGV("openOutput() returned output, %p", output); devices = reply.readInt32(); if (pDevices) *pDevices = devices; @@ -361,50 +360,48 @@ public: return output; } - virtual void *openDuplicateOutput(void *output1, void *output2) + virtual int openDuplicateOutput(int output1, int output2) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output1, sizeof(void *)); - data.write(&output2, sizeof(void *)); + data.writeInt32(output1); + data.writeInt32(output2); remote()->transact(OPEN_DUPLICATE_OUTPUT, data, &reply); - void *output; - reply.read(&output, sizeof(void *)); - return output; + return reply.readInt32(); } - virtual status_t closeOutput(void *output) + virtual status_t closeOutput(int output) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(CLOSE_OUTPUT, data, &reply); return reply.readInt32(); } - virtual status_t suspendOutput(void *output) + virtual status_t suspendOutput(int output) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(SUSPEND_OUTPUT, data, &reply); return reply.readInt32(); } - virtual status_t restoreOutput(void *output) + virtual status_t restoreOutput(int output) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(RESTORE_OUTPUT, data, &reply); return reply.readInt32(); } - virtual void *openInput(uint32_t *pDevices, - uint32_t *pSamplingRate, - uint32_t *pFormat, - uint32_t *pChannels, - uint32_t acoustics) + virtual int openInput(uint32_t *pDevices, + uint32_t *pSamplingRate, + uint32_t *pFormat, + uint32_t *pChannels, + uint32_t acoustics) { Parcel data, reply; uint32_t devices = pDevices ? *pDevices : 0; @@ -419,8 +416,7 @@ public: data.writeInt32(channels); data.writeInt32(acoustics); remote()->transact(OPEN_INPUT, data, &reply); - void *input; - reply.read(&input, sizeof(void *)); + int input = reply.readInt32(); devices = reply.readInt32(); if (pDevices) *pDevices = devices; samplingRate = reply.readInt32(); @@ -432,21 +428,21 @@ public: return input; } - virtual status_t closeInput(void *input) + virtual status_t closeInput(int input) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); - data.write(&input, sizeof(void *)); + data.writeInt32(input); remote()->transact(CLOSE_INPUT, data, &reply); return reply.readInt32(); } - virtual status_t setStreamOutput(uint32_t stream, void *output) + virtual status_t setStreamOutput(uint32_t stream, int output) { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(stream); - data.write(&output, sizeof(void *)); + data.writeInt32(output); remote()->transact(SET_STREAM_OUTPUT, data, &reply); return reply.readInt32(); } @@ -470,8 +466,7 @@ status_t BnAudioFlinger::onTransact( size_t bufferCount = data.readInt32(); uint32_t flags = data.readInt32(); sp<IMemory> buffer = interface_cast<IMemory>(data.readStrongBinder()); - void *output; - data.read(&output, sizeof(void *)); + int output = data.readInt32(); status_t status; sp<IAudioTrack> track = createTrack(pid, streamType, sampleRate, format, @@ -483,8 +478,7 @@ status_t BnAudioFlinger::onTransact( case OPEN_RECORD: { CHECK_INTERFACE(IAudioFlinger, data, reply); pid_t pid = data.readInt32(); - void *input; - data.read(&input, sizeof(void *)); + int input = data.readInt32(); uint32_t sampleRate = data.readInt32(); int format = data.readInt32(); int channelCount = data.readInt32(); @@ -499,37 +493,27 @@ status_t BnAudioFlinger::onTransact( } break; case SAMPLE_RATE: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32( sampleRate(output) ); + reply->writeInt32( sampleRate(data.readInt32()) ); return NO_ERROR; } break; case CHANNEL_COUNT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32( channelCount(output) ); + reply->writeInt32( channelCount(data.readInt32()) ); return NO_ERROR; } break; case FORMAT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32( format(output) ); + reply->writeInt32( format(data.readInt32()) ); return NO_ERROR; } break; case FRAME_COUNT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32( frameCount(output) ); + reply->writeInt32( frameCount(data.readInt32()) ); return NO_ERROR; } break; case LATENCY: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32( latency(output) ); + reply->writeInt32( latency(data.readInt32()) ); return NO_ERROR; } break; case SET_MASTER_VOLUME: { @@ -556,8 +540,7 @@ status_t BnAudioFlinger::onTransact( CHECK_INTERFACE(IAudioFlinger, data, reply); int stream = data.readInt32(); float volume = data.readFloat(); - void *output; - data.read(&output, sizeof(void *)); + int output = data.readInt32(); reply->writeInt32( setStreamVolume(stream, volume, output) ); return NO_ERROR; } break; @@ -570,8 +553,7 @@ status_t BnAudioFlinger::onTransact( case STREAM_VOLUME: { CHECK_INTERFACE(IAudioFlinger, data, reply); int stream = data.readInt32(); - void *output; - data.read(&output, sizeof(void *)); + int output = data.readInt32(); reply->writeFloat( streamVolume(stream, output) ); return NO_ERROR; } break; @@ -605,16 +587,14 @@ status_t BnAudioFlinger::onTransact( } break; case SET_PARAMETERS: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *ioHandle; - data.read(&ioHandle, sizeof(void *)); + int ioHandle = data.readInt32(); String8 keyValuePairs(data.readString8()); reply->writeInt32(setParameters(ioHandle, keyValuePairs)); return NO_ERROR; } break; case GET_PARAMETERS: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *ioHandle; - data.read(&ioHandle, sizeof(void *)); + int ioHandle = data.readInt32(); String8 keys(data.readString8()); reply->writeString8(getParameters(ioHandle, keys)); return NO_ERROR; @@ -642,14 +622,14 @@ status_t BnAudioFlinger::onTransact( uint32_t channels = data.readInt32(); uint32_t latency = data.readInt32(); uint32_t flags = data.readInt32(); - void *output = openOutput(&devices, + int output = openOutput(&devices, &samplingRate, &format, &channels, &latency, flags); LOGV("OPEN_OUTPUT output, %p", output); - reply->write(&output, sizeof(void *)); + reply->writeInt32(output); reply->writeInt32(devices); reply->writeInt32(samplingRate); reply->writeInt32(format); @@ -659,33 +639,24 @@ status_t BnAudioFlinger::onTransact( } break; case OPEN_DUPLICATE_OUTPUT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output1; - void *output2; - data.read(&output1, sizeof(void *)); - data.read(&output2, sizeof(void *)); - void *output = openDuplicateOutput(output1, output2); - reply->write(&output, sizeof(void *)); + int output1 = data.readInt32(); + int output2 = data.readInt32(); + reply->writeInt32(openDuplicateOutput(output1, output2)); return NO_ERROR; } break; case CLOSE_OUTPUT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32(closeOutput(output)); + reply->writeInt32(closeOutput(data.readInt32())); return NO_ERROR; } break; case SUSPEND_OUTPUT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32(suspendOutput(output)); + reply->writeInt32(suspendOutput(data.readInt32())); return NO_ERROR; } break; case RESTORE_OUTPUT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; - data.read(&output, sizeof(void *)); - reply->writeInt32(restoreOutput(output)); + reply->writeInt32(restoreOutput(data.readInt32())); return NO_ERROR; } break; case OPEN_INPUT: { @@ -696,12 +667,12 @@ status_t BnAudioFlinger::onTransact( uint32_t channels = data.readInt32(); uint32_t acoutics = data.readInt32(); - void *input = openInput(&devices, + int input = openInput(&devices, &samplingRate, &format, &channels, acoutics); - reply->write(&input, sizeof(void *)); + reply->writeInt32(input); reply->writeInt32(devices); reply->writeInt32(samplingRate); reply->writeInt32(format); @@ -710,16 +681,13 @@ status_t BnAudioFlinger::onTransact( } break; case CLOSE_INPUT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *input; - data.read(&input, sizeof(void *)); - reply->writeInt32(closeInput(input)); + reply->writeInt32(closeInput(data.readInt32())); return NO_ERROR; } break; case SET_STREAM_OUTPUT: { CHECK_INTERFACE(IAudioFlinger, data, reply); - void *output; uint32_t stream = data.readInt32(); - data.read(&output, sizeof(void *)); + int output = data.readInt32(); reply->writeInt32(setStreamOutput(stream, output)); return NO_ERROR; } break; diff --git a/media/libmedia/IAudioFlingerClient.cpp b/media/libmedia/IAudioFlingerClient.cpp index eaae977..3900de4 100644 --- a/media/libmedia/IAudioFlingerClient.cpp +++ b/media/libmedia/IAudioFlingerClient.cpp @@ -39,12 +39,12 @@ public: { } - void ioConfigChanged(int event, void *param1, void *param2) + void ioConfigChanged(int event, int ioHandle, void *param2) { Parcel data, reply; data.writeInterfaceToken(IAudioFlingerClient::getInterfaceDescriptor()); data.writeInt32(event); - data.write(¶m1, sizeof(void *)); + data.writeInt32(ioHandle); if (event == AudioSystem::STREAM_CONFIG_CHANGED) { uint32_t stream = *(uint32_t *)param2; LOGV("ioConfigChanged stream %d", stream); @@ -72,11 +72,10 @@ status_t BnAudioFlingerClient::onTransact( case IO_CONFIG_CHANGED: { CHECK_INTERFACE(IAudioFlingerClient, data, reply); int event = data.readInt32(); - void *param1; + int ioHandle = data.readInt32(); void *param2 = 0; AudioSystem::OutputDescriptor desc; uint32_t stream; - data.read(¶m1, sizeof(void *)); if (event == AudioSystem::STREAM_CONFIG_CHANGED) { stream = data.readInt32(); param2 = &stream; @@ -89,7 +88,7 @@ status_t BnAudioFlingerClient::onTransact( desc.latency = data.readInt32(); param2 = &desc; } - ioConfigChanged(event, param1, param2); + ioConfigChanged(event, ioHandle, param2); return NO_ERROR; } break; default: diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp index 0d8a329..18dd173 100644 --- a/media/libmedia/IAudioPolicyService.cpp +++ b/media/libmedia/IAudioPolicyService.cpp @@ -134,16 +134,14 @@ public: data.writeInt32(channels); data.writeInt32(static_cast <uint32_t>(flags)); remote()->transact(GET_OUTPUT, data, &reply); - audio_io_handle_t output; - reply.read(&output, sizeof(audio_io_handle_t)); - return output; + return static_cast <audio_io_handle_t> (reply.readInt32()); } virtual status_t startOutput(audio_io_handle_t output, AudioSystem::stream_type stream) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); - data.write(&output, sizeof(audio_io_handle_t)); + data.writeInt32(output); data.writeInt32(stream); remote()->transact(START_OUTPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); @@ -153,7 +151,7 @@ public: { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); - data.write(&output, sizeof(audio_io_handle_t)); + data.writeInt32(output); data.writeInt32(stream); remote()->transact(STOP_OUTPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); @@ -163,7 +161,7 @@ public: { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); - data.write(&output, sizeof(audio_io_handle_t)); + data.writeInt32(output); remote()->transact(RELEASE_OUTPUT, data, &reply); } @@ -182,16 +180,14 @@ public: data.writeInt32(channels); data.writeInt32(static_cast <uint32_t>(acoustics)); remote()->transact(GET_INPUT, data, &reply); - audio_io_handle_t input; - reply.read(&input, sizeof(audio_io_handle_t)); - return input; + return static_cast <audio_io_handle_t> (reply.readInt32()); } virtual status_t startInput(audio_io_handle_t input) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); - data.write(&input, sizeof(audio_io_handle_t)); + data.writeInt32(input); remote()->transact(START_INPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); } @@ -200,7 +196,7 @@ public: { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); - data.write(&input, sizeof(audio_io_handle_t)); + data.writeInt32(input); remote()->transact(STOP_INPUT, data, &reply); return static_cast <status_t> (reply.readInt32()); } @@ -209,7 +205,7 @@ public: { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); - data.write(&input, sizeof(audio_io_handle_t)); + data.writeInt32(input); remote()->transact(RELEASE_INPUT, data, &reply); } @@ -316,14 +312,13 @@ status_t BnAudioPolicyService::onTransact( format, channels, flags); - reply->write(&output, sizeof(audio_io_handle_t)); + reply->writeInt32(static_cast <int>(output)); return NO_ERROR; } break; case START_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); - audio_io_handle_t output; - data.read(&output, sizeof(audio_io_handle_t)); + audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); uint32_t stream = data.readInt32(); reply->writeInt32(static_cast <uint32_t>(startOutput(output, (AudioSystem::stream_type)stream))); return NO_ERROR; @@ -331,8 +326,7 @@ status_t BnAudioPolicyService::onTransact( case STOP_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); - audio_io_handle_t output; - data.read(&output, sizeof(audio_io_handle_t)); + audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); uint32_t stream = data.readInt32(); reply->writeInt32(static_cast <uint32_t>(stopOutput(output, (AudioSystem::stream_type)stream))); return NO_ERROR; @@ -340,8 +334,7 @@ status_t BnAudioPolicyService::onTransact( case RELEASE_OUTPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); - audio_io_handle_t output; - data.read(&output, sizeof(audio_io_handle_t)); + audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32()); releaseOutput(output); return NO_ERROR; } break; @@ -358,30 +351,27 @@ status_t BnAudioPolicyService::onTransact( format, channels, acoustics); - reply->write(&input, sizeof(audio_io_handle_t)); + reply->writeInt32(static_cast <int>(input)); return NO_ERROR; } break; case START_INPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); - audio_io_handle_t input; - data.read(&input, sizeof(audio_io_handle_t)); + audio_io_handle_t input = static_cast <audio_io_handle_t>(data.readInt32()); reply->writeInt32(static_cast <uint32_t>(startInput(input))); return NO_ERROR; } break; case STOP_INPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); - audio_io_handle_t input; - data.read(&input, sizeof(audio_io_handle_t)); + audio_io_handle_t input = static_cast <audio_io_handle_t>(data.readInt32()); reply->writeInt32(static_cast <uint32_t>(stopInput(input))); return NO_ERROR; } break; case RELEASE_INPUT: { CHECK_INTERFACE(IAudioPolicyService, data, reply); - audio_io_handle_t input; - data.read(&input, sizeof(audio_io_handle_t)); + audio_io_handle_t input = static_cast <audio_io_handle_t>(data.readInt32()); releaseInput(input); return NO_ERROR; } break; |