var decoder : HFFDecoder; info : AVInfo; packet : PAVPacket; buffer : array [0..10000000] of Byte; size : Integer; begin decoder := ffOpenFile('E:\test.asf', info); packet := ffCreateAVPacket(True); try while ffRead(decoder, packet, FFDEC_RAW_FRAME_TYPE_ANY) do begin if packet.stream_index = info.audioStreamIndex then begin if ffDecode(decoder, packet, @(buffer[0]), Length(buffer), size) then // Play the decoded audio samples ... WriteLn('audio: ', size); end else if packet.stream_index = info.videoStreamIndex then begin if ffDecode(decoder, packet, @(buffer[0]), Length(buffer), size) then // Show the decoded // picture (BGR24 format) ... WriteLn('video: ', size); end; Sleep(100); end; finally ffFreeAVPacket(packet); ffClose(decoder); end; end.