When the extractor is not able to be created successfully, don't crash
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user