static sp<MediaSource> CreateSourceForMime(const char *mime) { const char *url = GetURLForMime(mime); if (url == NULL) { return NULL; } sp<MediaExtractor> extractor = CreateExtractorFromURI(url); if (extractor == NULL) { return NULL; } for (size_t i = 0; i < extractor->countTracks(); ++i) { sp<MetaData> meta = extractor->getTrackMetaData(i); CHECK(meta != NULL); const char *trackMime; CHECK(meta->findCString(kKeyMIMEType, &trackMime)); if (!strcasecmp(mime, trackMime)) { return extractor->getTrack(i); } } return NULL; }
static sp<MediaSource> MakeSource( const char *uri, const char *mimeType) { sp<MediaExtractor> extractor = CreateExtractorFromURI(uri); if (extractor == NULL) { return NULL; } for (size_t i = 0; i < extractor->countTracks(); ++i) { sp<MetaData> meta = extractor->getTrackMetaData(i); const char *trackMIME; CHECK(meta->findCString(kKeyMIMEType, &trackMIME)); if (!strcasecmp(trackMIME, mimeType)) { return extractor->getTrack(i); } } return NULL; }