transcoding: fixes for binder died handling
Change client id type to uintptr_t counter, instead of
casting binder to int64_t.
Save all shared_ptrs of clients in global registry.
bug: 154734285
bug: 145233472
test: transcoding unit tests; manually plant crash
in test client and check binderDied handling in log.
Change-Id: If6523a1c6b7ce797a2201462399174e9cf0a3c71
Change-Id: I6b312c0f28a345285e27b738c37baee2bccae755
diff --git a/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp b/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp
index 7e5ae61..6204f47 100644
--- a/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp
+++ b/media/libmediatranscoding/tests/TranscodingClientManager_tests.cpp
@@ -83,12 +83,12 @@
Finished,
Failed,
} type;
- int32_t jobId;
+ JobIdType jobId;
};
static constexpr Event NoEvent = {Event::NoEvent, 0};
#define DECLARE_EVENT(action) \
- static Event action(int32_t jobId) { return {Event::action, jobId}; }
+ static Event action(JobIdType jobId) { return {Event::action, jobId}; }
DECLARE_EVENT(Finished);
DECLARE_EVENT(Failed);
@@ -120,7 +120,7 @@
virtual ~TestScheduler() { ALOGI("TestScheduler Destroyed"); }
- bool submit(int64_t clientId, int32_t jobId, uid_t /*uid*/,
+ bool submit(ClientIdType clientId, JobIdType jobId, uid_t /*uid*/,
const TranscodingRequestParcel& request,
const std::weak_ptr<ITranscodingClientCallback>& clientCallback) override {
JobKeyType jobKey = std::make_pair(clientId, jobId);
@@ -141,7 +141,7 @@
return true;
}
- bool cancel(int64_t clientId, int32_t jobId) override {
+ bool cancel(ClientIdType clientId, JobIdType jobId) override {
JobKeyType jobKey = std::make_pair(clientId, jobId);
if (mJobs.count(jobKey) == 0) {
@@ -151,7 +151,8 @@
return true;
}
- bool getJob(int64_t clientId, int32_t jobId, TranscodingRequestParcel* request) override {
+ bool getJob(ClientIdType clientId, JobIdType jobId,
+ TranscodingRequestParcel* request) override {
JobKeyType jobKey = std::make_pair(clientId, jobId);
if (mJobs.count(jobKey) == 0) {
return false;
@@ -196,7 +197,7 @@
std::weak_ptr<ITranscodingClientCallback> callback;
};
- typedef std::pair<int64_t, int32_t> JobKeyType;
+ typedef std::pair<ClientIdType, JobIdType> JobKeyType;
std::map<JobKeyType, Job> mJobs;
JobKeyType mLastJob;
};