adding austream.idl and ddstream.idl comptaible with ms dxsdk 2004 dec

svn path=/trunk/; revision=26903
This commit is contained in:
Magnus Olsen 2007-05-26 11:51:45 +00:00
parent 13f9ebd354
commit 670e9db84e
7 changed files with 116 additions and 1052 deletions

View file

@ -0,0 +1,64 @@
import "unknwn.idl";
import "mmstream.idl";
// hack
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] WAVEFORMATEX *pWaveFormatCurrent);
HRESULT SetFormat([in] const WAVEFORMATEX *lpWaveFormat);
HRESULT CreateSample([in] IAudioData *pAudioData, [in] DWORD dwFlags, [out] IAudioStreamSample **ppSample);
}
[
object,
local,
uuid(54c719c0-af60-11d0-8212-00c04fc32c45),
pointer_default(unique)
]
interface IAudioData : IMemoryData
{
HRESULT GetFormat([out] WAVEFORMATEX *pWaveFormatCurrent);
HRESULT SetFormat([in] const WAVEFORMATEX *lpWaveFormat);
}
[
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(345fee00-aba5-11d0-8212-00c04fc32c45),
pointer_default(unique)
]
interface IAudioStreamSample : IStreamSample
{
HRESULT GetAudioData([out] IAudioData **ppAudio);
}

View file

@ -0,0 +1,50 @@
import "unknwn.idl";
import "mmstream.idl";
cpp_quote("#if 0")
typedef void * LPDDSURFACEDESC;
typedef struct tDDSURFACEDESC DDSURFACEDESC;
cpp_quote("#endif")
cpp_quote("#include <ddraw.h>")
enum
{
DDSFF_PROGRESSIVERENDER = 0x00000001
};
interface IDirectDraw;
interface IDirectDrawSurface;
interface IDirectDrawPalette;
interface IDirectDrawMediaStream;
interface IDirectDrawStreamSample;
[
object,
local,
uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
pointer_default(unique)
]
interface IDirectDrawStreamSample : IStreamSample
{
HRESULT GetSurface([out] IDirectDrawSurface ** ppDirectDrawSurface, [out] RECT * pRect);
HRESULT SetRect([in] const RECT * pRect);
};
[
object,
local,
uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
pointer_default(unique)
]
interface IDirectDrawMediaStream : IMediaStream
{
HRESULT GetFormat([out] DDSURFACEDESC *pDDSDCurrent, [out] IDirectDrawPalette **ppDirectDrawPalette, [out] DDSURFACEDESC *pDDSDDesired, [out] DWORD *pdwFlags);
HRESULT SetFormat([in] const DDSURFACEDESC *pDDSurfaceDesc, [in] IDirectDrawPalette *pDirectDrawPalette);
HRESULT GetDirectDraw([out] IDirectDraw **ppDirectDraw);
HRESULT SetDirectDraw([in] IDirectDraw *pDirectDraw);
HRESULT CreateSample([in] IDirectDrawSurface *pSurface, [in] const RECT *pRect, [in] DWORD dwFlags, [out]IDirectDrawStreamSample **ppSample);
HRESULT GetTimePerFrame([out] STREAM_TIME *pFrameTime);
};

View file

@ -1,3 +1,5 @@
<module name="dxsdk" type="idlheader">
<file>austream.idl</file>
<file>ddstream.idl</file>
<file>mmstream.idl</file>
</module>

View file

@ -1,485 +0,0 @@
/*** Autogenerated by WIDL 0.3.0 from include\psdk\austream.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
#ifndef __WIDL_INCLUDE_PSDK_AUSTREAM_H
#define __WIDL_INCLUDE_PSDK_AUSTREAM_H
#ifdef __cplusplus
extern "C" {
#endif
#include <unknwn.h>
#include <mmstream.h>
#if 0
typedef struct tWAVEFORMATEX WAVEFORMATEX;
#endif
#ifndef __IAudioMediaStream_FWD_DEFINED__
#define __IAudioMediaStream_FWD_DEFINED__
typedef interface IAudioMediaStream IAudioMediaStream;
#endif
#ifndef __IAudioStreamSample_FWD_DEFINED__
#define __IAudioStreamSample_FWD_DEFINED__
typedef interface IAudioStreamSample IAudioStreamSample;
#endif
#ifndef __IMemoryData_FWD_DEFINED__
#define __IMemoryData_FWD_DEFINED__
typedef interface IMemoryData IMemoryData;
#endif
#ifndef __IAudioData_FWD_DEFINED__
#define __IAudioData_FWD_DEFINED__
typedef interface IAudioData IAudioData;
#endif
/*****************************************************************************
* IAudioMediaStream interface
*/
#ifndef __IAudioMediaStream_INTERFACE_DEFINED__
#define __IAudioMediaStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAudioMediaStream, 0xf7537560, 0xa3be, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IAudioMediaStream : public IMediaStream
{
virtual HRESULT STDMETHODCALLTYPE GetFormat(
WAVEFORMATEX* pWaveFormatCurrent) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFormat(
const WAVEFORMATEX* lpWaveFormat) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSample(
IAudioData* pAudioData,
DWORD dwFlags,
IAudioStreamSample** ppSample) = 0;
};
#else
typedef struct IAudioMediaStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAudioMediaStream* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAudioMediaStream* This);
ULONG (STDMETHODCALLTYPE *Release)(
IAudioMediaStream* This);
/*** IMediaStream methods ***/
HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
IAudioMediaStream* This,
IMultiMediaStream** ppMultiMediaStream);
HRESULT (STDMETHODCALLTYPE *GetInformation)(
IAudioMediaStream* This,
MSPID* pPurposeId,
STREAM_TYPE* pType);
HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
IAudioMediaStream* This,
IMediaStream* pStreamThatHasDesiredFormat,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *AllocateSample)(
IAudioMediaStream* This,
DWORD dwFlags,
IStreamSample** ppSample);
HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
IAudioMediaStream* This,
IStreamSample* pExistingSample,
DWORD dwFlags,
IStreamSample** ppNewSample);
HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
IAudioMediaStream* This,
DWORD dwFlags);
/*** IAudioMediaStream methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
IAudioMediaStream* This,
WAVEFORMATEX* pWaveFormatCurrent);
HRESULT (STDMETHODCALLTYPE *SetFormat)(
IAudioMediaStream* This,
const WAVEFORMATEX* lpWaveFormat);
HRESULT (STDMETHODCALLTYPE *CreateSample)(
IAudioMediaStream* This,
IAudioData* pAudioData,
DWORD dwFlags,
IAudioStreamSample** ppSample);
END_INTERFACE
} IAudioMediaStreamVtbl;
interface IAudioMediaStream {
const IAudioMediaStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IAudioMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IAudioMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IAudioMediaStream_Release(p) (p)->lpVtbl->Release(p)
/*** IMediaStream methods ***/
#define IAudioMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
#define IAudioMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
#define IAudioMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
#define IAudioMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
#define IAudioMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
#define IAudioMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
/*** IAudioMediaStream methods ***/
#define IAudioMediaStream_GetFormat(p,a) (p)->lpVtbl->GetFormat(p,a)
#define IAudioMediaStream_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
#define IAudioMediaStream_CreateSample(p,a,b,c) (p)->lpVtbl->CreateSample(p,a,b,c)
#endif
#endif
HRESULT CALLBACK IAudioMediaStream_GetFormat_Proxy(
IAudioMediaStream* This,
WAVEFORMATEX* pWaveFormatCurrent);
void __RPC_STUB IAudioMediaStream_GetFormat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IAudioMediaStream_SetFormat_Proxy(
IAudioMediaStream* This,
const WAVEFORMATEX* lpWaveFormat);
void __RPC_STUB IAudioMediaStream_SetFormat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IAudioMediaStream_CreateSample_Proxy(
IAudioMediaStream* This,
IAudioData* pAudioData,
DWORD dwFlags,
IAudioStreamSample** ppSample);
void __RPC_STUB IAudioMediaStream_CreateSample_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IAudioMediaStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAudioStreamSample interface
*/
#ifndef __IAudioStreamSample_INTERFACE_DEFINED__
#define __IAudioStreamSample_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IAudioStreamSample : public IStreamSample
{
virtual HRESULT STDMETHODCALLTYPE GetAudioData(
IAudioData** ppAudio) = 0;
};
#else
typedef struct IAudioStreamSampleVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAudioStreamSample* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAudioStreamSample* This);
ULONG (STDMETHODCALLTYPE *Release)(
IAudioStreamSample* This);
/*** IStreamSample methods ***/
HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
IAudioStreamSample* This,
IMediaStream** ppMediaStream);
HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
IAudioStreamSample* This,
STREAM_TIME* pStartTime,
STREAM_TIME* pEndTime,
STREAM_TIME* pCurrentTime);
HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
IAudioStreamSample* This,
const STREAM_TIME* pStartTime,
const STREAM_TIME* pEndTime);
HRESULT (STDMETHODCALLTYPE *Update)(
IAudioStreamSample* This,
DWORD dwFlags,
HANDLE hEvent,
PAPCFUNC pfnAPC,
DWORD dwAPCData);
HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
IAudioStreamSample* This,
DWORD dwFlags,
DWORD dwMilliseconds);
/*** IAudioStreamSample methods ***/
HRESULT (STDMETHODCALLTYPE *GetAudioData)(
IAudioStreamSample* This,
IAudioData** ppAudio);
END_INTERFACE
} IAudioStreamSampleVtbl;
interface IAudioStreamSample {
const IAudioStreamSampleVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IAudioStreamSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IAudioStreamSample_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IAudioStreamSample_Release(p) (p)->lpVtbl->Release(p)
/*** IStreamSample methods ***/
#define IAudioStreamSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a)
#define IAudioStreamSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c)
#define IAudioStreamSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b)
#define IAudioStreamSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d)
#define IAudioStreamSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b)
/*** IAudioStreamSample methods ***/
#define IAudioStreamSample_GetAudioData(p,a) (p)->lpVtbl->GetAudioData(p,a)
#endif
#endif
HRESULT CALLBACK IAudioStreamSample_GetAudioData_Proxy(
IAudioStreamSample* This,
IAudioData** ppAudio);
void __RPC_STUB IAudioStreamSample_GetAudioData_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IAudioStreamSample_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMemoryData interface
*/
#ifndef __IMemoryData_INTERFACE_DEFINED__
#define __IMemoryData_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IMemoryData : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetBuffer(
DWORD cbSize,
BYTE* pbData,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInfo(
DWORD* pdwLength,
BYTE** ppbData,
DWORD* pcbActualData) = 0;
virtual HRESULT STDMETHODCALLTYPE SetActual(
DWORD cbDataValid) = 0;
};
#else
typedef struct IMemoryDataVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMemoryData* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMemoryData* This);
ULONG (STDMETHODCALLTYPE *Release)(
IMemoryData* This);
/*** IMemoryData methods ***/
HRESULT (STDMETHODCALLTYPE *SetBuffer)(
IMemoryData* This,
DWORD cbSize,
BYTE* pbData,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetInfo)(
IMemoryData* This,
DWORD* pdwLength,
BYTE** ppbData,
DWORD* pcbActualData);
HRESULT (STDMETHODCALLTYPE *SetActual)(
IMemoryData* This,
DWORD cbDataValid);
END_INTERFACE
} IMemoryDataVtbl;
interface IMemoryData {
const IMemoryDataVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IMemoryData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IMemoryData_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IMemoryData_Release(p) (p)->lpVtbl->Release(p)
/*** IMemoryData methods ***/
#define IMemoryData_SetBuffer(p,a,b,c) (p)->lpVtbl->SetBuffer(p,a,b,c)
#define IMemoryData_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
#define IMemoryData_SetActual(p,a) (p)->lpVtbl->SetActual(p,a)
#endif
#endif
HRESULT CALLBACK IMemoryData_SetBuffer_Proxy(
IMemoryData* This,
DWORD cbSize,
BYTE* pbData,
DWORD dwFlags);
void __RPC_STUB IMemoryData_SetBuffer_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMemoryData_GetInfo_Proxy(
IMemoryData* This,
DWORD* pdwLength,
BYTE** ppbData,
DWORD* pcbActualData);
void __RPC_STUB IMemoryData_GetInfo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMemoryData_SetActual_Proxy(
IMemoryData* This,
DWORD cbDataValid);
void __RPC_STUB IMemoryData_SetActual_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IMemoryData_INTERFACE_DEFINED__ */
/*****************************************************************************
* IAudioData interface
*/
#ifndef __IAudioData_INTERFACE_DEFINED__
#define __IAudioData_INTERFACE_DEFINED__
DEFINE_GUID(IID_IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IAudioData : public IMemoryData
{
virtual HRESULT STDMETHODCALLTYPE GetFormat(
WAVEFORMATEX* pWaveFormatCurrent) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFormat(
const WAVEFORMATEX* lpWaveFormat) = 0;
};
#else
typedef struct IAudioDataVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IAudioData* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IAudioData* This);
ULONG (STDMETHODCALLTYPE *Release)(
IAudioData* This);
/*** IMemoryData methods ***/
HRESULT (STDMETHODCALLTYPE *SetBuffer)(
IAudioData* This,
DWORD cbSize,
BYTE* pbData,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetInfo)(
IAudioData* This,
DWORD* pdwLength,
BYTE** ppbData,
DWORD* pcbActualData);
HRESULT (STDMETHODCALLTYPE *SetActual)(
IAudioData* This,
DWORD cbDataValid);
/*** IAudioData methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
IAudioData* This,
WAVEFORMATEX* pWaveFormatCurrent);
HRESULT (STDMETHODCALLTYPE *SetFormat)(
IAudioData* This,
const WAVEFORMATEX* lpWaveFormat);
END_INTERFACE
} IAudioDataVtbl;
interface IAudioData {
const IAudioDataVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IAudioData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IAudioData_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IAudioData_Release(p) (p)->lpVtbl->Release(p)
/*** IMemoryData methods ***/
#define IAudioData_SetBuffer(p,a,b,c) (p)->lpVtbl->SetBuffer(p,a,b,c)
#define IAudioData_GetInfo(p,a,b,c) (p)->lpVtbl->GetInfo(p,a,b,c)
#define IAudioData_SetActual(p,a) (p)->lpVtbl->SetActual(p,a)
/*** IAudioData methods ***/
#define IAudioData_GetFormat(p,a) (p)->lpVtbl->GetFormat(p,a)
#define IAudioData_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
#endif
#endif
HRESULT CALLBACK IAudioData_GetFormat_Proxy(
IAudioData* This,
WAVEFORMATEX* pWaveFormatCurrent);
void __RPC_STUB IAudioData_GetFormat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IAudioData_SetFormat_Proxy(
IAudioData* This,
const WAVEFORMATEX* lpWaveFormat);
void __RPC_STUB IAudioData_SetFormat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IAudioData_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_INCLUDE_PSDK_AUSTREAM_H */

View file

@ -1,108 +0,0 @@
/*
* 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
);
}

View file

@ -1,371 +0,0 @@
/*** Autogenerated by WIDL 0.3.0 from include\psdk\ddstream.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
#ifndef __WIDL_INCLUDE_PSDK_DDSTREAM_H
#define __WIDL_INCLUDE_PSDK_DDSTREAM_H
#ifdef __cplusplus
extern "C" {
#endif
#include <unknwn.h>
#include <mmstream.h>
#ifndef __WINE_DDRAW_H
typedef void *LPDDSURFACEDESC;
typedef struct tDDSURFACEDESC DDSURFACEDESC;
#ifndef __IDirectDraw_FWD_DEFINED__
#define __IDirectDraw_FWD_DEFINED__
typedef interface IDirectDraw IDirectDraw;
#endif
#ifndef __IDirectDrawSurface_FWD_DEFINED__
#define __IDirectDrawSurface_FWD_DEFINED__
typedef interface IDirectDrawSurface IDirectDrawSurface;
#endif
#ifndef __IDirectDrawPalette_FWD_DEFINED__
#define __IDirectDrawPalette_FWD_DEFINED__
typedef interface IDirectDrawPalette IDirectDrawPalette;
#endif
#endif
#include <ddraw.h>
enum {
DDSFF_PROGRESSIVERENDER = 0x1
};
#ifndef __IDirectDrawMediaStream_FWD_DEFINED__
#define __IDirectDrawMediaStream_FWD_DEFINED__
typedef interface IDirectDrawMediaStream IDirectDrawMediaStream;
#endif
#ifndef __IDirectDrawStreamSample_FWD_DEFINED__
#define __IDirectDrawStreamSample_FWD_DEFINED__
typedef interface IDirectDrawStreamSample IDirectDrawStreamSample;
#endif
/*****************************************************************************
* IDirectDrawMediaStream interface
*/
#ifndef __IDirectDrawMediaStream_INTERFACE_DEFINED__
#define __IDirectDrawMediaStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectDrawMediaStream, 0xf4104fce, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IDirectDrawMediaStream : public IMediaStream
{
virtual HRESULT STDMETHODCALLTYPE GetFormat(
DDSURFACEDESC* pDDSDCurrent,
IDirectDrawPalette** ppDirectDrawPalette,
DDSURFACEDESC* pDDSDDesired,
DWORD* pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFormat(
const DDSURFACEDESC* pDDSurfaceDesc,
IDirectDrawPalette* pDirectDrawPalette) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
IDirectDraw** ppDirectDraw) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
IDirectDraw* pDirectDraw) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSample(
IDirectDrawSurface* pSurface,
const RECT* pRect,
DWORD dwFlags,
IDirectDrawStreamSample** ppSample) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimePerFrame(
STREAM_TIME* pFrameTime) = 0;
};
#else
typedef struct IDirectDrawMediaStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectDrawMediaStream* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectDrawMediaStream* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectDrawMediaStream* This);
/*** IMediaStream methods ***/
HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)(
IDirectDrawMediaStream* This,
IMultiMediaStream** ppMultiMediaStream);
HRESULT (STDMETHODCALLTYPE *GetInformation)(
IDirectDrawMediaStream* This,
MSPID* pPurposeId,
STREAM_TYPE* pType);
HRESULT (STDMETHODCALLTYPE *SetSameFormat)(
IDirectDrawMediaStream* This,
IMediaStream* pStreamThatHasDesiredFormat,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *AllocateSample)(
IDirectDrawMediaStream* This,
DWORD dwFlags,
IStreamSample** ppSample);
HRESULT (STDMETHODCALLTYPE *CreateSharedSample)(
IDirectDrawMediaStream* This,
IStreamSample* pExistingSample,
DWORD dwFlags,
IStreamSample** ppNewSample);
HRESULT (STDMETHODCALLTYPE *SendEndOfStream)(
IDirectDrawMediaStream* This,
DWORD dwFlags);
/*** IDirectDrawMediaStream methods ***/
HRESULT (STDMETHODCALLTYPE *GetFormat)(
IDirectDrawMediaStream* This,
DDSURFACEDESC* pDDSDCurrent,
IDirectDrawPalette** ppDirectDrawPalette,
DDSURFACEDESC* pDDSDDesired,
DWORD* pdwFlags);
HRESULT (STDMETHODCALLTYPE *SetFormat)(
IDirectDrawMediaStream* This,
const DDSURFACEDESC* pDDSurfaceDesc,
IDirectDrawPalette* pDirectDrawPalette);
HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
IDirectDrawMediaStream* This,
IDirectDraw** ppDirectDraw);
HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
IDirectDrawMediaStream* This,
IDirectDraw* pDirectDraw);
HRESULT (STDMETHODCALLTYPE *CreateSample)(
IDirectDrawMediaStream* This,
IDirectDrawSurface* pSurface,
const RECT* pRect,
DWORD dwFlags,
IDirectDrawStreamSample** ppSample);
HRESULT (STDMETHODCALLTYPE *GetTimePerFrame)(
IDirectDrawMediaStream* This,
STREAM_TIME* pFrameTime);
END_INTERFACE
} IDirectDrawMediaStreamVtbl;
interface IDirectDrawMediaStream {
const IDirectDrawMediaStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDirectDrawMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectDrawMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectDrawMediaStream_Release(p) (p)->lpVtbl->Release(p)
/*** IMediaStream methods ***/
#define IDirectDrawMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a)
#define IDirectDrawMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b)
#define IDirectDrawMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b)
#define IDirectDrawMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b)
#define IDirectDrawMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c)
#define IDirectDrawMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a)
/*** IDirectDrawMediaStream methods ***/
#define IDirectDrawMediaStream_GetFormat(p,a,b,c,d) (p)->lpVtbl->GetFormat(p,a,b,c,d)
#define IDirectDrawMediaStream_SetFormat(p,a,b) (p)->lpVtbl->SetFormat(p,a,b)
#define IDirectDrawMediaStream_GetDirectDraw(p,a) (p)->lpVtbl->GetDirectDraw(p,a)
#define IDirectDrawMediaStream_SetDirectDraw(p,a) (p)->lpVtbl->SetDirectDraw(p,a)
#define IDirectDrawMediaStream_CreateSample(p,a,b,c,d) (p)->lpVtbl->CreateSample(p,a,b,c,d)
#define IDirectDrawMediaStream_GetTimePerFrame(p,a) (p)->lpVtbl->GetTimePerFrame(p,a)
#endif
#endif
HRESULT CALLBACK IDirectDrawMediaStream_GetFormat_Proxy(
IDirectDrawMediaStream* This,
DDSURFACEDESC* pDDSDCurrent,
IDirectDrawPalette** ppDirectDrawPalette,
DDSURFACEDESC* pDDSDDesired,
DWORD* pdwFlags);
void __RPC_STUB IDirectDrawMediaStream_GetFormat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDirectDrawMediaStream_SetFormat_Proxy(
IDirectDrawMediaStream* This,
const DDSURFACEDESC* pDDSurfaceDesc,
IDirectDrawPalette* pDirectDrawPalette);
void __RPC_STUB IDirectDrawMediaStream_SetFormat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDirectDrawMediaStream_GetDirectDraw_Proxy(
IDirectDrawMediaStream* This,
IDirectDraw** ppDirectDraw);
void __RPC_STUB IDirectDrawMediaStream_GetDirectDraw_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDirectDrawMediaStream_SetDirectDraw_Proxy(
IDirectDrawMediaStream* This,
IDirectDraw* pDirectDraw);
void __RPC_STUB IDirectDrawMediaStream_SetDirectDraw_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDirectDrawMediaStream_CreateSample_Proxy(
IDirectDrawMediaStream* This,
IDirectDrawSurface* pSurface,
const RECT* pRect,
DWORD dwFlags,
IDirectDrawStreamSample** ppSample);
void __RPC_STUB IDirectDrawMediaStream_CreateSample_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDirectDrawMediaStream_GetTimePerFrame_Proxy(
IDirectDrawMediaStream* This,
STREAM_TIME* pFrameTime);
void __RPC_STUB IDirectDrawMediaStream_GetTimePerFrame_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDirectDrawMediaStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectDrawStreamSample interface
*/
#ifndef __IDirectDrawStreamSample_INTERFACE_DEFINED__
#define __IDirectDrawStreamSample_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectDrawStreamSample, 0xf4104fcf, 0x9a70, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IDirectDrawStreamSample : public IStreamSample
{
virtual HRESULT STDMETHODCALLTYPE GetSurface(
IDirectDrawSurface** ppDirectDrawSurface,
RECT* pRect) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRect(
const RECT* pRect) = 0;
};
#else
typedef struct IDirectDrawStreamSampleVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectDrawStreamSample* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectDrawStreamSample* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectDrawStreamSample* This);
/*** IStreamSample methods ***/
HRESULT (STDMETHODCALLTYPE *GetMediaStream)(
IDirectDrawStreamSample* This,
IMediaStream** ppMediaStream);
HRESULT (STDMETHODCALLTYPE *GetSampleTimes)(
IDirectDrawStreamSample* This,
STREAM_TIME* pStartTime,
STREAM_TIME* pEndTime,
STREAM_TIME* pCurrentTime);
HRESULT (STDMETHODCALLTYPE *SetSampleTimes)(
IDirectDrawStreamSample* This,
const STREAM_TIME* pStartTime,
const STREAM_TIME* pEndTime);
HRESULT (STDMETHODCALLTYPE *Update)(
IDirectDrawStreamSample* This,
DWORD dwFlags,
HANDLE hEvent,
PAPCFUNC pfnAPC,
DWORD dwAPCData);
HRESULT (STDMETHODCALLTYPE *CompletionStatus)(
IDirectDrawStreamSample* This,
DWORD dwFlags,
DWORD dwMilliseconds);
/*** IDirectDrawStreamSample methods ***/
HRESULT (STDMETHODCALLTYPE *GetSurface)(
IDirectDrawStreamSample* This,
IDirectDrawSurface** ppDirectDrawSurface,
RECT* pRect);
HRESULT (STDMETHODCALLTYPE *SetRect)(
IDirectDrawStreamSample* This,
const RECT* pRect);
END_INTERFACE
} IDirectDrawStreamSampleVtbl;
interface IDirectDrawStreamSample {
const IDirectDrawStreamSampleVtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IDirectDrawStreamSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectDrawStreamSample_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirectDrawStreamSample_Release(p) (p)->lpVtbl->Release(p)
/*** IStreamSample methods ***/
#define IDirectDrawStreamSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a)
#define IDirectDrawStreamSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c)
#define IDirectDrawStreamSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b)
#define IDirectDrawStreamSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d)
#define IDirectDrawStreamSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b)
/*** IDirectDrawStreamSample methods ***/
#define IDirectDrawStreamSample_GetSurface(p,a,b) (p)->lpVtbl->GetSurface(p,a,b)
#define IDirectDrawStreamSample_SetRect(p,a) (p)->lpVtbl->SetRect(p,a)
#endif
#endif
HRESULT CALLBACK IDirectDrawStreamSample_GetSurface_Proxy(
IDirectDrawStreamSample* This,
IDirectDrawSurface** ppDirectDrawSurface,
RECT* pRect);
void __RPC_STUB IDirectDrawStreamSample_GetSurface_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDirectDrawStreamSample_SetRect_Proxy(
IDirectDrawStreamSample* This,
const RECT* pRect);
void __RPC_STUB IDirectDrawStreamSample_SetRect_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDirectDrawStreamSample_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_INCLUDE_PSDK_DDSTREAM_H */

View file

@ -1,88 +0,0 @@
/*
* 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("#ifndef __WINE_DDRAW_H")
typedef void * LPDDSURFACEDESC;
typedef struct tDDSURFACEDESC DDSURFACEDESC;
interface IDirectDraw;
interface IDirectDrawSurface;
interface IDirectDrawPalette;
cpp_quote("#endif")
cpp_quote("#include <ddraw.h>")
enum {
DDSFF_PROGRESSIVERENDER = 0x00000001
};
interface IDirectDrawMediaStream;
interface IDirectDrawStreamSample;
[
object,
local,
uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
pointer_default(unique)
]
interface IDirectDrawMediaStream : IMediaStream
{
HRESULT GetFormat(
[out, optional] DDSURFACEDESC *pDDSDCurrent,
[out, optional] IDirectDrawPalette **ppDirectDrawPalette,
[out, optional] DDSURFACEDESC *pDDSDDesired,
[out, optional] DWORD *pdwFlags);
HRESULT SetFormat(
[in] const DDSURFACEDESC *pDDSurfaceDesc,
[in, optional] IDirectDrawPalette *pDirectDrawPalette);
HRESULT GetDirectDraw(
[out] IDirectDraw **ppDirectDraw);
HRESULT SetDirectDraw(
[in] IDirectDraw *pDirectDraw);
HRESULT CreateSample(
[in, optional] IDirectDrawSurface *pSurface,
[in, optional] const RECT *pRect,
[in] DWORD dwFlags,
[out] IDirectDrawStreamSample **ppSample);
HRESULT GetTimePerFrame(
[out] STREAM_TIME *pFrameTime);
}
[
object,
local,
uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
pointer_default(unique)
]
interface IDirectDrawStreamSample : IStreamSample
{
HRESULT GetSurface(
[out, optional] IDirectDrawSurface ** ppDirectDrawSurface,
[out, optional] RECT * pRect);
HRESULT SetRect(
[in] const RECT * pRect);
}