hal: Integrated QTI Audio framework changes

- Added support for DD/DDP/AAC/MP4 decode through QAF.
- Added support for Rencoding to DD/DDP through QAF..
- Added support for DAP through QAF.
- Added suport for mixing DD/DDP with PCM through QAF.
- Added suport for mixing AAC with PCM through QAF.
- Added support for Dual Decode through QAF.

CRs-Fixed: 1063555
Change-Id: Icc3ddf62f9bc1c45e1027fb93bf9fa0e154a783e
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index c1797bd..0633eb0 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -241,6 +241,10 @@
     bool routing_change;
 
     struct audio_device *dev;
+    void* qaf_stream_handle;
+    pthread_cond_t qaf_offload_cond;
+    pthread_t qaf_offload_thread;
+    struct listnode qaf_offload_cmd_list;
 };
 
 struct stream_in {
@@ -427,6 +431,16 @@
 audio_usecase_t get_usecase_id_from_usecase_type(const struct audio_device *adev,
                                                  usecase_type_t type);
 
+int adev_open_output_stream(struct audio_hw_device *dev,
+                            audio_io_handle_t handle,
+                            audio_devices_t devices,
+                            audio_output_flags_t flags,
+                            struct audio_config *config,
+                            struct audio_stream_out **stream_out,
+                            const char *address __unused);
+void adev_close_output_stream(struct audio_hw_device *dev __unused,
+                              struct audio_stream_out *stream);
+
 #define LITERAL_TO_STRING(x) #x
 #define CHECK(condition) LOG_ALWAYS_FATAL_IF(!(condition), "%s",\
             __FILE__ ":" LITERAL_TO_STRING(__LINE__)\