summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejas Shikhare <tshikhar@codeaurora.org>2012-09-07 14:35:43 -0700
committerSteve Kondik <shade@chemlab.org>2012-09-24 15:11:47 -0700
commitbb992a86df645482167013634a8c1de1a3109344 (patch)
treefc091a4d7c6065b29e411cfe5828933b72116edc
parent855d9cadd88a1394c04cfe1cb5879266cfea9d40 (diff)
downloadhardware_libhardware-bb992a86df645482167013634a8c1de1a3109344.zip
hardware_libhardware-bb992a86df645482167013634a8c1de1a3109344.tar.gz
hardware_libhardware-bb992a86df645482167013634a8c1de1a3109344.tar.bz2
libhardware: Add new APIs to support effects with DirectTrack
Change-Id: I4d931bfafae58410e73ea3164fc6c879057b1f88
-rw-r--r--include/hardware/audio.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/hardware/audio.h b/include/hardware/audio.h
index 1533ee1..12c4a96 100644
--- a/include/hardware/audio.h
+++ b/include/hardware/audio.h
@@ -141,6 +141,9 @@ struct audio_config {
};
typedef struct audio_config audio_config_t;
+#ifdef QCOM_HARDWARE
+typedef struct buf_info;
+#endif
/* common audio stream parameters and operations */
struct audio_stream {
@@ -304,6 +307,18 @@ struct audio_stream_out {
*/
int (*set_observer)(const struct audio_stream_out *stream,
void *observer);
+ /**
+ * Get the physical address of the buffer allocated in the
+ * driver
+ */
+ int (*get_buffer_info) (const struct audio_stream_out *stream,
+ struct buf_info **buf);
+ /**
+ * Check if next buffer is available. Waits until next buffer is
+ * available
+ */
+ int (*is_buffer_available) (const struct audio_stream_out *stream,
+ int *isAvail);
#endif
};
@@ -598,6 +613,14 @@ static inline int audio_hw_device_close(struct audio_hw_device* device)
}
#ifdef QCOM_HARDWARE
+/** Structure to save buffer information for applying effects for
+ * LPA buffers */
+struct buf_info {
+ int bufsize;
+ int nBufs;
+ int **buffers;
+};
+
#ifdef __cplusplus
/**
*Observer class to post the Events from HAL to Flinger