예제 #1
0
jint MMProfileLogMetaString_J(JNIEnv *env, jobject thiz, jint event, jint type, jstring str)
{
    jint ret;
    const char *_str = str ? env->GetStringUTFChars(str, NULL) : NULL;
    if (!_str)
    {
        return -1;
    }
    ret = MMProfileLogMetaString((MMP_Event)event, (MMP_LogType)type, _str);
    env->ReleaseStringUTFChars(str, _str);
    return ret;
}
예제 #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;
}
bool CPTLogStr(CPT_Event event, CPT_LogType type, const char* str)
{
    if(!gbInit)
    {
        return true;
    }
    switch(type){
    	case 	CPTFlagStart:
    		MMProfileLogMetaString(gMMPEvent[event], MMProfileFlagStart, str);
    		break;
    	case 	CPTFlagEnd:
    		MMProfileLogMetaString(gMMPEvent[event], MMProfileFlagEnd, str);
    		break;
    	case 	CPTFlagPulse:
    		MMProfileLogMetaString(gMMPEvent[event], MMProfileFlagPulse, str);
    		break;
        case    CPTFlagSeparator:
            MMProfileLogMetaString(gMMPEvent[event], MMProfileFlagEventSeparator, str);
            break;
    	default:
    		break;
    }
    return true;
}