我编写了一个Filter, 其中IAsyncReader 中的异步方法Request, 它是在什么条件下调用;因为我发现播放的时候,总是调用同步的方法SyncReadAligned和SyncRea,
IAsyncReader上的四个方法:
function Request(pSample: IMediaSample; dwUser: DWORD): HResult; stdcall;
function WaitForNext(dwTimeout: DWORD; out ppSample: IMediaSample;out pdwUser: DWORD): HResult; stdcall;
function SyncReadAligned(pSample: IMediaSample): HResult; stdcall;
function SyncRead(llPosition: int64; lLength: Longint; pBuffer: Pbyte): HResult; stdcall;
我编写了一个Filter, 其中IAsyncReader 中的异步方法Request, 它是在什么条件下调用?
因为使用过程中,总是调用同步的方法SyncReadAligned和SyncRea,而没有调用异步的方法;