diff options
Diffstat (limited to 'media/libstagefright/DataSource.cpp')
-rw-r--r-- | media/libstagefright/DataSource.cpp | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp index 8b49d18..3d8688f 100644 --- a/media/libstagefright/DataSource.cpp +++ b/media/libstagefright/DataSource.cpp @@ -131,19 +131,11 @@ status_t DataSource::getSize(off64_t *size) { Mutex DataSource::gSnifferMutex; List<DataSource::SnifferFunc> DataSource::gSniffers; -List<DataSource::SnifferFunc> DataSource::gExtraSniffers; bool DataSource::gSniffersRegistered = false; bool DataSource::sniff( String8 *mimeType, float *confidence, sp<AMessage> *meta) { - bool forceExtraSniffers = false; - - if (*confidence == 3.14f) { - // Magic value, as set by MediaExtractor when a video container looks incomplete - forceExtraSniffers = true; - } - *mimeType = ""; *confidence = 0.0f; meta->clear(); @@ -169,23 +161,6 @@ bool DataSource::sniff( } } - /* Only do the deeper sniffers if the results are null or in doubt */ - if (mimeType->length() == 0 || *confidence < 0.21f || forceExtraSniffers) { - for (List<SnifferFunc>::iterator it = gExtraSniffers.begin(); - it != gExtraSniffers.end(); ++it) { - String8 newMimeType; - float newConfidence; - sp<AMessage> newMeta; - if ((*it)(this, &newMimeType, &newConfidence, &newMeta)) { - if (newConfidence > *confidence) { - *mimeType = newMimeType; - *confidence = newConfidence; - *meta = newMeta; - } - } - } - } - return *confidence > 0.0; } @@ -210,14 +185,7 @@ void DataSource::RegisterSnifferPlugin() { getExtractorPlugin(plugin); } if (plugin->sniff) { - for (List<SnifferFunc>::iterator it = gExtraSniffers.begin(); - it != gExtraSniffers.end(); ++it) { - if (*it == plugin->sniff) { - return; - } - } - - gExtraSniffers.push_back(plugin->sniff); + RegisterSniffer_l(plugin->sniff); } } @@ -248,6 +216,7 @@ void DataSource::RegisterDefaultSniffers() { && (!strcmp(value, "1") || !strcasecmp(value, "true"))) { RegisterSniffer_l(SniffDRM); } + gSniffersRegistered = true; } |