MediaErrors: add drm@1.4 error code mappings
Bug: 162255728
Test: GtsMediaTestCases
Change-Id: I52de27d9e1683e03b2d18e42b98f9bc4f26e7205
diff --git a/drm/libmediadrm/interface/mediadrm/DrmUtils.h b/drm/libmediadrm/interface/mediadrm/DrmUtils.h
index 20b3fe9..de68a37 100644
--- a/drm/libmediadrm/interface/mediadrm/DrmUtils.h
+++ b/drm/libmediadrm/interface/mediadrm/DrmUtils.h
@@ -19,6 +19,7 @@
#include <android/hardware/drm/1.0/ICryptoFactory.h>
#include <android/hardware/drm/1.0/IDrmFactory.h>
+#include <android/hardware/drm/1.4/types.h>
#include <utils/Errors.h> // for status_t
#include <utils/StrongPointer.h>
#include <vector>
@@ -91,8 +92,21 @@
std::vector<sp<::V1_0::ICryptoPlugin>> MakeCryptoPlugins(const uint8_t uuid[16],
const void *initData, size_t initDataSize);
+status_t toStatusT_1_4(::V1_4::Status status);
+
+template<typename S>
+inline status_t toStatusT(S status) {
+ auto err = static_cast<::V1_4::Status>(status);
+ return toStatusT_1_4(err);
+}
+
+template<typename T>
+inline status_t toStatusT(const android::hardware::Return<T> &status) {
+ auto t = static_cast<T>(status);
+ auto err = static_cast<::V1_4::Status>(t);
+ return toStatusT_1_4(err);
+}
+
} // namespace DrmUtils
-
} // namespace android
-
#endif // ANDROID_DRMUTILS_H