В чем смысл уверенности в методе Android Sniff? - PullRequest
0 голосов
/ 23 июля 2011

все:

В методе DataSource :: sniff для получения значения достоверности.Так в чем смысл уверенности?Как понять это?Когда его значение больше или равно 0,6f, значит найден снифф.Но в функции SniffMP3 достоверность установлена ​​на 0,2f.Почему?

    bool DataSource::sniff(
        String8 *mimeType, float *confidence, sp<AMessage> *meta) {
    *mimeType = "";
    *confidence = 0.0f;
    meta->clear();

    Mutex::Autolock autoLock(gSnifferMutex);
    for (List<SnifferFunc>::iterator it = gSniffers.begin();
         it != gSniffers.end(); ++it) {
        String8 newMimeType;
        float newConfidence;
        sp<AMessage> newMeta;
        if ((*it)(this, &newMimeType, &newConfidence, &newMeta)) {
            if (newConfidence > *confidence) {
                *mimeType = newMimeType;
                *confidence = newConfidence;
                *meta = newMeta;
                if(*confidence >= 0.6f) {
                    LOGV("Ignore other Sniffers - confidence = %f , mimeType = %s",*confidence,mimeType->string());
                    break;
                }
            }
        }
    }

    return *confidence > 0.0;
 }

1 Ответ

1 голос
/ 31 августа 2011

Я думаю, он просто будет искать лучший парсер для файла.если

((*it)(this, &newMimeType, &newConfidence, &newMeta))

вернул true, это уже парсер для этого файла.Но может случиться так, что для этого файла будет более 1 парсера, поэтому он будет выглядеть лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...