1

私は現在、IP カメラ (V Star 製の PnP IP/ネットワーク カメラ) からのライブ ストリームを使用するアプリに取り組んでいます。提供された API を使用して接続すると、フレーム o/p が PBFrames として取得されます。それらを表示するのに問題があります。それを経験した人は助けてください。前もって感謝します

void *thread_ReceiveVideo(void *arg)
{
NSLog(@"[thread_ReceiveVideo] Starting...");

int avIndex = *(int *)arg;
char *buf = malloc(VIDEO_BUF_SIZE);
unsigned int frmNo;
int ret;
FRAMEINFO_t frameInfo;

while (1) 
{
    ret = avRecvFrameData(avIndex, buf, VIDEO_BUF_SIZE, (char *)&frameInfo, sizeof(FRAMEINFO_t), &frmNo);

    if(ret == AV_ER_DATA_NOREADY)
    {
        usleep(30000);
        continue;
    }
    else if(ret == AV_ER_LOSED_THIS_FRAME)
    {
        NSLog(@"Lost video frame NO[%d]", frmNo);
        continue;
    }
    else if(ret == AV_ER_INCOMPLETE_FRAME)
    {
        NSLog(@"Incomplete video frame NO[%d]", frmNo);
        NSLog(@" the biffer is : %lu",sizeof(buf));


        continue;
    }
    else if(ret == AV_ER_SESSION_CLOSE_BY_REMOTE)
    {
        NSLog(@"[thread_ReceiveVideo] AV_ER_SESSION_CLOSE_BY_REMOTE");
        break;
    }
    else if(ret == AV_ER_REMOTE_TIMEOUT_DISCONNECT)
    {
        NSLog(@"[thread_ReceiveVideo] AV_ER_REMOTE_TIMEOUT_DISCONNECT");
        break;
    }
    else if(ret == IOTC_ER_INVALID_SID)
    {
        NSLog(@"[thread_ReceiveVideo] Session cant be used anymore");
        break;
    }


    NSLog(@"FRAM INFO FLAG :%hhu ",frameInfo.flags);
if(frameInfo.flags == IPC_FRAME_FLAG_PBFRAME)
    {
        // got an PBFrame, draw it.
        NSLog(@"got a video iframe to display");
      //  NSString *iFramestring = [NSString stringWithUTF8String:buf];
        printf("correclty recieved frame  is %s",buf);
    //                        

                }
}
free(buf);
NSLog(@"[thread_ReceiveVideo] thread exit");    
return 0;
   }
4

0 に答える 0