22 #ifndef FREERDP_CHANNEL_RDPSND_SERVER_H
23 #define FREERDP_CHANNEL_RDPSND_SERVER_H
25 #include <freerdp/channels/wtsvc.h>
26 #include <freerdp/channels/rdpsnd.h>
37 typedef UINT (*psRdpsndStart)(RdpsndServerContext* context);
38 typedef UINT (*psRdpsndStop)(RdpsndServerContext* context);
40 typedef BOOL (*psRdpsndChannelIdAssigned)(RdpsndServerContext* context, UINT32 channelId);
42 typedef UINT (*psRdpsndServerInitialize)(RdpsndServerContext* context, BOOL ownThread);
43 typedef UINT (*psRdpsndServerSendFormats)(RdpsndServerContext* context);
44 typedef UINT (*psRdpsndServerSelectFormat)(RdpsndServerContext* context,
45 UINT16 client_format_index);
46 typedef UINT (*psRdpsndServerTraining)(RdpsndServerContext* context, UINT16 timestamp,
47 UINT16 packsize, BYTE* data);
48 typedef UINT (*psRdpsndServerTrainingConfirm)(RdpsndServerContext* context, UINT16 timestamp,
50 typedef UINT (*psRdpsndServerSendSamples)(RdpsndServerContext* context,
const void* buf,
51 size_t nframes, UINT16 wTimestamp);
52 typedef UINT (*psRdpsndServerSendSamples2)(RdpsndServerContext* context, UINT16 formatNo,
53 const void* buf,
size_t size, UINT16 timestamp,
54 UINT32 audioTimeStamp);
55 typedef UINT (*psRdpsndServerConfirmBlock)(RdpsndServerContext* context, BYTE confirmBlockNum,
57 typedef UINT (*psRdpsndServerSetVolume)(RdpsndServerContext* context, UINT16 left,
59 typedef UINT (*psRdpsndServerClose)(RdpsndServerContext* context);
61 typedef void (*psRdpsndServerActivated)(RdpsndServerContext* context);
70 RdpsndServerPrivate* priv;
76 BOOL use_dynamic_virtual_channel;
80 size_t num_server_formats;
90 UINT16 num_client_formats;
91 UINT16 selected_client_format;
142 rdpContext* rdpcontext;
147 UINT32 initialVolume;
182 FREERDP_API
void rdpsnd_server_context_free(RdpsndServerContext* context);
184 WINPR_ATTR_MALLOC(rdpsnd_server_context_free, 1)
185 FREERDP_API RdpsndServerContext* rdpsnd_server_context_new(HANDLE vcm);
187 FREERDP_API
void rdpsnd_server_context_reset(RdpsndServerContext*);
189 FREERDP_API HANDLE rdpsnd_server_get_event_handle(RdpsndServerContext* context);
190 FREERDP_API UINT rdpsnd_server_handle_messages(RdpsndServerContext* context);
psRdpsndServerSendSamples2 SendSamples2
psRdpsndServerSendSamples SendSamples
psRdpsndServerSelectFormat SelectFormat
psRdpsndServerSendFormats SendFormats
psRdpsndServerTrainingConfirm TrainingConfirm
psRdpsndServerInitialize Initialize
psRdpsndServerClose Close
psRdpsndServerTraining Training
psRdpsndServerSetVolume SetVolume
psRdpsndServerActivated Activated
psRdpsndServerConfirmBlock ConfirmBlock
psRdpsndChannelIdAssigned ChannelIdAssigned