Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not use pointers as handles to inputs and outputs.
Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
diff --git a/libs/audioflinger/AudioPolicyService.h b/libs/audioflinger/AudioPolicyService.h
index 1c46975..3909fa4 100644
--- a/libs/audioflinger/AudioPolicyService.h
+++ b/libs/audioflinger/AudioPolicyService.h
@@ -136,8 +136,8 @@
void exit();
void startToneCommand(int type = 0, int stream = 0);
void stopToneCommand();
- status_t volumeCommand(int stream, float volume, void *output);
- status_t parametersCommand(void *ioHandle, const String8& keyValuePairs);
+ status_t volumeCommand(int stream, float volume, int output);
+ status_t parametersCommand(int ioHandle, const String8& keyValuePairs);
private:
// descriptor for requested tone playback event
@@ -157,11 +157,11 @@
public:
int mStream;
float mVolume;
- void *mIO;
+ int mIO;
};
class ParametersData {
public:
- void *mIO;
+ int mIO;
String8 mKeyValuePairs;
};