201 lines
7.4 KiB
C
201 lines
7.4 KiB
C
/*
|
|
* austream.h Audio streaming interfaces
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#include <rpc.h>
|
|
#include <rpcndr.h>
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#endif
|
|
|
|
#ifndef __austream_h__
|
|
#define __austream_h__
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#include <mmstream.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Forward declarations */
|
|
typedef interface IAudioData IAudioData;
|
|
typedef interface IAudioStreamSample IAudioStreamSample;
|
|
|
|
/* GUIDs */
|
|
EXTERN_C const IID IID_IAudioMediaStream;
|
|
EXTERN_C const IID IID_IAudioStreamSample;
|
|
EXTERN_C const IID IID_IMemoryData;
|
|
EXTERN_C const IID IID_IAudioData;
|
|
|
|
/* IAudioMediaStream interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IAudioMediaStream
|
|
DECLARE_INTERFACE_( IAudioMediaStream, IMediaStream ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IMediaStream methods */
|
|
STDMETHOD( GetMultiMediaStream )( THIS_ IMultiMediaStream ** ) PURE;
|
|
STDMETHOD( GetInformation )( THIS_ MSPID *, STREAM_TYPE * ) PURE;
|
|
STDMETHOD( SetSameFormat )( THIS_ IMediaStream *, DWORD ) PURE;
|
|
STDMETHOD( AllocateSample )( THIS_ DWORD, IStreamSample ** ) PURE;
|
|
STDMETHOD( CreateSharedSample )( THIS_ IStreamSample *, DWORD, IStreamSample ** ) PURE;
|
|
STDMETHOD( SendEndOfStream )( THIS_ DWORD ) PURE;
|
|
|
|
/* IAudioMediaStream methods */
|
|
STDMETHOD( GetFormat )( THIS_ WAVEFORMATEX * ) PURE;
|
|
STDMETHOD( SetFormat )( THIS_ const WAVEFORMATEX * ) PURE;
|
|
STDMETHOD( CreateSample )( THIS_ IAudioData *, DWORD, IAudioStreamSample ** ) PURE;
|
|
};
|
|
|
|
/* IAudioStreamSample interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IAudioStreamSample
|
|
DECLARE_INTERFACE_( IAudioStreamSample, IStreamSample ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IStreamSample methods */
|
|
STDMETHOD( GetMediaStream )( THIS_ IMediaStream ** ) PURE;
|
|
STDMETHOD( GetSampleTimes )( THIS_ STREAM_TIME *, STREAM_TIME *, STREAM_TIME * ) PURE;
|
|
STDMETHOD( SetSampleTimes )( THIS_ const STREAM_TIME *, const STREAM_TIME * ) PURE;
|
|
STDMETHOD( Update )( THIS_ DWORD, HANDLE, PAPCFUNC, DWORD_PTR ) PURE;
|
|
STDMETHOD( CompletionStatus )( DWORD, DWORD ) PURE;
|
|
|
|
/* IAudioStreamSample methods */
|
|
STDMETHOD( GetAudioData )( THIS_ IAudioData ** ) PURE;
|
|
};
|
|
|
|
/* IMemoryData interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IMemoryData
|
|
DECLARE_INTERFACE_( IMemoryData, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IMemoryData methods */
|
|
STDMETHOD( SetBuffer )( THIS_ DWORD, BYTE *, DWORD ) PURE;
|
|
STDMETHOD( GetInfo )( THIS_ DWORD *, BYTE **, DWORD * ) PURE;
|
|
STDMETHOD( SetActual )( THIS_ DWORD ) PURE;
|
|
};
|
|
|
|
/* IAudioData interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IAudioData
|
|
DECLARE_INTERFACE_( IAudioData, IMemoryData ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IMemoryData methods */
|
|
STDMETHOD( SetBuffer )( THIS_ DWORD, BYTE *, DWORD ) PURE;
|
|
STDMETHOD( GetInfo )( THIS_ DWORD *, BYTE **, DWORD * ) PURE;
|
|
STDMETHOD( SetActual )( THIS_ DWORD ) PURE;
|
|
|
|
/* IAudioData methods */
|
|
STDMETHOD( GetFormat )( THIS_ WAVEFORMATEX * ) PURE;
|
|
STDMETHOD( SetFormat )( THIS_ const WAVEFORMATEX * ) PURE;
|
|
};
|
|
|
|
/* C object macros */
|
|
#if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS )
|
|
#define IAudioMediaStream_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IAudioMediaStream_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IAudioMediaStream_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IAudioMediaStream_GetMultiMediaStream( x, p ) \
|
|
(x)->lpVtbl->GetMultiMediaStream( x, p )
|
|
#define IAudioMediaStream_GetInformation( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetInformation( x, p1, p2 )
|
|
#define IAudioMediaStream_SetSameFormat( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetSameFormat( x, p1, p2 )
|
|
#define IAudioMediaStream_AllocateSample( x, p1, p2 ) \
|
|
(x)->lpVtbl->AllocateSample( x, p1, p2 )
|
|
#define IAudioMediaStream_CreateSharedSample( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->CreateSharedSample( x, p1, p2, p3 )
|
|
#define IAudioMediaStream_SendEndOfStream( x, p ) \
|
|
(x)->lpVtbl->SendEndOfStream( x, p )
|
|
#define IAudioMediaStream_GetFormat( x, p ) \
|
|
(x)->lpVtbl->GetFormat( x, p )
|
|
#define IAudioMediaStream_SetFormat( x, p ) \
|
|
(x)->lpVtbl->SetFormat( x, p )
|
|
#define IAudioMediaStream_CreateSample( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->CreateSample( x, p1, p2, p3 )
|
|
#define IAudioStreamSample_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IAudioStreamSample_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IAudioStreamSample_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IAudioStreamSample_GetMediaStream( x, p ) \
|
|
(x)->lpVtbl->GetMediaStream( x, p )
|
|
#define IAudioStreamSample_GetSampleTimes( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetSampleTimes( x, p1, p2, p3 )
|
|
#define IAudioStreamSample_SetSampleTimes( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetSampleTimes( x, p1, p2 ) \
|
|
#define IAudioStreamSample_Update( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->Update( x, p1, p2, p3, p4 )
|
|
#define IAudioStreamSample_CompletionStatus( x, p1, p2 ) \
|
|
(x)->lpVtbl->CompletionStatus( x, p1, p2 )
|
|
#define IAudioStreamSample_GetAudioData( x, p ) \
|
|
(x)->lpVtbl->GetAudioData( x, p )
|
|
#define IMemoryData_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IMemoryData_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IMemoryData_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IMemoryData_SetBuffer( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->SetBuffer( x, p1, p2, p3 )
|
|
#define IMemoryData_GetInfo( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetInfo( x, p1, p2, p3 )
|
|
#define IMemoryData_SetActual( x, p ) \
|
|
(x)->lpVtbl->SetActual( x, p )
|
|
#define IAudioData_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IAudioData_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IAudioData_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IAudioData_SetBuffer( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->SetBuffer( x, p1, p2, p3 )
|
|
#define IAudioData_GetInfo( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetInfo( x, p1, p2, p3 )
|
|
#define IAudioData_SetActual( x, p ) \
|
|
(x)->lpVtbl->SetActual( x, p )
|
|
#define IAudioData_GetFormat( x, p ) \
|
|
(x)->lpVtbl->GetFormat( x, p )
|
|
#define IAudioData_SetFormat( x, p ) \
|
|
(x)->lpVtbl->SetFormat( x, p )
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __austream_h__ */
|