| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- {========================================================================}
- {= (c) 1995-98 SwiftSoft Ronald Dittrich =}
- {========================================================================}
- {= All Rights Reserved =}
- {========================================================================}
- {= D 01099 Dresden = Tel.: +0351-8012255 =}
- {= Loewenstr.7a = info@swiftsoft.de =}
- {========================================================================}
- {= Actual versions on http://www.swiftsoft.de/mmtools.html =}
- {========================================================================}
- {= This code is for reference purposes only and may not be copied or =}
- {= distributed in any format electronic or otherwise except one copy =}
- {= for backup purposes. =}
- {= =}
- {= No Delphi Component Kit or Component individually or in a collection=}
- {= subclassed or otherwise from the code in this unit, or associated =}
- {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =}
- {= without express permission from SwiftSoft. =}
- {= =}
- {= For more licence informations please refer to the associated =}
- {= HelpFile. =}
- {========================================================================}
- {= $Date: 20.01.1998 - 18:00:00 $ =}
- {========================================================================}
- unit MMACMSup;
- {$I COMPILER.INC}
- interface
- uses
- {$IFDEF WIN32}
- Windows,
- {$ELSE}
- WinTypes,
- WinProcs,
- {$ENDIF}
- SysUtils,
- Classes,
- Forms,
- MMSystem,
- MMUtils,
- MMRegs,
- MMACM;
- type
- PACMStream = ^TACMStream;
- TACMStream = record
- lpSrcBuffer : PChar;
- lpDstBuffer : PChar;
- dwSrcBufferSize: Longint;
- dwDstBufferSize: Longint;
- dwRemaining : Longint;
- acmStream : THACMSTREAM;
- acmStreamHeader: TACMStreamHeader;
- end;
- PACMConvert = ^TACMConvert;
- TACMConvert = record
- lpSrcBuffer : PChar;
- lpDstBuffer : PChar;
- dwSrcBufferSize : Longint;
- dwDstBufferSize : Longint;
- dwBytesConverted : Longint;
- dwBytesRead : Longint;
- bPending : Boolean;
- bFreeSrcBuffer : Boolean;
- Streams : TList;
- end;
- { a set of low level conversion routines to convert WaveFormat's }
- function acmMustConvert(pwfxSrc,pwfxDst: PWaveFormatEx): Boolean;
- function acmQueryConvert(pwfxSrc,pwfxDst: PWaveFormatEx; RealTime: Boolean): Boolean;
- function acmSuggestPCMFormat(pwfxSrc: PWaveFormatEx): TWaveFormatEx;
- function acmSizeOutputData(pwfxSrc,pwfxDst: PWaveFormatEx; SrcBufSize: Longint): Longint;
- function acmBeginConvert(pwfxSrc,pwfxDst: PWaveFormatEx;
- SrcBuffer: PChar; SrcBufSize: Longint; RealTime: Boolean): PACMConvert;
- function acmDoConvert(pConvert: PACMConvert; SrcBufSize: Longint): Longint;
- function acmEndConvert(pConvert: PACMConvert; SrcBufSize: Longint): Longint;
- procedure acmDoneConvert(var pConvert: PACMConvert);
- implementation
|