diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b96d45e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +Temp/ +.vs/ +UpgradeLog.htm +Backup/ +*.o \ No newline at end of file diff --git a/TestDASServer.cpp b/TestDASServer.cpp index 1d2b6a6..ba78111 100644 --- a/TestDASServer.cpp +++ b/TestDASServer.cpp @@ -13,6 +13,7 @@ void OnDASDeviceReg(XSDK_HANDLE hDevice, SXSDKDASDeviceInfo *pDASInfo, int dPos) printf("hDevice::%d, dPos::%d, DeiveID::%s\r\n",hDevice,dPos,pDASInfo->sDevId); hDeviceArr[dPos] = hDevice; strncpy(DeviceIdArr[dPos], pDASInfo->sDevId, 127); + printf("cachedMedia %d\r\n", hDeviceArr[dPos]); // hDevice---等同于XSDK_DevLoginSyn/XSDK_DevLogin的返回值 //printf("OnDASDeviceReg-->\r\nIP:%s\r\nPort:%d\r\nDeiveID:%s\r\nUserName:%s\r\nPassword:%s\r\nChannelNum:%d\r\nEncryptyType:%s\r\n", // pDASInfo->sDevIP, pDASInfo->nDevPort, pDASInfo->sDevId, pDASInfo->sUserName, pDASInfo->sPassword, pDASInfo->nChannelNum, pDASInfo->sEncryptType); diff --git a/TestMediaRealPlay.cpp b/TestMediaRealPlay.cpp index 100e733..9d107a1 100644 --- a/TestMediaRealPlay.cpp +++ b/TestMediaRealPlay.cpp @@ -4,7 +4,7 @@ int getPos(XSDK_HANDLE hMedia) { int size = sizeof(hDeviceArr) / sizeof(hDeviceArr[0]); for (int i = 0; i < size; i++) { - printf("pos:: %d , hMedia:: %d,hMedia::%d\r\n",i,hDeviceArr[i],hMedia); + printf("pos:: %d , cached:: %d,hMedia:: %d\r\n",i,hDeviceArr[i],hMedia); if (hDeviceArr[i] == hMedia) { return i; } @@ -33,7 +33,7 @@ int CALLBACK Test_MediaCallBack(XSDK_HANDLE hMedia, const unsigned char *pData, string fmt("/extdisk/origin/%04d-%02d-%02d-%02d.dat"); char file_name[1024]; snprintf(file_name,sizeof(file_name),fmt.c_str(),pFrame->nYear,pFrame->nMonth,pFrame->nDay,pFrame->nHour) ; - printf("path: %d ,%s \r\n", pos,file_name); + printf("file_path: %d ,%s \r\n", pos,file_name); // ABFile("video_header.dat", pFrame->pHeader, pFrame->nLength); ABFile(file_name, pFrame->pContent, pFrame->nFrameLength); } @@ -59,23 +59,28 @@ int TestMediaRealPlay() { printf("MediaRealPlay %s\r\n", __FUNCTION__); - XSDK_HANDLE hPlayer = 0; + XSDK_HANDLE hPlayer[6] ; bool bPause = false; int nSpeed = 0; char c = 0; + int size = sizeof(hDeviceArr) / sizeof(hDeviceArr[0]); + while((c = getchar()) != 'q') { switch(c) { case 's': { - if (hPlayer) + for (int i = 0; i < size; i++) { - XSDK_MediaStop(hPlayer); - hPlayer = 0; + if (hPlayer[i]) + { + XSDK_MediaStop(hPlayer[i]); + hPlayer[i] = 0; + } } - int size = sizeof(hDeviceArr) / sizeof(hDeviceArr); + for (int i = 0; i < size; i++) { SXMediaRealPlayReq param = { 0 }; @@ -83,28 +88,36 @@ int TestMediaRealPlay() param.nStreamType = 0; param.nRequestType = EXSDK_DATA_FORMATE_FRAME; param.pMediaCallback = Test_MediaCallBack; - hPlayer = XSDK_MediaRealPlay(hDeviceArr[i], ¶m); + hPlayer[i] = XSDK_MediaRealPlay(hDeviceArr[i], ¶m); bPause = false; nSpeed = 0; + printf("paly hMedia:: %d\r\n", hDeviceArr[i]); } } break; case 't': { - if (hPlayer) + for (int i = 0; i < size; i++) { - XSDK_MediaStop(hPlayer); - hPlayer = 0; + if (hPlayer[i]) + { + XSDK_MediaStop(hPlayer[i]); + hPlayer[i] = 0; + } } + } break; } } - if (hPlayer) + for (int i = 0; i < size; i++) { - XSDK_MediaStop(hPlayer); - hPlayer = 0; + if (hPlayer[i]) + { + XSDK_MediaStop(hPlayer[i]); + hPlayer[i] = 0; + } } return 0; }