MediaTranscodingService: Add AdjustableMaxPriorityQueue.
AdjustableMaxPriorityQueue is a custom max priority queue that helps managing jobs for MediaTranscodingService.
AdjustableMaxPriorityQueue is a wrapper template around the STL's *_heap() functions.
- Internally, it uses a std::vector<T> to store elements in a heap order.
- Support adjusting item's priority while maintaining the heap property.
- Support removing any item in the heap while maintaining the heap property.
- AdjustableMaxPriorityQueue needs T::operator<() at instantiation time
Bug: 145233472
Test: Unit test.
Change-Id: Ic43eee817877dfbf8b38919ce03d40d8763c493c
diff --git a/media/libmediatranscoding/tests/Android.bp b/media/libmediatranscoding/tests/Android.bp
index f3cc4c5..8191b00 100644
--- a/media/libmediatranscoding/tests/Android.bp
+++ b/media/libmediatranscoding/tests/Android.bp
@@ -35,4 +35,14 @@
defaults: ["libmediatranscoding_test_defaults"],
srcs: ["TranscodingClientManager_tests.cpp"],
+}
+
+//
+// AdjustableMaxPriorityQueue unit test
+//
+cc_test {
+ name: "AdjustableMaxPriorityQueue_tests",
+ defaults: ["libmediatranscoding_test_defaults"],
+
+ srcs: ["AdjustableMaxPriorityQueue_tests.cpp"],
}
\ No newline at end of file