resourcemanager: subclassify codecs into HW or SW
As part of refactoring the resource manager and the resources,
this change does the subclassification of codecs into
hardware of software.
Since, there is no change in the functionality or addition
or modifications of ResourceManagerService binder APIs,
this change is unflagged.
Bug: 289097671
Test: atest android.media.misc.cts.ResourceManagerTest
atest android.media.misc.cts.ResourceManagerMultiTest
/data/nativetest64/ResourceManagerService_test/ResourceManagerService_test
/data/nativetest64/ResourceObserverService_test/ResourceObserverService_test
Change-Id: Ia5e2607a541ee687b1b8bc0b9e3aeba7edb2a2c8
diff --git a/media/libmedia/MediaResource.cpp b/media/libmedia/MediaResource.cpp
index a6f0b60..1bcb4b9 100644
--- a/media/libmedia/MediaResource.cpp
+++ b/media/libmedia/MediaResource.cpp
@@ -61,8 +61,9 @@
}
//static
-MediaResource MediaResource::VideoBatteryResource() {
- return MediaResource(Type::kBattery, SubType::kVideoCodec, 1);
+MediaResource MediaResource::VideoBatteryResource(bool isHardware) {
+ SubType subType = isHardware ? SubType::kHwVideoCodec : SubType::kSwVideoCodec;
+ return MediaResource(Type::kBattery, subType, 1);
}
//static
diff --git a/media/libmedia/include/media/MediaResource.h b/media/libmedia/include/media/MediaResource.h
index 3b69d4f..c88fee2 100644
--- a/media/libmedia/include/media/MediaResource.h
+++ b/media/libmedia/include/media/MediaResource.h
@@ -41,7 +41,7 @@
int64_t instanceCount = 1);
static MediaResource GraphicMemoryResource(int64_t value);
static MediaResource CpuBoostResource();
- static MediaResource VideoBatteryResource();
+ static MediaResource VideoBatteryResource(bool isHardware = true);
static MediaResource DrmSessionResource(const std::vector<uint8_t> &id, int64_t value);
};
@@ -61,10 +61,13 @@
inline static const char *asString(MediaResource::SubType i, const char *def = "??") {
switch (i) {
case MediaResource::SubType::kUnspecifiedSubType: return "unspecified";
- case MediaResource::SubType::kAudioCodec: return "audio-codec";
- case MediaResource::SubType::kVideoCodec: return "video-codec";
- case MediaResource::SubType::kImageCodec: return "image-codec";
- default: return def;
+ case MediaResource::SubType::kHwAudioCodec: return "hw-audio-codec";
+ case MediaResource::SubType::kSwAudioCodec: return "sw-audio-codec";
+ case MediaResource::SubType::kHwVideoCodec: return "hw-video-codec";
+ case MediaResource::SubType::kSwVideoCodec: return "sw-video-codec";
+ case MediaResource::SubType::kHwImageCodec: return "hw-image-codec";
+ case MediaResource::SubType::kSwImageCodec: return "sw-image-codec";
+ default: return def;
}
}