commit | 6ffde44e359c188116d4c108370ac68b542b40cf | [log] [tgz] |
---|---|---|
author | Mikhail Naganov <mnaganov@google.com> | Wed Mar 07 09:55:06 2018 -0800 |
committer | Mikhail Naganov <mnaganov@google.com> | Wed Mar 07 10:08:15 2018 -0800 |
tree | 61f5620b5bd24526bdb6f55202770c14e70b06eb | |
parent | 25319a06848e3cf3b1e62f1b6095a1cdb2703737 [diff] |
audio hal default impl: Check for "default" instance name With MSD it's possible to have another instance of IDeviceFactory. For passthrough implementations it's necessary to check whether the instance name is "default" because otherwise HIDL framework will attempt to use the default implementation for MSD. Do the same for effects in case some special effects will be needed for MSD. Bug: 38184704 Bug: 63901775 Change-Id: I18044f3a97e3f6ec4dc3f35b3a9300ea404fc07e Test: audio works, effects work
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/DevicesFactory.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/DevicesFactory.impl.h index 43e5d6e..a9f59fb 100644 --- a/audio/core/all-versions/default/include/core/all-versions/default/DevicesFactory.impl.h +++ b/audio/core/all-versions/default/include/core/all-versions/default/DevicesFactory.impl.h
@@ -106,8 +106,8 @@ return rc; } -IDevicesFactory* HIDL_FETCH_IDevicesFactory(const char* /* name */) { - return new DevicesFactory(); +IDevicesFactory* HIDL_FETCH_IDevicesFactory(const char* name) { + return strcmp(name, "default") == 0 ? new DevicesFactory() : nullptr; } } // namespace implementation
diff --git a/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h b/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h index b2a36a9..066a6a6 100644 --- a/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h +++ b/audio/effect/all-versions/default/include/effect/all-versions/default/EffectsFactory.impl.h
@@ -178,8 +178,8 @@ return Void(); } -IEffectsFactory* HIDL_FETCH_IEffectsFactory(const char* /* name */) { - return new EffectsFactory(); +IEffectsFactory* HIDL_FETCH_IEffectsFactory(const char* name) { + return strcmp(name, "default") == 0 ? new EffectsFactory() : nullptr; } } // namespace implementation