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