summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/DataSource.cpp
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-12-26 17:02:29 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-28 02:19:26 -0800
commit4adc18316df05e7a4c3bd246774fa66d72b1ced9 (patch)
tree38838a9b077125f164ba09900cbb571cadf4a554 /media/libstagefright/DataSource.cpp
parent1bb6c3edfea2a8b961e9550bd02a1e0e3d79db22 (diff)
downloadframeworks_av-4adc18316df05e7a4c3bd246774fa66d72b1ced9.zip
frameworks_av-4adc18316df05e7a4c3bd246774fa66d72b1ced9.tar.gz
frameworks_av-4adc18316df05e7a4c3bd246774fa66d72b1ced9.tar.bz2
stagefright: Remove special handling of FFMPEG extractor
* Extractor now checks if Stagefright already reported a high confidence level. Treat it as a first class citizen. Change-Id: Id41af84a0f9f9c51df4602f283776b5d19bf666b
Diffstat (limited to 'media/libstagefright/DataSource.cpp')
-rw-r--r--media/libstagefright/DataSource.cpp35
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;
}