PortAudio 2.0

pa_win_wdmks.h
Go to the documentation of this file.
1#ifndef PA_WIN_WDMKS_H
2#define PA_WIN_WDMKS_H
3/*
4 * $Id$
5 * PortAudio Portable Real-Time Audio Library
6 * WDM/KS specific extensions
7 *
8 * Copyright (c) 1999-2007 Ross Bencina and Phil Burk
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files
12 * (the "Software"), to deal in the Software without restriction,
13 * including without limitation the rights to use, copy, modify, merge,
14 * publish, distribute, sublicense, and/or sell copies of the Software,
15 * and to permit persons to whom the Software is furnished to do so,
16 * subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
25 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
26 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 */
29
30/*
31 * The text above constitutes the entire PortAudio license; however,
32 * the PortAudio community also makes the following non-binding requests:
33 *
34 * Any person wishing to distribute modifications to the Software is
35 * requested to send the modifications to the original developer so that
36 * they can be incorporated into the canonical version. It is also
37 * requested that these non-binding requests be included along with the
38 * license above.
39 */
40
47#include "portaudio.h"
48
49#include <windows.h>
50
51#ifdef __cplusplus
52 extern "C"
53{
54#endif /* __cplusplus */
55
60 typedef enum PaWinWDMKSFlags
61 {
65 paWinWDMKSOverrideFramesize = (1 << 0),
66
70 paWinWDMKSUseGivenChannelMask = (1 << 1),
71
72 } PaWinWDMKSFlags;
73
74 typedef struct PaWinWDMKSInfo{
75 unsigned long size;
76 PaHostApiTypeId hostApiType;
77 unsigned long version;
83 unsigned long flags;
84
86 unsigned noOfPackets;
87
92 unsigned channelMask;
93 } PaWinWDMKSInfo;
94
95 typedef enum PaWDMKSType
96 {
97 Type_kNotUsed,
98 Type_kWaveCyclic,
99 Type_kWaveRT,
100 Type_kCnt,
101 } PaWDMKSType;
102
103 typedef enum PaWDMKSSubType
104 {
105 SubType_kUnknown,
106 SubType_kNotification,
107 SubType_kPolled,
108 SubType_kCnt,
109 } PaWDMKSSubType;
110
111 typedef struct PaWinWDMKSDeviceInfo {
112 wchar_t filterPath[MAX_PATH];
113 wchar_t topologyPath[MAX_PATH];
114 PaWDMKSType streamingType;
115 GUID deviceProductGuid;
116 } PaWinWDMKSDeviceInfo;
117
118 typedef struct PaWDMKSDirectionSpecificStreamInfo
119 {
120 PaDeviceIndex device;
121 unsigned channels;
122 unsigned framesPerHostBuffer;
123 int endpointPinId;
124 int muxNodeId;
125 PaWDMKSSubType streamingSubType;
126 } PaWDMKSDirectionSpecificStreamInfo;
127
128 typedef struct PaWDMKSSpecificStreamInfo {
129 PaWDMKSDirectionSpecificStreamInfo input;
130 PaWDMKSDirectionSpecificStreamInfo output;
131 } PaWDMKSSpecificStreamInfo;
132
133#ifdef __cplusplus
134}
135#endif /* __cplusplus */
136
137#endif /* PA_WIN_DS_H */
PaWinWDMKSFlags
PaWinWDMKSFlags
Definition: pa_win_wdmks.h:61
paWinWDMKSUseGivenChannelMask
@ paWinWDMKSUseGivenChannelMask
Definition: pa_win_wdmks.h:70
paWinWDMKSOverrideFramesize
@ paWinWDMKSOverrideFramesize
Definition: pa_win_wdmks.h:65
portaudio.h
The portable PortAudio API.
PaHostApiTypeId
PaHostApiTypeId
Definition: portaudio.h:276
PaDeviceIndex
int PaDeviceIndex
Definition: portaudio.h:212
PaWDMKSDirectionSpecificStreamInfo
Definition: pa_win_wdmks.h:119
PaWDMKSDirectionSpecificStreamInfo::streamingSubType
PaWDMKSSubType streamingSubType
Definition: pa_win_wdmks.h:125
PaWDMKSDirectionSpecificStreamInfo::framesPerHostBuffer
unsigned framesPerHostBuffer
Definition: pa_win_wdmks.h:122
PaWDMKSDirectionSpecificStreamInfo::channels
unsigned channels
Definition: pa_win_wdmks.h:121
PaWDMKSDirectionSpecificStreamInfo::endpointPinId
int endpointPinId
Definition: pa_win_wdmks.h:123
PaWDMKSDirectionSpecificStreamInfo::muxNodeId
int muxNodeId
Definition: pa_win_wdmks.h:124
PaWDMKSSpecificStreamInfo
Definition: pa_win_wdmks.h:128
PaWinWDMKSDeviceInfo
Definition: pa_win_wdmks.h:111
PaWinWDMKSDeviceInfo::deviceProductGuid
GUID deviceProductGuid
Definition: pa_win_wdmks.h:115
PaWinWDMKSDeviceInfo::topologyPath
wchar_t topologyPath[MAX_PATH]
Definition: pa_win_wdmks.h:113
PaWinWDMKSDeviceInfo::filterPath
wchar_t filterPath[MAX_PATH]
Definition: pa_win_wdmks.h:112
PaWinWDMKSInfo
Definition: pa_win_wdmks.h:74
PaWinWDMKSInfo::channelMask
unsigned channelMask
Definition: pa_win_wdmks.h:92
PaWinWDMKSInfo::version
unsigned long version
Definition: pa_win_wdmks.h:77
PaWinWDMKSInfo::hostApiType
PaHostApiTypeId hostApiType
Definition: pa_win_wdmks.h:76
PaWinWDMKSInfo::flags
unsigned long flags
Definition: pa_win_wdmks.h:83
PaWinWDMKSInfo::size
unsigned long size
Definition: pa_win_wdmks.h:75
PaWinWDMKSInfo::noOfPackets
unsigned noOfPackets
Definition: pa_win_wdmks.h:86