Abstract away access to audio streams HAL in AudioFlinger
In this CL all direct access to audio_stream_t, audio_stream_out_t, and
audio_stream_in_t their functions is encapsulated within the new
hierarchy of Stream[In|Out]HalLocal classes. AudioFlinger uses
interface classes Stream[In|Out]HalInterface to access these functions.
Note that NBAIO still receives raw HAL stream handles and needs to be
converted separately.
Bug: 30222631
Test: manual with Loopback app
Change-Id: I6388cfa2006791c9c0aa7bb186719209726a2d48
diff --git a/services/audioflinger/EffectHalLocal.h b/services/audioflinger/EffectHalLocal.h
index 92b2153..73ba6d5 100644
--- a/services/audioflinger/EffectHalLocal.h
+++ b/services/audioflinger/EffectHalLocal.h
@@ -24,9 +24,6 @@
class EffectHalLocal : public EffectHalInterface
{
public:
- // The destructor automatically releases the effect.
- virtual ~EffectHalLocal();
-
// Effect process function. Takes input samples as specified
// in input buffer descriptor and output processed samples as specified
// in output buffer descriptor.
@@ -43,7 +40,6 @@
// Returns the effect descriptor.
virtual status_t getDescriptor(effect_descriptor_t *pDescriptor);
- // FIXME: Remove after converting the main audio HAL
effect_handle_t handle() const { return mHandle; }
private:
@@ -53,6 +49,9 @@
// Can not be constructed directly by clients.
explicit EffectHalLocal(effect_handle_t handle);
+
+ // The destructor automatically releases the effect.
+ virtual ~EffectHalLocal();
};
} // namespace android