//VFW是这样定义的
type
PVIDEOHDR = ^TVIDEOHDR;
TVIDEOHDR = record
lpData:pByte; // pointer to locked data buffer
dwBufferLength:DWORD; // Length of data buffer
dwBytesUsed:DWORD; // Bytes actually used
dwTimeCaptured:DWORD; // Milliseconds from start of stream
dwUser:DWORD; // for client's use
dwFlags:DWORD; // assorted flags (see defines)
dwReserved: array [0..4] of DWORD; // reserved for driver
end;我的视频回调会掉之后视频数据会在TVIDEOHDR的lpData里面,如何确定这块内存(lpData)的大小?
dwBufferLength是指整个TVIDEOHDR的大小还是lpData的呢?
若是指lpData的大小,为什么我用 Move把lpdata的数据移动到内存(vP: Pointer)大小为:dwBufferLength去,
之后再用DrawDibDraw画出视频图像来怎么会一闪一闪的(属于异常现象)?
若是整个TVIDEOHDR的大小,那么lpData的大小应该等于
dwBufferLength - SizeOF(TVIDEOHDR )-sizeof(lpData)的大小吧?
可是我按这个大小移动内存也是会一闪一闪的啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货