audiohal: Always load A2DP module locally
This makes legitimate unix socket interaction between A2DP
module and the Bluetooth stack.
Implemented by allowing both "local" and "hidl" interface
wrappers to co-exist for devices and streams. A "hybrid" device
factory is introduced to create an appropriate implementation
of a device depending on the requested module name.
Bug: 37640821
Test: Play Music over BT headset
Change-Id: I5592961dd5b56840418fb122680979d11a261b6c
diff --git a/media/libaudiohal/EffectHalLocal.h b/media/libaudiohal/EffectHalLocal.h
index b499462..693fb50 100644
--- a/media/libaudiohal/EffectHalLocal.h
+++ b/media/libaudiohal/EffectHalLocal.h
@@ -48,6 +48,9 @@
// Free resources on the remote side.
virtual status_t close();
+ // Whether it's a local implementation.
+ virtual bool isLocal() const { return true; }
+
effect_handle_t handle() const { return mHandle; }
private: