diff options
Diffstat (limited to 'services/audiopolicy/managerdefault/AudioPolicyManager.h')
-rw-r--r-- | services/audiopolicy/managerdefault/AudioPolicyManager.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h index ea16864..f9d1198 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.h +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h @@ -553,10 +553,16 @@ protected: audio_devices_t availablePrimaryOutputDevices() const { + if (!hasPrimaryOutput()) { + return AUDIO_DEVICE_NONE; + } return mPrimaryOutput->supportedDevices() & mAvailableOutputDevices.types(); } audio_devices_t availablePrimaryInputDevices() const { + if (!hasPrimaryOutput()) { + return AUDIO_DEVICE_NONE; + } return mAvailableInputDevices.getDevicesFromHwModule(mPrimaryOutput->getModuleHandle()); } @@ -576,6 +582,8 @@ protected: void clearSessionRoutes(uid_t uid); void checkStrategyRoute(routing_strategy strategy, audio_io_handle_t ouptutToSkip); + status_t hasPrimaryOutput() const { return mPrimaryOutput != 0; } + uid_t mUidCached; AudioPolicyClientInterface *mpClientInterface; // audio policy client interface sp<SwAudioOutputDescriptor> mPrimaryOutput; // primary output descriptor |