亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? codec_getdevparam.h

?? 修改配置文件的經典程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
    // read the file content line by line
    // fgets() return when encounter enter
    while (fgets(lineTemp, sizeof(lineTemp), file)!=NULL) {

        if (lineTemp[strlen(lineTemp)-1]=='\n') lineTemp[strlen(lineTemp)-1] = '\0';
		
	// string class: add "using namespace std" and include <string>
	// member func: swap(),erase(),insert(),clear(),replace()...
        line.erase(); // clear character string
        line.insert(0, lineTemp); // insert character string on position index 0

	// find function returns the index. If nothing's found, string::npos returned
        if (line.find_first_not_of(" \t\n\r")==string::npos) continue; // skip ahead if line is empty
        
        if (line[0]=='#') continue; // skip ahead if the line is a comment
        
        API_ParseEntry(line,name,val); // use line informaton to splits up name and value
        if (bPsFile || bEsFile) {
            if (name=="vid_horizontal_size_value") {
                sscanf(val.c_str(), "%d", &appparam->HResolu); 
            } else if (name=="vid_vertical_size_value") {
                sscanf(val.c_str(), "%d", &appparam->VResolu); 
            } else if (name=="vid_bit_rate") {
                sscanf(val.c_str(), "%d", &appparam->VidBitRate); 
            } else if (name=="vid_vbv_buffer_size") {
                sscanf(val.c_str(), "%d", &appparam->VBVSize);
            } else if (name=="vid_video_format") {
                sscanf(val.c_str(), "%d", &appparam->VidFmt); 
            } else if (name=="vid_stream_type") {
                sscanf(val.c_str(), "%d", &appparam->VidMpeg); 
            } else if (name=="aud_sampling_rate") {
                sscanf(val.c_str(), "%d", &appparam->AudSamRate); 
            } else if (name=="aud_bit_rate") {
                sscanf(val.c_str(), "%d", &appparam->AudBitRate);
            } else if (name=="aud_mode") {
                 sscanf(val.c_str(), "%d", &appparam->AudChnMode);
            } else {
                continue;
            }
        } else {
            if (name=="video_horizontal_size") {
                sscanf(val.c_str(), "%d", &appparam->HResolu); 
            } else if (name=="video_vertical_size") {
                sscanf(val.c_str(), "%d", &appparam->VResolu); 
            } else if (name=="video_bit_rate") {
                sscanf(val.c_str(), "%d", &appparam->VidBitRate); 
            } else if (name=="video_vbv_buffer_size") {
                sscanf(val.c_str(), "%d", &appparam->VBVSize);
            } else if (name=="vid_video_format") {
                sscanf(val.c_str(), "%d", &appparam->VidFmt); 
            } else if (name=="mux_mpeg_coding_standard") {
                sscanf(val.c_str(), "%d", &appparam->VidMpeg); 
            } else if (name=="audio_sampling_rate") {
                sscanf(val.c_str(), "%d", &appparam->AudSamRate); 
            } else if (name=="audio_bit_rate") {
                sscanf(val.c_str(), "%d", &appparam->AudBitRate);
            } else if (name=="audio_channel") {
                 sscanf(val.c_str(), "%d", &appparam->AudChnMode);
            } else {
                continue;
            }
        }
    }
    
    if (fclose(file)!=0) printf("Cannot close file\n");

    return SUCCESS;
}

/** parse a given com config file */
int API_ParseComConfigFile(const char* filename, ComConfigStruct *pParam) {
    printf("++API_ParseComConfigFile()\n");
	
    FILE *file = fopen(filename, "r");	// open the config file
    if (file==NULL) {
  	printf("Cannot find com config file: %s\n",filename);
	return FAILURE;
    }
	
    ComConfigStruct *appparam = NULL;
    appparam = pParam;

    string line, name,val,valTemp1,valTemp2;
    char lineTemp[8*1024];

    // read the file content line by line
    // fgets() return when encounter enter
    while (fgets(lineTemp, sizeof(lineTemp), file)!=NULL) {

        if (lineTemp[strlen(lineTemp)-1]=='\n') lineTemp[strlen(lineTemp)-1] = '\0';

	// string class: add "using namespace std" and include <string>
	// member func: swap(),erase(),insert(),clear(),replace()...
        line.erase(); // clear character string
        line.insert(0, lineTemp); // insert character string on position index 0

	// find function returns the index. If nothing's found, string::npos returned
        if (line.find_first_not_of(" \t\n\r")==string::npos) continue; // skip ahead if line is empty
        
        if (line[0]=='#') continue; // skip ahead if the line is a comment
        
        API_ParseEntry(line,name,val);	// use line informaton to splits up name and value

        if (name=="com1_baud_rate") {
            sscanf(val.c_str(), "%d", &appparam->COM1.BaudRate);
        } else if (name=="com1_parity_type") {
             sscanf(val.c_str(), "%c", &appparam->COM1.ParityType); 
        } else if (name=="com1_data_bit") {
            sscanf(val.c_str(), "%d", &appparam->COM1.DataBitLen);
        } else if (name=="com1_stop_bit") {
            sscanf(val.c_str(), "%d", &appparam->COM1.StopBitLen);
        } else if (name=="com1_hard_flow_ctrl") {
            appparam->COM1.bHardFlowCtrl=(val=="TRUE") || (val=="true");
        } else if (name=="com1_soft_flow_ctrl") {
            appparam->COM1.bSoftFlowCtrl=(val=="TRUE") || (val=="true");
        } else if (name=="com2_baud_rate") {
            sscanf(val.c_str(), "%d", &appparam->COM2.BaudRate);
        } else if (name=="com2_parity_type") {
             sscanf(val.c_str(), "%c", &appparam->COM2.ParityType); 
        } else if (name=="com2_data_bit") {
            sscanf(val.c_str(), "%d", &appparam->COM2.DataBitLen);
        } else if (name=="com2_stop_bit") {
            sscanf(val.c_str(), "%d", &appparam->COM2.StopBitLen);
        } else if (name=="com2_hard_flow_ctrl") {
            appparam->COM2.bHardFlowCtrl=(val=="TRUE") || (val=="true");
        } else if (name=="com2_soft_flow_ctrl") {
            appparam->COM2.bSoftFlowCtrl=(val=="TRUE") || (val=="true");
        } else if (name=="local_alarm_com") {
            sscanf(val.c_str(), "%d", &appparam->LocalAlarmCom);
        } else if (name=="com_remote_address") {
	    API_ParseColon (val,appparam->ComRemoteAddr.sIP,appparam->ComRemoteAddr.nPort);
        } else {
        	continue;
        }
    }
    
    if (fclose(file)!=0) printf("Cannot close com config file\n");

    return SUCCESS;
}
/** get config info from config.ini
 @pParam = pointer to Struct
 @returen SUCCESS or FAILURE
*/
int CODEC_GetDevParam (LPVOID pParam) {
    printf("++CODEC_GetDevParam()\n");

    DevParamStruct *dev_param = (DevParamStruct *)pParam;
    ConfigParamStruct cfg_param;
    CodecParamStruct  codec_param;
    ComConfigStruct   com_cfg;

    int reval;
    // initialization
    API_InitDevParamStruct(dev_param);
    API_InitConfigParamStruct(&cfg_param);
    API_InitCodecParamStruct(&codec_param);
    API_InitComConfigStruct(&com_cfg);

    // get config param
    reval = API_ParseConfigFile("./conf/config.ini", &cfg_param);
    if(reval == FAILURE) {
        printf("parse config file error, quiting...\n");
        return FAILURE;
    }

    // get codec param
    _MEDIA_TYPE_ media_type;
    char filename[MAX_FILE_NAME_LEN];
    media_type = cfg_param.MediaType;
    if (MEDIA_VES == media_type) {
        strcpy(filename,"./conf/codec_es.ini");
    } else if (MEDIA_PS == media_type) {
        strcpy(filename,"./conf/codec_ps.ini");
    } else if (MEDIA_TS == media_type) {
        strcpy(filename,"./conf/codec_ts.ini");
    } else {
        printf("CODEC_GetDevParam(): check media type unmatch\n");
        return FAILURE;
    }
    reval = API_ParseCodecFile(filename, &codec_param);
    if(reval == FAILURE) {
        printf("parse codec file error, quiting...\n");
        return FAILURE;
    }

    // get com config param
    reval = API_ParseComConfigFile("./conf/config.ini", &com_cfg);
    if(reval == FAILURE) {
        printf("parse com config file error, quiting...\n");
        return FAILURE;
    }

    // get device param
    // config param
    dev_param->DevType    = cfg_param.DevType;
    dev_param->DevID      = cfg_param.DevID;
    dev_param->MediaType  = cfg_param.MediaType;
    dev_param->TransProto = cfg_param.TransProto;
    strcpy(dev_param->local_network_ipaddr ,cfg_param.local_network_ipaddr);
    strcpy(dev_param->local_network_mask   ,cfg_param.local_network_mask);
    strcpy(dev_param->local_network_gateway,cfg_param.local_network_gateway);
    dev_param->my_port              = cfg_param.my_port;
    memcpy(&(dev_param->server_address), (char *)&(cfg_param.server_address),sizeof(Net_Addr));
    strcpy(dev_param->control_ipaddr, cfg_param.control_ipaddr);
    dev_param->doMulticast          = cfg_param.doMulticast;
    memcpy(&(dev_param->multicast_address), (char *)&(cfg_param.multicast_address),sizeof(Net_Addr));
    dev_param->doNetSend            = cfg_param.doNetSend;
    dev_param->iSendNum             = cfg_param.iSendNum;
    memcpy(&(dev_param->send_target_list), (char *)&(cfg_param.send_target_list), sizeof(cfg_param.send_target_list));
    dev_param->doFileWrite          = cfg_param.doFileWrite;
    // video/audio param
    dev_param->HResolu    = codec_param.HResolu;
    dev_param->VResolu    = codec_param.VResolu;
    dev_param->VidBitRate = codec_param.VidBitRate;
    dev_param->VBVSize    = codec_param.VBVSize;
    dev_param->VidFmt     = codec_param.VidFmt;
    dev_param->VidMpeg    = codec_param.VidMpeg;
    dev_param->AudSamRate = codec_param.AudSamRate;
    dev_param->AudBitRate = codec_param.AudBitRate;
    dev_param->AudChnMode = codec_param.AudChnMode;
    // com config param
    dev_param->com1_baud_rate   = com_cfg.COM1.BaudRate;
    dev_param->com1_parity_type = com_cfg.COM1.ParityType;
    dev_param->com1_data_bit    = com_cfg.COM1.DataBitLen;
    dev_param->com1_stop_bit    = com_cfg.COM1.StopBitLen;
    dev_param->com2_baud_rate   = com_cfg.COM2.BaudRate;
    dev_param->com2_parity_type = com_cfg.COM2.ParityType;
    dev_param->com2_data_bit    = com_cfg.COM2.DataBitLen;
    dev_param->com2_stop_bit    = com_cfg.COM2.StopBitLen;
    dev_param->local_alarm_com  = com_cfg.LocalAlarmCom;
    memcpy(&(dev_param->com_remote_address), (char *)&(com_cfg.ComRemoteAddr), sizeof(Net_Addr));

    return SUCCESS;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产伦一区二区三区观看方式 | 精品国产第一区二区三区观看体验| 成人av网站在线观看免费| 久久国产欧美日韩精品| 亚洲成av人片一区二区梦乃| 亚洲成人tv网| 免费观看成人av| 国产福利一区二区三区视频| 福利电影一区二区| 成人高清视频免费观看| 色综合久久88色综合天天免费| 91福利精品视频| 678五月天丁香亚洲综合网| 日韩午夜在线观看视频| 2022国产精品视频| 一色桃子久久精品亚洲| 亚洲精品午夜久久久| 日韩av一区二区三区四区| 国产乱码精品一区二区三区忘忧草| 国产精品白丝av| 日本久久一区二区| 欧美电影在哪看比较好| 久久精品男人的天堂| 亚洲欧美激情插| 免费成人在线视频观看| 成人毛片老司机大片| 欧美日韩国产在线观看| 久久蜜桃一区二区| 夜夜夜精品看看| 国产美女一区二区| 欧美午夜影院一区| 国产欧美一区二区精品秋霞影院| 一个色妞综合视频在线观看| 国产一区二区电影| 欧美日韩免费观看一区二区三区| 亚洲精品在线三区| 亚洲九九爱视频| 久久97超碰国产精品超碰| 91一区二区三区在线观看| 欧美成人一区二区| 亚洲激情一二三区| 国产成人啪免费观看软件| 欧美顶级少妇做爰| 亚洲黄色小视频| 不卡免费追剧大全电视剧网站| 欧美日韩成人在线一区| 国产精品久久久99| 激情欧美一区二区| 欧美精品1区2区3区| 亚洲欧美一区二区久久| 国产一区二区三区四区在线观看| 欧美日韩国产片| 日韩理论电影院| 成人午夜视频福利| 欧美精品一区二区精品网| 天天综合日日夜夜精品| 色噜噜狠狠成人网p站| 日本一区二区视频在线| 久久精品国产亚洲aⅴ| 欧美乱妇23p| 午夜精品在线看| 欧美三区在线视频| 一区二区三区小说| 色吊一区二区三区| 亚洲欧美日韩国产综合| 成人精品鲁一区一区二区| 国产色产综合产在线视频| 久久国产视频网| 日韩一区二区电影| 免费美女久久99| 欧美成人三级在线| 激情综合网最新| 精品理论电影在线观看| 麻豆一区二区在线| 精品久久人人做人人爰| 激情综合色综合久久| 久久久久久久综合日本| 国产东北露脸精品视频| 国产精品久久久久三级| aaa欧美大片| 亚洲在线免费播放| 7777女厕盗摄久久久| 美女精品自拍一二三四| 久久蜜桃一区二区| jlzzjlzz亚洲日本少妇| 国产精品灌醉下药二区| 99精品国产99久久久久久白柏| 综合色中文字幕| 欧美日韩国产一级二级| 美女视频一区在线观看| 国产欧美日韩久久| 一本色道久久综合亚洲aⅴ蜜桃| 一区二区三区四区在线| 欧美日韩国产片| 国产一区二区视频在线播放| 中文字幕中文字幕一区| 色婷婷激情一区二区三区| 丝袜诱惑制服诱惑色一区在线观看| 在线不卡欧美精品一区二区三区| 久久99国产乱子伦精品免费| 中文字幕一区视频| 欧美在线观看禁18| 精品亚洲porn| 亚洲免费伊人电影| 精品少妇一区二区三区 | 91在线观看污| 免费成人美女在线观看| 国产精品盗摄一区二区三区| 精品视频一区三区九区| 国产一区二区不卡老阿姨| 亚洲欧美综合在线精品| 日韩一级片在线播放| 成人av影院在线| 奇米精品一区二区三区在线观看 | 午夜视频在线观看一区二区| 久久免费的精品国产v∧| 欧美影院一区二区三区| 国产精品一区二区三区乱码| 亚洲一区二区欧美| 欧美国产日韩亚洲一区| 欧美一级片免费看| 色偷偷88欧美精品久久久| 国产制服丝袜一区| 日韩激情av在线| 亚洲一区二区三区中文字幕| 国产色婷婷亚洲99精品小说| 日韩欧美另类在线| 欧美另类videos死尸| av一区二区三区黑人| 国产麻豆视频一区二区| 男人的j进女人的j一区| 亚洲成人福利片| 亚洲小少妇裸体bbw| 18欧美乱大交hd1984| 国产肉丝袜一区二区| 91精品国产综合久久精品性色| 色狠狠av一区二区三区| 成人午夜激情片| 成人sese在线| 丰满少妇在线播放bd日韩电影| 激情综合五月天| 韩国女主播一区| 韩国v欧美v日本v亚洲v| 蜜桃视频一区二区三区 | 久久综合999| 日韩免费观看高清完整版在线观看| 欧美日韩在线观看一区二区| 日本久久电影网| 欧美做爰猛烈大尺度电影无法无天| 不卡一二三区首页| 成人网男人的天堂| 91香蕉视频黄| 色噜噜狠狠色综合欧洲selulu| 色狠狠av一区二区三区| 欧美日韩精品久久久| 在线成人免费观看| 欧美一区二视频| 欧美精品一区二区蜜臀亚洲| 国产网站一区二区三区| 欧美国产综合一区二区| 亚洲欧洲99久久| 午夜精品久久久| 老司机精品视频导航| 国产麻豆精品95视频| 成人免费视频播放| 91在线观看污| 欧美精品久久99久久在免费线| 欧美一区二区三区视频免费播放| 欧美一区二区播放| 久久精品亚洲乱码伦伦中文| 亚洲视频一二三| 午夜电影网一区| 国产精品一区一区| 色中色一区二区| 日韩精品一区二区三区在线播放 | 一级精品视频在线观看宜春院| 亚洲动漫第一页| 久久99精品视频| 成人一道本在线| 欧美日韩国产精选| 国产午夜精品理论片a级大结局 | 日韩欧美激情一区| 国产精品日日摸夜夜摸av| 亚洲成人精品一区二区| 国产一区欧美日韩| 欧洲激情一区二区| 国产网红主播福利一区二区| 亚洲一区在线免费观看| 久久国内精品视频| 欧美日韩一区三区四区| 国产欧美视频在线观看| 日日夜夜免费精品| zzijzzij亚洲日本少妇熟睡| 欧美日韩国产区一| 成人免费在线观看入口| 麻豆精品久久久| 欧美在线|欧美| 国产精品久99| 国产在线视频一区二区三区| 欧美三级在线播放|