libaudioclient : Update log in VALUE_OR_FATAL
This update adds line number and function name in abort log of VALUE_OR_FATAL
Test: ./audioflinger_fuzzer -rss_limit_mb=2560 -timeout=90 -runs=100
clusterfuzz-testcase-minimized-audioflinger_fuzzer-5701813725167616
Bug: 180357329
Change-Id: If8710ef7b8856fb7e1fdd6dd2af302b501602f22
(cherry picked from commit e25af5cfc58e2eea9099bbdd954c0ced6d5de1c6)
diff --git a/media/libaudioclient/AudioRecord.cpp b/media/libaudioclient/AudioRecord.cpp
index 112cb67..0bb824b 100644
--- a/media/libaudioclient/AudioRecord.cpp
+++ b/media/libaudioclient/AudioRecord.cpp
@@ -35,15 +35,6 @@
#include <media/MediaMetricsItem.h>
#include <media/TypeConverter.h>
-#define VALUE_OR_FATAL(result) \
- ({ \
- auto _tmp = (result); \
- LOG_ALWAYS_FATAL_IF(!_tmp.ok(), \
- "Failed result (%d)", \
- _tmp.error()); \
- std::move(_tmp.value()); \
- })
-
#define WAIT_PERIOD_MS 10
namespace android {
diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp
index b7ba30d..d6c8c8e 100644
--- a/media/libaudioclient/AudioTrack.cpp
+++ b/media/libaudioclient/AudioTrack.cpp
@@ -38,15 +38,6 @@
#include <media/MediaMetricsItem.h>
#include <media/TypeConverter.h>
-#define VALUE_OR_FATAL(result) \
- ({ \
- auto _tmp = (result); \
- LOG_ALWAYS_FATAL_IF(!_tmp.ok(), \
- "Failed result (%d)", \
- _tmp.error()); \
- std::move(_tmp.value()); \
- })
-
#define WAIT_PERIOD_MS 10
#define WAIT_STREAM_END_TIMEOUT_SEC 120
static const int kMaxLoopCountNotifications = 32;
diff --git a/media/libaudioclient/include/media/AidlConversionUtil.h b/media/libaudioclient/include/media/AidlConversionUtil.h
index bf2d800..c1a2be3 100644
--- a/media/libaudioclient/include/media/AidlConversionUtil.h
+++ b/media/libaudioclient/include/media/AidlConversionUtil.h
@@ -48,6 +48,15 @@
std::move(_tmp.value()); \
})
+#define VALUE_OR_FATAL(result) \
+ ({ \
+ auto _tmp = (result); \
+ LOG_ALWAYS_FATAL_IF(!_tmp.ok(), \
+ "Function: %s Line: %d Failed result (%d)",\
+ __FUNCTION__, __LINE__, _tmp.error()); \
+ std::move(_tmp.value()); \
+ })
+
/**
* A generic template to safely cast between integral types, respecting limits of the destination
* type.
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index ae9fc64..dacb758 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -85,15 +85,6 @@
#include "TypedLogger.h"
-#define VALUE_OR_FATAL(result) \
- ({ \
- auto _tmp = (result); \
- LOG_ALWAYS_FATAL_IF(!_tmp.ok(), \
- "Failed result (%d)", \
- _tmp.error()); \
- std::move(_tmp.value()); \
- })
-
// ----------------------------------------------------------------------------
// Note: the following macro is used for extremely verbose logging message. In