ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

austream.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2004 Christian Costa
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 import "unknwn.idl";
00020 import "mmstream.idl";
00021 
00022 cpp_quote("#if 0")
00023 typedef struct tWAVEFORMATEX WAVEFORMATEX;
00024 cpp_quote ("#endif")
00025 
00026 interface IAudioMediaStream;
00027 interface IAudioStreamSample;
00028 interface IMemoryData;
00029 interface IAudioData;
00030 
00031 [
00032 object,
00033 local,
00034 uuid(f7537560-a3be-11d0-8212-00c04fc32c45),
00035 pointer_default(unique)
00036 ]
00037 interface IAudioMediaStream : IMediaStream
00038 {
00039     HRESULT GetFormat(
00040         [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent
00041     );
00042 
00043     HRESULT SetFormat(
00044         [in] const WAVEFORMATEX *lpWaveFormat);
00045 
00046     HRESULT CreateSample(
00047         [in] IAudioData *pAudioData,
00048         [in] DWORD dwFlags,
00049         [out] IAudioStreamSample **ppSample
00050     );
00051 }
00052 
00053 
00054 [
00055 object,
00056 local,
00057 uuid(345fee00-aba5-11d0-8212-00c04fc32c45),
00058 pointer_default(unique)
00059 ]
00060 interface IAudioStreamSample : IStreamSample
00061 {
00062     HRESULT GetAudioData(
00063         [out] IAudioData **ppAudio
00064     );
00065 }
00066 
00067 
00068 [
00069 object,
00070 local,
00071 uuid(327fc560-af60-11d0-8212-00c04fc32c45),
00072 pointer_default(unique)
00073 ]
00074 interface IMemoryData : IUnknown
00075 {
00076     HRESULT SetBuffer(
00077         [in] DWORD cbSize,
00078         [in] BYTE *pbData,
00079         [in] DWORD dwFlags
00080     );
00081 
00082     HRESULT GetInfo(
00083         [out] DWORD *pdwLength,
00084         [out] BYTE **ppbData,
00085         [out] DWORD *pcbActualData
00086     );
00087     HRESULT SetActual(
00088         [in] DWORD cbDataValid
00089     );
00090 }
00091 
00092 
00093 [
00094 object,
00095 local,
00096 uuid(54c719c0-af60-11d0-8212-00c04fc32c45),
00097 pointer_default(unique)
00098 ]
00099 interface IAudioData : IMemoryData
00100 {
00101     HRESULT GetFormat(
00102         [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent
00103     );
00104 
00105     HRESULT SetFormat(
00106         [in] const WAVEFORMATEX *lpWaveFormat
00107     );
00108 }

Generated on Sun May 27 2012 04:30:34 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.