hal: fix hal build error for LE platform
Fix hal build error for LE platform
Change-Id: Ib64f17f1cd11aa761c240f2cf0e8855349db579d
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index c6d34c5..82d2fb0 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -148,6 +148,13 @@
#define STR(x) #x
#endif
+#ifdef LINUX_ENABLED
+static inline int64_t audio_utils_ns_from_timespec(const struct timespec *ts)
+{
+ return ts->tv_sec * 1000000000LL + ts->tv_nsec;
+}
+#endif
+
static unsigned int configured_low_latency_capture_period_size =
LOW_LATENCY_CAPTURE_PERIOD_SIZE;
@@ -4805,7 +4812,7 @@
const bool locked = (pthread_mutex_trylock(&out->lock) == 0);
dprintf(fd, " Standby: %s\n", out->standby ? "yes" : "no");
dprintf(fd, " Frames written: %lld\n", (long long)out->written);
-
+#ifndef LINUX_ENABLED
char buffer[256]; // for statistics formatting
if (!is_offload_usecase(out->usecase)) {
simple_stats_to_string(&out->fifo_underruns, buffer, sizeof(buffer));
@@ -4816,15 +4823,16 @@
simple_stats_to_string(&out->start_latency_ms, buffer, sizeof(buffer));
dprintf(fd, " Start latency ms: %s\n", buffer);
}
-
+#endif
if (locked) {
pthread_mutex_unlock(&out->lock);
}
+#ifndef LINUX_ENABLED
// dump error info
(void)error_log_dump(
out->error_log, fd, " " /* prefix */, 0 /* lines */, 0 /* limit_ns */);
-
+#endif
return 0;
}
@@ -6016,9 +6024,11 @@
if (out->set_dual_mono)
audio_extn_send_dual_mono_mixing_coefficients(out);
+#ifndef LINUX_ENABLED
// log startup time in ms.
simple_stats_log(
&out->start_latency_ms, (systemTime(SYSTEM_TIME_MONOTONIC) - startNs) * 1e-6);
+#endif
}
if (adev->is_channel_status_set == false &&
@@ -6189,7 +6199,9 @@
const int64_t underrun = frames_by_time - out->last_fifo_frames_remaining;
if (underrun > 0) {
+#ifndef LINUX_ENABLED
simple_stats_log(&out->fifo_underruns, underrun);
+#endif
ALOGW("%s: underrun(%lld) "
"frames_by_time(%lld) > out->last_fifo_frames_remaining(%lld)",
@@ -6945,21 +6957,21 @@
dprintf(fd, " Standby: %s\n", in->standby ? "yes" : "no");
dprintf(fd, " Frames read: %lld\n", (long long)in->frames_read);
dprintf(fd, " Frames muted: %lld\n", (long long)in->frames_muted);
-
+#ifndef LINUX_ENABLED
char buffer[256]; // for statistics formatting
if (in->start_latency_ms.n > 0) {
simple_stats_to_string(&in->start_latency_ms, buffer, sizeof(buffer));
dprintf(fd, " Start latency ms: %s\n", buffer);
}
-
+#endif
if (locked) {
pthread_mutex_unlock(&in->lock);
}
-
+#ifndef LINUX_ENABLED
// dump error info
(void)error_log_dump(
in->error_log, fd, " " /* prefix */, 0 /* lines */, 0 /* limit_ns */);
-
+#endif
return 0;
}
@@ -7228,10 +7240,11 @@
goto exit;
}
in->standby = 0;
-
+#ifndef LINUX_ENABLED
// log startup time in ms.
simple_stats_log(
&in->start_latency_ms, (systemTime(SYSTEM_TIME_MONOTONIC) - startNs) * 1e-6);
+#endif
}
/* Avoid read if capture_stopped is set */
@@ -8609,10 +8622,11 @@
register_channel_mask(out->channel_mask, out->supported_channel_masks);
register_sample_rate(out->sample_rate, out->supported_sample_rates);
+#ifndef LINUX_ENABLED
out->error_log = error_log_create(
ERROR_LOG_ENTRIES,
1000000000 /* aggregate consecutive identical errors within one second in ns */);
-
+#endif
/*
By locking output stream before registering, we allow the callback
to update stream's state only after stream's initial state is set to
@@ -8751,9 +8765,10 @@
if (adev->voice_tx_output == out)
adev->voice_tx_output = NULL;
+#ifndef LINUX_ENABLED
error_log_destroy(out->error_log);
out->error_log = NULL;
-
+#endif
if (adev->primary_output == out)
adev->primary_output = NULL;
@@ -9771,9 +9786,11 @@
register_channel_mask(in->channel_mask, in->supported_channel_masks);
register_sample_rate(in->sample_rate, in->supported_sample_rates);
+#ifndef LINUX_ENABLED
in->error_log = error_log_create(
ERROR_LOG_ENTRIES,
1000000000 /* aggregate consecutive identical errors within one second */);
+#endif
/* This stream could be for sound trigger lab,
get sound trigger pcm if present */
@@ -9853,9 +9870,10 @@
} else
audio_extn_sound_trigger_update_ec_ref_status(false);
+#ifndef LINUX_ENABLED
error_log_destroy(in->error_log);
in->error_log = NULL;
-
+#endif
if (in->usecase == USECASE_COMPRESS_VOIP_CALL) {
pthread_mutex_lock(&adev->lock);
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index 403f69e..c424ec1 100755
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -47,15 +47,35 @@
#include <tinycompress/tinycompress.h>
#include <audio_route/audio_route.h>
+#ifndef LINUX_ENABLED
#include <audio_utils/ErrorLog.h>
+#else
+typedef int error_log_t;
+#define error_log_dump(error_log, fd, prefix, lines, limit_ns) (0)
+#define error_log_create(entries, aggregate_ns) (0)
+#define error_log_destroy(error_log) (0)
+#endif
+#ifndef LINUX_ENABLED
#include <audio_utils/Statistics.h>
#include <audio_utils/clock.h>
+#endif
#include "audio_defs.h"
#include "voice.h"
#include "audio_hw_extn_api.h"
#include "device_utils.h"
#if LINUX_ENABLED
+typedef struct {
+ int64_t n;
+ double min;
+ double max;
+ double last;
+ double mean;
+} simple_stats_t;
+#define NANOS_PER_SECOND 1000000000LL
+#endif
+
+#if LINUX_ENABLED
#if defined(__LP64__)
#define VISUALIZER_LIBRARY_PATH "/usr/lib64/libqcomvisualizer.so"
#define OFFLOAD_EFFECTS_BUNDLE_LIBRARY_PATH "/usr/lib64/libqcompostprocbundle.so"
@@ -483,8 +503,9 @@
mix_matrix_params_t downmix_params;
bool set_dual_mono;
bool prev_card_status_offline;
-
+#ifndef LINUX_ENABLED
error_log_t *error_log;
+#endif
bool pspd_coeff_sent;
int car_audio_stream; /* handle for car_audio_stream */
@@ -559,8 +580,9 @@
int64_t frames_read; /* total frames read, not cleared when entering standby */
int64_t frames_muted; /* total frames muted, not cleared when entering standby */
+#ifndef LINUX_ENABLED
error_log_t *error_log;
-
+#endif
simple_stats_t start_latency_ms;
int car_audio_stream; /* handle for car_audio_stream*/