summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/DShowIDL/austream.idl
blob: 4987aa0885b0fd98aff60a2d38d09bc47e3274ab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
//------------------------------------------------------------------------------
// File: AuStream.idl
//
// Desc: Used by MIDL tool to generate austream.h
//
// Copyright (c) 1998-2002, Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------


import "unknwn.idl";
import "mmstream.idl";

cpp_quote("//")
cpp_quote("//   The following declarations within the 'if 0' block are dummy typedefs used to make")
cpp_quote("//   the ddstream.idl file build.  The actual definitions are contained in DDRAW.H")
cpp_quote("//")
cpp_quote("#if 0")
typedef struct tWAVEFORMATEX WAVEFORMATEX;
cpp_quote ("#endif")

interface IAudioMediaStream;
interface IAudioStreamSample;
interface IMemoryData;
interface IAudioData;

//  IAudioMediaStream


[
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(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]  WAVEFORMATEX *pWaveFormatCurrent
    );

    HRESULT SetFormat(
        [in] const WAVEFORMATEX *lpWaveFormat
    );
}