When the extractor is not able to be created successfully, don't crash

This commit is contained in:
James Dong
2010-02-04 18:08:06 -08:00
parent 09922d855b
commit e4cfcb82a8
3 changed files with 14 additions and 1 deletions

View File

@@ -106,6 +106,9 @@ sp<MediaSource> createSource(const char *filename) {
sp<MediaExtractor> extractor =
MediaExtractor::Create(new FileSource(filename));
if (extractor == NULL) {
return NULL;
}
size_t num_tracks = extractor->countTracks();

View File

@@ -431,6 +431,10 @@ int main(int argc, char **argv) {
mediaSource = new JPEGSource(dataSource);
} else {
sp<MediaExtractor> extractor = MediaExtractor::Create(dataSource);
if (extractor == NULL) {
fprintf(stderr, "could not create data source\n");
return -1;
}
size_t numTracks = extractor->countTracks();

View File

@@ -512,7 +512,9 @@ static sp<MediaSource> CreateSourceForMime(const char *mime) {
sp<MediaExtractor> extractor = CreateExtractorFromURI(url);
CHECK(extractor != NULL);
if (extractor == NULL) {
return NULL;
}
for (size_t i = 0; i < extractor->countTracks(); ++i) {
sp<MetaData> meta = extractor->getTrackMetaData(i);
@@ -571,6 +573,10 @@ status_t Harness::testSeek(
sp<MediaSource> source = CreateSourceForMime(mime);
sp<MediaSource> seekSource = CreateSourceForMime(mime);
if (source == NULL || seekSource == NULL) {
return UNKNOWN_ERROR;
}
CHECK_EQ(seekSource->start(), OK);
sp<MediaSource> codec = OMXCodec::Create(