FreeRDP
Loading...
Searching...
No Matches
channels/audin.h
1
21#ifndef FREERDP_CHANNEL_AUDIN_H
22#define FREERDP_CHANNEL_AUDIN_H
23
24#include <freerdp/api.h>
25#include <freerdp/codec/audio.h>
26#include <freerdp/dvc.h>
27#include <freerdp/types.h>
28
33#define AUDIN_CHANNEL_NAME "audin"
34
39#define AUDIN_DVC_CHANNEL_NAME "AUDIO_INPUT"
40
41typedef struct
42{
43 BYTE MessageId;
44} SNDIN_PDU;
45
46typedef enum
47{
48 SNDIN_VERSION_Invalid = 0x00000000,
49 SNDIN_VERSION_Version_1 = 0x00000001,
50 SNDIN_VERSION_Version_2 = 0x00000002,
51} SNDIN_VERSION_Version;
52
53typedef struct
54{
55 SNDIN_PDU Header;
56 SNDIN_VERSION_Version Version;
58
59typedef struct
60{
61 SNDIN_PDU Header;
62 UINT32 NumFormats;
63 UINT32 cbSizeFormatsPacket;
64 AUDIO_FORMAT* SoundFormats;
65 size_t ExtraDataSize;
67
68typedef enum
69{
70 SPEAKER_FRONT_LEFT = 0x00000001,
71 SPEAKER_FRONT_RIGHT = 0x00000002,
72 SPEAKER_FRONT_CENTER = 0x00000004,
73 SPEAKER_LOW_FREQUENCY = 0x00000008,
74 SPEAKER_BACK_LEFT = 0x00000010,
75 SPEAKER_BACK_RIGHT = 0x00000020,
76 SPEAKER_FRONT_LEFT_OF_CENTER = 0x00000040,
77 SPEAKER_FRONT_RIGHT_OF_CENTER = 0x00000080,
78 SPEAKER_BACK_CENTER = 0x00000100,
79 SPEAKER_SIDE_LEFT = 0x00000200,
80 SPEAKER_SIDE_RIGHT = 0x00000400,
81 SPEAKER_TOP_CENTER = 0x00000800,
82 SPEAKER_TOP_FRONT_LEFT = 0x00001000,
83 SPEAKER_TOP_FRONT_CENTER = 0x00002000,
84 SPEAKER_TOP_FRONT_RIGHT = 0x00004000,
85 SPEAKER_TOP_BACK_LEFT = 0x00008000,
86 SPEAKER_TOP_BACK_CENTER = 0x00010000,
87 SPEAKER_TOP_BACK_RIGHT = 0x00020000,
88} AUDIN_SPEAKER;
89
90typedef struct
91{
92 union
93 {
94 UINT16 wValidBitsPerSample;
95 UINT16 wSamplesPerBlock;
96 UINT16 wReserved;
97 } Samples;
98 AUDIN_SPEAKER dwChannelMask;
99 GUID SubFormat;
101
102typedef struct
103{
104 SNDIN_PDU Header;
105 UINT32 FramesPerPacket;
106 UINT32 initialFormat;
107 AUDIO_FORMAT captureFormat;
108 WAVEFORMAT_EXTENSIBLE* ExtraFormatData;
109} SNDIN_OPEN;
110
111typedef struct
112{
113 SNDIN_PDU Header;
114 UINT32 Result;
116
117typedef struct
118{
119 SNDIN_PDU Header;
121
122typedef struct
123{
124 SNDIN_PDU Header;
125 wStream* Data;
126} SNDIN_DATA;
127
128typedef struct
129{
130 SNDIN_PDU Header;
131 UINT32 NewFormat;
133
134#endif /* FREERDP_CHANNEL_AUDIN_H */