FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
client/audin.h
1
22#ifndef FREERDP_CHANNEL_AUDIN_CLIENT_AUDIN_H
23#define FREERDP_CHANNEL_AUDIN_CLIENT_AUDIN_H
24
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27
28#include <freerdp/channels/audin.h>
29#include <freerdp/codec/audio.h>
30
31#ifdef __cplusplus
32extern "C"
33{
34#endif
35
40 typedef UINT (*AudinReceive)(const AUDIO_FORMAT* format, const BYTE* data, size_t size,
41 void* userData);
42
43 typedef struct s_IAudinDevice IAudinDevice;
45 {
46 UINT (*Open)(IAudinDevice* devplugin, AudinReceive receive, void* userData);
47 BOOL (*FormatSupported)(IAudinDevice* devplugin, const AUDIO_FORMAT* format);
48 UINT(*SetFormat)
49 (IAudinDevice* devplugin, const AUDIO_FORMAT* format, UINT32 FramesPerPacket);
50 UINT (*Close)(IAudinDevice* devplugin);
51 UINT (*Free)(IAudinDevice* devplugin);
52 };
53
54#define AUDIN_DEVICE_EXPORT_FUNC_NAME "freerdp_audin_client_subsystem_entry"
55
56typedef UINT (*PREGISTERAUDINDEVICE)(IWTSPlugin* plugin, IAudinDevice* device);
57
58typedef struct
59{
60 IWTSPlugin* plugin;
61 PREGISTERAUDINDEVICE pRegisterAudinDevice;
62 const ADDIN_ARGV* args;
63 rdpContext* rdpcontext;
66
67typedef UINT(VCAPITYPE* PFREERDP_AUDIN_DEVICE_ENTRY)(
69
70#ifdef __cplusplus
71}
72#endif
73
74#endif /* FREERDP_CHANNEL_AUDIN_CLIENT_AUDIN_H */