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