| /* |
| * Copyright 2004 Christian Costa |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| import "unknwn.idl"; |
| import "mmstream.idl"; |
| |
| cpp_quote("#if 0") |
| typedef struct tWAVEFORMATEX WAVEFORMATEX; |
| cpp_quote ("#endif") |
| |
| interface IAudioMediaStream; |
| interface IAudioStreamSample; |
| interface IMemoryData; |
| interface IAudioData; |
| |
| [ |
| object, |
| local, |
| uuid(f7537560-a3be-11d0-8212-00c04fc32c45), |
| pointer_default(unique) |
| ] |
| interface IAudioMediaStream : IMediaStream |
| { |
| HRESULT GetFormat( |
| [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent |
| ); |
| |
| HRESULT SetFormat( |
| [in] const WAVEFORMATEX *lpWaveFormat); |
| |
| HRESULT CreateSample( |
| [in] IAudioData *pAudioData, |
| [in] DWORD dwFlags, |
| [out] IAudioStreamSample **ppSample |
| ); |
| } |
| |
| |
| [ |
| object, |
| local, |
| uuid(345fee00-aba5-11d0-8212-00c04fc32c45), |
| pointer_default(unique) |
| ] |
| interface IAudioStreamSample : IStreamSample |
| { |
| HRESULT GetAudioData( |
| [out] IAudioData **ppAudio |
| ); |
| } |
| |
| |
| [ |
| object, |
| local, |
| uuid(327fc560-af60-11d0-8212-00c04fc32c45), |
| pointer_default(unique) |
| ] |
| interface IMemoryData : IUnknown |
| { |
| HRESULT SetBuffer( |
| [in] DWORD cbSize, |
| [in] BYTE *pbData, |
| [in] DWORD dwFlags |
| ); |
| |
| HRESULT GetInfo( |
| [out] DWORD *pdwLength, |
| [out] BYTE **ppbData, |
| [out] DWORD *pcbActualData |
| ); |
| HRESULT SetActual( |
| [in] DWORD cbDataValid |
| ); |
| } |
| |
| |
| [ |
| object, |
| local, |
| uuid(54c719c0-af60-11d0-8212-00c04fc32c45), |
| pointer_default(unique) |
| ] |
| interface IAudioData : IMemoryData |
| { |
| HRESULT GetFormat( |
| [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent |
| ); |
| |
| HRESULT SetFormat( |
| [in] const WAVEFORMATEX *lpWaveFormat |
| ); |
| } |