Merge "Fix issues with extractor dumpsys" am: 24cd6995c7 am: 579955d0ce am: 7944a0a546
am: d84aee8fc9
Change-Id: I32e46905233c052dbc846241f5bfe33399d360f8
diff --git a/media/libmedia/IMediaExtractor.cpp b/media/libmedia/IMediaExtractor.cpp
index 7776313..0f4f092 100644
--- a/media/libmedia/IMediaExtractor.cpp
+++ b/media/libmedia/IMediaExtractor.cpp
@@ -200,11 +200,16 @@
for (size_t i = 0; i < tracks.size(); i++) {
const String8 desc = trackDescriptions.itemAt(i);
str.appendFormat(" track {%s} ", desc.string());
- const sp<IMediaSource> source = tracks.itemAt(i).promote();
- if (source == NULL) {
- str.append(": deleted\n");
+ wp<IMediaSource> wSource = tracks.itemAt(i);
+ if (wSource == NULL) {
+ str.append(": null\n");
} else {
- str.appendFormat(": active\n");
+ const sp<IMediaSource> source = wSource.promote();
+ if (source == NULL) {
+ str.append(": deleted\n");
+ } else {
+ str.appendFormat(": active\n");
+ }
}
}
return str;
@@ -223,9 +228,14 @@
if (extractor != NULL && extractor == ex) {
if (instance.tracks.size() > 5) {
instance.tracks.resize(5);
+ instance.trackDescriptions.resize(5);
}
instance.tracks.push_front(source);
- instance.trackDescriptions.add(source->getFormat()->toString());
+ if (source != NULL) {
+ instance.trackDescriptions.push_front(source->getFormat()->toString());
+ } else {
+ instance.trackDescriptions.push_front(String8::empty());
+ }
break;
}
}