OSDN Git Service

Fix error handling in AudioSystem::getOutputForEffect
authorGlenn Kasten <gkasten@google.com>
Wed, 8 Jan 2014 17:10:43 +0000 (09:10 -0800)
committerGlenn Kasten <gkasten@google.com>
Thu, 9 Jan 2014 23:27:09 +0000 (15:27 -0800)
and AudioPolicyService::getOutputForEffect.
The conventional error value for audio_io_handle_t is 0,
not a status_t cast to audio_io_handle_t.

Change-Id: I34b3fd1a50f3fa1cbf39f32eea1911112a4e094a

media/libmedia/AudioSystem.cpp
services/audioflinger/AudioPolicyService.cpp

index 9a76111..cf7dfef 100644 (file)
@@ -719,7 +719,8 @@ audio_devices_t AudioSystem::getDevicesForStream(audio_stream_type_t stream)
 audio_io_handle_t AudioSystem::getOutputForEffect(const effect_descriptor_t *desc)
 {
     const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
-    if (aps == 0) return PERMISSION_DENIED;
+    // FIXME change return type to status_t, and return PERMISSION_DENIED here
+    if (aps == 0) return 0;
     return aps->getOutputForEffect(desc);
 }
 
index c5ad2c0..c8fe9ba 100644 (file)
@@ -475,8 +475,9 @@ audio_devices_t AudioPolicyService::getDevicesForStream(audio_stream_type_t stre
 
 audio_io_handle_t AudioPolicyService::getOutputForEffect(const effect_descriptor_t *desc)
 {
+    // FIXME change return type to status_t, and return NO_INIT here
     if (mpAudioPolicy == NULL) {
-        return NO_INIT;
+        return 0;
     }
     Mutex::Autolock _l(mLock);
     return mpAudioPolicy->get_output_for_effect(mpAudioPolicy, desc);