resolve merge conflicts of 5c4fbd2817 to oc-mr1-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Exempt-From-Owner-Approval: simple merge conflicts
Change-Id: I32cd6ce0eca9b74b20554f20bcf410d76612c47a
diff --git a/media/libaaudio/examples/utils/AAudioExampleUtils.h b/media/libaaudio/examples/utils/AAudioExampleUtils.h
index d817664..46b8895 100644
--- a/media/libaaudio/examples/utils/AAudioExampleUtils.h
+++ b/media/libaaudio/examples/utils/AAudioExampleUtils.h
@@ -32,6 +32,7 @@
#define NANOS_PER_MILLISECOND (NANOS_PER_MICROSECOND * 1000)
#define NANOS_PER_SECOND (NANOS_PER_MILLISECOND * 1000)
+template <class T = aaudio_sharing_mode_t>
const char *getSharingModeText(aaudio_sharing_mode_t mode) {
const char *text = "unknown";
switch (mode) {
@@ -80,13 +81,15 @@
return text;
}
-static void convertNanosecondsToTimespec(int64_t nanoseconds, struct timespec *time) {
+template <class T = int64_t>
+void convertNanosecondsToTimespec(int64_t nanoseconds, struct timespec *time) {
time->tv_sec = nanoseconds / NANOS_PER_SECOND;
// Calculate the fractional nanoseconds. Avoids expensive % operation.
time->tv_nsec = nanoseconds - (time->tv_sec * NANOS_PER_SECOND);
}
-static int64_t getNanoseconds(clockid_t clockId = CLOCK_MONOTONIC) {
+template <class T = clockid_t>
+int64_t getNanoseconds(clockid_t clockId = CLOCK_MONOTONIC) {
struct timespec time;
int result = clock_gettime(clockId, &time);
if (result < 0) {
@@ -95,7 +98,8 @@
return (time.tv_sec * NANOS_PER_SECOND) + time.tv_nsec;
}
-static void displayPeakLevel(float peakLevel) {
+template <class T = float>
+void displayPeakLevel(float peakLevel) {
printf("%5.3f ", peakLevel);
const int maxStars = 50; // arbitrary, fits on one line
int numStars = (int) (peakLevel * maxStars);
@@ -113,7 +117,8 @@
* @param sampleRate
* @return latency in milliseconds
*/
-static double calculateLatencyMillis(int64_t position1, int64_t nanoseconds1,
+template <class T = int64_t>
+double calculateLatencyMillis(int64_t position1, int64_t nanoseconds1,
int64_t position2, int64_t nanoseconds2,
int64_t sampleRate) {
int64_t deltaFrames = position2 - position1;
@@ -127,7 +132,8 @@
// ================================================================================
// These Futex calls are common online examples.
-static android::status_t sys_futex(void *addr1, int op, int val1,
+template <class T = int>
+android::status_t sys_futex(void *addr1, int op, int val1,
struct timespec *timeout, void *addr2, int val3) {
android::status_t result = (android::status_t) syscall(SYS_futex, addr1,
op, val1, timeout,
@@ -135,12 +141,14 @@
return (result == 0) ? 0 : -errno;
}
-static android::status_t futex_wake(void *addr, int numWake) {
+template <class T = int>
+android::status_t futex_wake(void *addr, int numWake) {
// Use _PRIVATE because we are just using the futex in one process.
return sys_futex(addr, FUTEX_WAKE_PRIVATE, numWake, NULL, NULL, 0);
}
-static android::status_t futex_wait(void *addr, int current, struct timespec *time) {
+template <class T = int>
+android::status_t futex_wait(void *addr, int current, struct timespec *time) {
// Use _PRIVATE because we are just using the futex in one process.
return sys_futex(addr, FUTEX_WAIT_PRIVATE, current, time, NULL, 0);
}