3,245
社区成员
发帖
与我相关
我的任务
分享
void MediaData::CheckData()
{
if(_info.DataLength < 8)
return;
if(_info.MediaDataType == VIDEO_H264 ||
_info.MediaDataType == VIDEO_H264_HID1 ||
_info.MediaDataType == VIDEO_H264_IVS)
{
if(*((uint32*)_info.DataPtr) == 0x01000000 && //出错点。出错时,变量监视显示DataPtr不为NULL,其内存内容为:00 00 00 01 21 ....是预期值
*(_info.DataPtr+4) == 0x27)
{
//I帧
}
else if(*((uint32*)_info.DataPtr) == 0x01000000 &&
*(_info.DataPtr+4) == 0x21)
{
//P帧
}
}
}
; *((uint32*)_info.DataPtr) == 0x01000000
mov eax, DWORD PTR _this$[ebp]
mov ecx, DWORD PTR [eax+8]
cmp DWORD PTR [ecx], 0x01000000 //ecx为0