Kaynağa Gözat

adjust

master
Gitea 5 yıl önce
ebeveyn
işleme
3f2c235981
3 değiştirilmiş dosya ile 33 ekleme ve 14 silme
  1. +5
    -0
      .gitignore
  2. +1
    -0
      TestDASServer.cpp
  3. +27
    -14
      TestMediaRealPlay.cpp

+ 5
- 0
.gitignore Dosyayı Görüntüle

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

+ 1
- 0
TestDASServer.cpp Dosyayı Görüntüle

@@ -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);


+ 27
- 14
TestMediaRealPlay.cpp Dosyayı Görüntüle

@@ -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], &param);
hPlayer[i] = XSDK_MediaRealPlay(hDeviceArr[i], &param);
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;
}

Yükleniyor…
İptal
Kaydet