FreeRDP
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
32 extern "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 
56 typedef UINT (*PREGISTERAUDINDEVICE)(IWTSPlugin* plugin, IAudinDevice* device);
57 
58 typedef struct
59 {
60  IWTSPlugin* plugin;
61  PREGISTERAUDINDEVICE pRegisterAudinDevice;
62  const ADDIN_ARGV* args;
63  rdpContext* rdpcontext;
66 
67 typedef UINT(VCAPITYPE* PFREERDP_AUDIN_DEVICE_ENTRY)(
69 
70 #ifdef __cplusplus
71 }
72 #endif
73 
74 #endif /* FREERDP_CHANNEL_AUDIN_CLIENT_AUDIN_H */
Definition: client/audin.h:59