我现在需要解码4路15帧的h264视频
AWStreamPlayer* pPlayerNew[4];
for(int i = 0; i < 4; i++)
{
pPlayerNew[i] = AWStreamPlayer::create(&decodeParam);
}
解码的时候:
while (decodePos < fileSize)
{
readTmpLen = ((fileSize - decodePos) < intputLen) ? (fileSize - decodePos) : intputLen;
fread(inputBuf, 1, readTmpLen, inFile);
nalLen = 0;
ret = find264NALFragment((char*)inputBuf, readTmpLen, &nalLen);
if (nalLen < 4) {
ALOGD("find264NALFragment fail nalLen:%d,ret:%d", nalLen, ret);
break;
}
ret = pPlayerNew[0]->decodeFrameDrectly((unsigned char *)inputBuf, nalLen);
decodePos += nalLen;
fseek(inFile, decodePos, SEEK_SET); //go to the real decode position.
if (decodePos >= fileSize)
{
decodePos = 0;
fseek(inFile, 0, SEEK_SET);
}
}
for(int i = 0; i < 4; i++)
{
AWStreamPlayer::destroy(pPlayerNew[i]);
}
发现create调用了initial函数里面的InitializeVideoDecoder会卡死cpu到100%。怎么解决?只是解码1路视频流,但是cpu会卡死