Beispiel #1
0
jint MMProfileFindEvent_J(JNIEnv *env, jobject thiz, jint parent, jstring name)
{
    jint id;
    const char *_name = name ? env->GetStringUTFChars(name, NULL) : NULL;
    if (!_name)
    {
        return 0;
    }
    id = MMProfileFindEvent((MMP_Event)parent, _name);
    env->ReleaseStringUTFChars(name, _name);
    return id;
}
Beispiel #2
0
bool DataSource::sniff(
        String8 *mimeType, float *confidence, sp<AMessage> *meta) {
    *mimeType = "";
    *confidence = 0.0f;
    meta->clear();
#ifdef  MMPROFILE_HTTP
    MMP_Event  MMP_Player = MMProfileFindEvent(MMP_RootEvent, "Playback");
    if(MMP_Player !=0){
	    MMP_DATASOURCE= MMProfileRegisterEvent(MMP_Player, "sniff");
	    MMProfileEnableEvent(MMP_DATASOURCE,1); 	
    } 
#endif	

    Mutex::Autolock autoLock(gSnifferMutex);
    for (List<SnifferFunc>::iterator it = gSniffers.begin();
         it != gSniffers.end(); ++it) {
#ifdef  MMPROFILE_HTTP
    MMProfileLogMetaString(MMP_DATASOURCE, MMProfileFlagStart, "sniff+");
      
#endif		 	
        String8 newMimeType;
        float newConfidence;
        sp<AMessage> newMeta;
        if ((*it)(this, &newMimeType, &newConfidence, &newMeta)) {
            if (newConfidence > *confidence) {
                *mimeType = newMimeType;
                *confidence = newConfidence;
                *meta = newMeta;
            }
        }
 #ifdef  MMPROFILE_HTTP
    MMProfileLogMetaString(MMP_DATASOURCE, MMProfileFlagEnd, "sniff-");
#endif			
    }

    return *confidence > 0.0;
}