2 * Copyright 2004 Christian Costa
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 import
"mmstream.idl";
23 typedef struct tWAVEFORMATEX WAVEFORMATEX
;
26 interface IAudioMediaStream
;
27 interface IAudioStreamSample
;
28 interface IMemoryData
;
34 uuid(f7537560
-a3be
-11d0
-8212-00c04fc32c45
),
35 pointer_default(unique)
37 interface IAudioMediaStream
: IMediaStream
40 [out] /*[optional]*/ WAVEFORMATEX
*pWaveFormatCurrent
44 [in] const WAVEFORMATEX
*lpWaveFormat
);
47 [in] IAudioData
*pAudioData
,
49 [out] IAudioStreamSample
**ppSample
57 uuid(345fee00
-aba5
-11d0
-8212-00c04fc32c45
),
58 pointer_default(unique)
60 interface IAudioStreamSample
: IStreamSample
63 [out] IAudioData
**ppAudio
71 uuid(327fc560
-af60
-11d0
-8212-00c04fc32c45
),
72 pointer_default(unique)
74 interface IMemoryData
: IUnknown
83 [out] DWORD
*pdwLength
,
85 [out] DWORD
*pcbActualData
88 [in] DWORD cbDataValid
96 uuid(54c719c0
-af60
-11d0
-8212-00c04fc32c45
),
97 pointer_default(unique)
99 interface IAudioData
: IMemoryData
102 [out] /*[optional]*/ WAVEFORMATEX
*pWaveFormatCurrent
106 [in] const WAVEFORMATEX
*lpWaveFormat