Linux教程

EasyCVR打包Linux版本报错NET_DVR_DownFileByName_Stop解决

本文主要是介绍EasyCVR打包Linux版本报错NET_DVR_DownFileByName_Stop解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

大家知道EasyCVR是TSINGSEE青犀视频开发的平台中支持协议最多的一款协议融合平台,EasyCVR能够兼容海康、大华的私有SDK,同时也具备GB28181、Ehome协议的级联、语音对讲等特点。根据自己的系统,大家可以自由选择windows版本或者linux版本的软件进行部署。

我们的开发人员对EasyCVR打包Linux版本时,出现了EASY_NET_DVR_DownFileByName_Stop的报错。

int Easy_NET_DVR_StartRemoteConfig(int loginhandle, int channelNum, int year, int month, int day, int hour, int minute, int second, char* path,int size){
	char pathArr[128];
	memset(pathArr, 0, sizeof(pathArr));
	memcpy(pathArr, path, size);
	NET_DVR_GET_FIGURE_COND cond;
	memset(&cond, 0 ,sizeof(NET_DVR_GET_FIGURE_COND));
	cond.dwLength = sizeof(NET_DVR_GET_FIGURE_COND);
	cond.dwChannel = channelNum;
	cond.struTimePoint.wYear = year;
	cond.struTimePoint.byMonth = month;
	cond.struTimePoint.byDay = day;
	cond.struTimePoint.byHour = hour;
	cond.struTimePoint.byMinute = minute;
	cond.struTimePoint.bySecond = second;

	int ret = NET_DVR_StartRemoteConfig(loginhandle, 6610, &cond, sizeof(cond), EasyDownloadPictureByTimeCallback, path);
	if (ret < 0)
	{
		return ret;
	}
	sleep(2);
	NET_DVR_StopRemoteConfig(ret);
	return ret;
}

int EASY_NET_DVR_DownFileByName_Start(int loginhandle, char* srcfile, char* destfile){
    int bRes = 1;
    int hPlayback = 0;
    if( (hPlayback = NET_DVR_GetFileByName(loginhandle, srcfile, destfile)) < 0 ){
        printf( "GetFileByName failed. error[%d]\n", NET_DVR_GetLastError());
        bRes= -1;
        return bRes;
    }
    int pos = 0;
    if(!NET_DVR_PlayBackControl_V40(hPlayback, NET_DVR_PLAYSETPOS, &pos,4,NULL,NULL)){
        printf("play back control failed [%d]\n",NET_DVR_GetLastError());
        bRes=-1;
        return bRes;
    }
    if(!NET_DVR_PlayBackControl_V40(hPlayback, NET_DVR_PLAYSTART, NULL,0,NULL,NULL)){
        printf("play back control failed [%d]\n",NET_DVR_GetLastError());
        bRes=-1;
        return bRes;
    }
   return 0;
}

int EASY_NET_DVR_DownFileByName_Stop(int filehandle){
	int bRes = 0;
    int nPos = NET_DVR_GetDownloadPos(filehandle);
    printf("have got %d\n", nPos);
    if(!NET_DVR_StopGetFile(filehandle)){
        printf("failed to stop get file [%d]\n",NET_DVR_GetLastError());
        bRes = -1;
        return bRes;
    }
    if(nPos<0||nPos>100) {
        printf("download err [%d]\n",NET_DVR_GetLastError());
        bRes=-1;
        return bRes;
    }else {
        return 0;
    }
 return 0;
}

再次打包无报错:

 

这篇关于EasyCVR打包Linux版本报错NET_DVR_DownFileByName_Stop解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!