libmediadrm: log uuid on errors
Other misc changes:
* Cleanup include ordering
* Log more messages e.g. when scheme not supported
Bug: 162255728
Test: MediaDrmTest#testGetLogMessages
Change-Id: I6d82ed5374df90091fa087d7b3094f34211a9196
diff --git a/drm/libmediadrm/interface/mediadrm/DrmUtils.h b/drm/libmediadrm/interface/mediadrm/DrmUtils.h
index 7fe3501..988cda9 100644
--- a/drm/libmediadrm/interface/mediadrm/DrmUtils.h
+++ b/drm/libmediadrm/interface/mediadrm/DrmUtils.h
@@ -33,8 +33,10 @@
#include <cstdint>
#include <ctime>
#include <deque>
+#include <endian.h>
#include <iterator>
#include <mutex>
+#include <string>
#include <vector>
@@ -88,6 +90,14 @@
}
}
+template <typename... Args>
+void LogToBuffer(android_LogPriority level, const uint8_t uuid[16], const char *fmt, Args... args) {
+ const uint64_t* uuid2 = reinterpret_cast<const uint64_t*>(uuid);
+ std::string uuidFmt("uuid=[%lx %lx] ");
+ uuidFmt += fmt;
+ LogToBuffer(level, uuidFmt.c_str(), htobe64(uuid2[0]), htobe64(uuid2[1]), args...);
+}
+
#ifndef LOG2BE
#define LOG2BE(...) LogToBuffer(ANDROID_LOG_ERROR, __VA_ARGS__)
#define LOG2BW(...) LogToBuffer(ANDROID_LOG_WARN, __VA_ARGS__)
@@ -196,10 +206,13 @@
hResult = plugin->getLogMessages(cb);
}
if (!hResult.isOk()) {
- LOG2BW("%s::getLogMessages remote call failed", T::descriptor);
+ LOG2BW("%s::getLogMessages remote call failed %s",
+ T::descriptor, hResult.description().c_str());
}
auto allLogs(gLogBuf.getLogs());
+ LOG2BI("framework logs size %zu; plugin logs size %zu",
+ allLogs.size(), pluginLogs.size());
std::copy(pluginLogs.begin(), pluginLogs.end(), std::back_inserter(allLogs));
std::sort(allLogs.begin(), allLogs.end(),
[](const ::V1_4::LogMessage &a, const ::V1_4::LogMessage &b) {