Expand mediaextractor dumpsys
Bug: 22775369
Change-Id: I3366a52ba7a00d1685a2211465f2f18f143d0efc
diff --git a/services/mediaextractor/MediaExtractorService.cpp b/services/mediaextractor/MediaExtractorService.cpp
index a2b35f6..0c93af1 100644
--- a/services/mediaextractor/MediaExtractorService.cpp
+++ b/services/mediaextractor/MediaExtractorService.cpp
@@ -26,69 +26,29 @@
namespace android {
-typedef struct {
- String8 mime;
- String8 name;
- pid_t owner;
- wp<MediaExtractor> extractor;
- String8 toString() {
- String8 str = name;
- str.append(" for mime ");
- str.append(mime);
- str.append(String8::format(", pid %d: ", owner));
- if (extractor.promote() == NULL) {
- str.append("deleted");
- } else {
- str.append("active");
- }
- return str;
- }
-} ExtractorInstance;
-
-static Vector<ExtractorInstance> extractors;
-
sp<IMediaExtractor> MediaExtractorService::makeExtractor(
const sp<IDataSource> &remoteSource, const char *mime) {
ALOGV("@@@ MediaExtractorService::makeExtractor for %s", mime);
sp<DataSource> localSource = DataSource::CreateFromIDataSource(remoteSource);
- sp<MediaExtractor> ret = MediaExtractor::CreateFromService(localSource, mime);
+ sp<IMediaExtractor> ret = MediaExtractor::CreateFromService(localSource, mime);
ALOGV("extractor service created %p (%s)",
ret.get(),
ret == NULL ? "" : ret->name());
if (ret != NULL) {
- ExtractorInstance ex;
- ex.mime = mime == NULL ? "NULL" : mime;
- ex.name = ret->name();
- ex.owner = IPCThreadState::self()->getCallingPid();
- ex.extractor = ret;
-
- if (extractors.size() > 10) {
- extractors.resize(10);
- }
- extractors.push_front(ex);
+ registerMediaExtractor(ret, remoteSource, mime);
}
return ret;
}
status_t MediaExtractorService::dump(int fd, const Vector<String16>& args) {
- String8 out;
- out.append("Recent extractors, most recent first:\n");
- for (size_t i = 0; i < extractors.size(); i++) {
- ExtractorInstance ex = extractors.itemAt(i);
- out.append(" ");
- out.append(ex.toString());
- out.append("\n");
- }
- write(fd, out.string(), out.size());
- return OK;
+ return dumpExtractors(fd, args);
}
-
status_t MediaExtractorService::onTransact(uint32_t code, const Parcel& data, Parcel* reply,
uint32_t flags)
{