ソースを参照

adjust

master
Gitea 5年前
コミット
3f2c235981
3個のファイルの変更33行の追加14行の削除
  1. +5
    -0
      .gitignore
  2. +1
    -0
      TestDASServer.cpp
  3. +27
    -14
      TestMediaRealPlay.cpp

+ 5
- 0
.gitignore ファイルの表示

@@ -0,0 +1,5 @@
Temp/
.vs/
UpgradeLog.htm
Backup/
*.o

+ 1
- 0
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); printf("hDevice::%d, dPos::%d, DeiveID::%s\r\n",hDevice,dPos,pDASInfo->sDevId);
hDeviceArr[dPos] = hDevice; hDeviceArr[dPos] = hDevice;
strncpy(DeviceIdArr[dPos], pDASInfo->sDevId, 127); strncpy(DeviceIdArr[dPos], pDASInfo->sDevId, 127);
printf("cachedMedia %d\r\n", hDeviceArr[dPos]);
// hDevice---等同于XSDK_DevLoginSyn/XSDK_DevLogin的返回值 // 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", //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); // pDASInfo->sDevIP, pDASInfo->nDevPort, pDASInfo->sDevId, pDASInfo->sUserName, pDASInfo->sPassword, pDASInfo->nChannelNum, pDASInfo->sEncryptType);


+ 27
- 14
TestMediaRealPlay.cpp ファイルの表示

@@ -4,7 +4,7 @@
int getPos(XSDK_HANDLE hMedia) { int getPos(XSDK_HANDLE hMedia) {
int size = sizeof(hDeviceArr) / sizeof(hDeviceArr[0]); int size = sizeof(hDeviceArr) / sizeof(hDeviceArr[0]);
for (int i = 0; i < size; i++) { 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) { if (hDeviceArr[i] == hMedia) {
return i; 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"); string fmt("/extdisk/origin/%04d-%02d-%02d-%02d.dat");
char file_name[1024]; char file_name[1024];
snprintf(file_name,sizeof(file_name),fmt.c_str(),pFrame->nYear,pFrame->nMonth,pFrame->nDay,pFrame->nHour) ; 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("video_header.dat", pFrame->pHeader, pFrame->nLength);
ABFile(file_name, pFrame->pContent, pFrame->nFrameLength); ABFile(file_name, pFrame->pContent, pFrame->nFrameLength);
} }
@@ -59,23 +59,28 @@ int TestMediaRealPlay()
{ {
printf("MediaRealPlay %s\r\n", __FUNCTION__); printf("MediaRealPlay %s\r\n", __FUNCTION__);
XSDK_HANDLE hPlayer = 0;
XSDK_HANDLE hPlayer[6] ;
bool bPause = false; bool bPause = false;
int nSpeed = 0; int nSpeed = 0;
char c = 0; char c = 0;
int size = sizeof(hDeviceArr) / sizeof(hDeviceArr[0]);
while((c = getchar()) != 'q') while((c = getchar()) != 'q')
{ {
switch(c) switch(c)
{ {
case 's': 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++) for (int i = 0; i < size; i++)
{ {
SXMediaRealPlayReq param = { 0 }; SXMediaRealPlayReq param = { 0 };
@@ -83,28 +88,36 @@ int TestMediaRealPlay()
param.nStreamType = 0; param.nStreamType = 0;
param.nRequestType = EXSDK_DATA_FORMATE_FRAME; param.nRequestType = EXSDK_DATA_FORMATE_FRAME;
param.pMediaCallback = Test_MediaCallBack; param.pMediaCallback = Test_MediaCallBack;
hPlayer = XSDK_MediaRealPlay(hDeviceArr[i], &param);
hPlayer[i] = XSDK_MediaRealPlay(hDeviceArr[i], &param);
bPause = false; bPause = false;
nSpeed = 0; nSpeed = 0;
printf("paly hMedia:: %d\r\n", hDeviceArr[i]);
} }
} }
break; break;
case 't': 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; 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; return 0;
} }

読み込み中…
キャンセル
保存