FreeRDP
server/rdpsnd_main.h
1 
21 #ifndef FREERDP_CHANNEL_RDPSND_SERVER_MAIN_H
22 #define FREERDP_CHANNEL_RDPSND_SERVER_MAIN_H
23 
24 #include <winpr/crt.h>
25 #include <winpr/synch.h>
26 #include <winpr/thread.h>
27 
28 #include <freerdp/codec/dsp.h>
29 #include <freerdp/channels/wtsvc.h>
30 #include <freerdp/channels/log.h>
31 #include <freerdp/server/rdpsnd.h>
32 
33 #define TAG CHANNELS_TAG("rdpsnd.server")
34 
36 {
37  BOOL ownThread;
38  HANDLE Thread;
39  HANDLE StopEvent;
40  HANDLE channelEvent;
41  void* ChannelHandle;
42  DWORD SessionId;
43 
44  BOOL waitingHeader;
45  DWORD expectedBytes;
46  BYTE msgType;
47  wStream* input_stream;
48  wStream* rdpsnd_pdu;
49  BYTE* out_buffer;
50  size_t out_buffer_size;
51  size_t out_frames;
52  size_t out_pending_frames;
53  UINT32 src_bytes_per_sample;
54  UINT32 src_bytes_per_frame;
55  FREERDP_DSP_CONTEXT* dsp_context;
56  CRITICAL_SECTION lock; /* Protect out_buffer and related parameters */
57 };
58 
59 #endif /* FREERDP_CHANNEL_RDPSND_SERVER_MAIN_H */