FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
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 */