Commit Graph

51 Commits

Author SHA1 Message Date
Bernhard Miklautz
68e8569110 winpr/synch: remove the dependency on winsock.h
winsock.h pulls in a lot of defines and dependencies that are not
required and partially unwanted in winpr's core (for parts that are not
related to network). In order to get rid of this dependency and have an
independent defines for extended winpr functions the WINPR_FD_* defines
are used internally (and for exposed functions). Where required, like in
WSAEventSelect, the FD_* is mapped to WINPR_FD_*.
2015-07-14 11:39:41 +02:00
Armin Novak
d18b0fbeb4 Handle API updated. 2015-07-03 09:52:52 +02:00
Martin Fleisz
ccf5ba3194 Merge pull request #2717 from realjiangms/shadow_encoder_fps
server/shadow: shadow encoder related enhancement/fix.
2015-06-24 09:22:55 +02:00
zihao.jiang
e00655c3c2 server/shadow: shadow encoder related enhancement/fix.
1. Export fps related API so that subsystem implementation no longer need to know about details in encoder structure.
2. Discard frameList dictionary.
The 'value' in this dictionary is never used and not properly free'ed when client is disconnected.
The dictionary was used to calculate 'inflight' frame count. Once an ACK is received from client, an item in the dictionary is removed.
We then calculate 'inflight' frame by the count of the items in the dictionary.
However, some rdp clients (win7 mstsc) skips frame ACK if it is inactive, ACK of some frame would actually never arrive.
We actually don't need the dictionary. We only need to record the latest acknowledged frame id, and the difference between last sent frame id is the inflight frame count.
3. Minor fix in default fps calculation. encoder->frameAck is wrongly used as integer while it's actually bool flag.
2015-06-23 14:36:53 +08:00
Bernhard Miklautz
bf73f4e4f1 Fix unchecked strdups
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
zihao.jiang
15707363fb server/shadow: Integrate comment from @hardening: use switch to handle different message id. 2015-06-15 23:54:30 +08:00
zihao.jiang
8485d866d4 This is originally to add audio support. Several fixes included:
1. Introduce message queue in shadow client. No longer use subsytem->MsgPipe->out to deliver message to clients.
We used to use subsytem->MsgPipe->out for messages which need to be sent to client. But it's not correct. Only one client would get the message if multiple client exists
This problem make the fix in PR #2643 incomplete.
Introduced reference count based solution to release resource taken by the message.
Also added APIs for client message delivery.
Also fixed msg pipe in subsystem to clean resource when destroyed.
2. Discard unused StopEvent in client. We actually use quit message instead.
3. Enhance disposal of channels.
Free context for remdesk and encomsp channels. The original fix only stop the threads, but doesn't release resource.
Dispose channels earlier. The channels are built on client->vcm. Disposing channels after client->vcm is closed cause unknown behavior.
Original fix is #2644
4. Start to add audio support.
2015-06-14 21:45:52 +08:00
David FORT
12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
zihao.jiang
85dd90d817 shadow fix multi-client hang
Merge from commit d4df3a952b
Conflicts:

	server/shadow/shadow_subsystem.c
2015-05-11 00:04:07 +08:00
Norbert Federa
25fc866a58 Fix unchecked CreateThread calls and misc fixes 2015-05-05 13:55:48 +02:00
Marc-André Moreau
8a7a71a7b6 Merge pull request #2213 from akallabeth/wlog_callback_appender
Wlog callback appender
2014-11-17 09:41:58 -05:00
Armin Novak
232aa89efd Fixed memory leak. 2014-11-17 00:22:33 +01:00
Armin Novak
8d4589b1e1 Replaced fprintf error messages with WLog. 2014-11-16 12:21:38 +01:00
Marc-André Moreau
04299bb18b shadow: improve pointer updates 2014-11-07 13:51:10 -05:00
Marc-André Moreau
a538e791b3 shadow: add improved pointer updates 2014-11-06 17:25:41 -05:00
Marc-André Moreau
668aa17a22 shadow: add X11 PAM authentication 2014-09-26 19:03:48 -04:00
Marc-André Moreau
315d16a978 shadow: fix X11 extended keycodes 2014-09-26 17:51:45 -04:00
Marc-André Moreau
343947143e shadow/X11: fix color depth check 2014-09-22 10:06:16 -04:00
Marc-André Moreau
e20ff661e3 shadow: disable unsupported X11 color depths 2014-09-22 09:59:56 -04:00
Marc-André Moreau
aa2e6dacbb shadow: fix frame acks + bitmap negotiation 2014-09-19 12:06:12 -04:00
Marc-André Moreau
09fc388e03 shadow: add RefreshRect/SuppressOutput support 2014-09-18 22:18:58 -04:00
Marc-André Moreau
aa7571648c shadow: start using message queue 2014-09-18 17:22:44 -04:00
Marc-André Moreau
7ef55ab9b7 shadow: improve subsystem structure 2014-09-18 15:43:11 -04:00
Marc-André Moreau
527638c691 shadow: delay subsystem initialization for monitor enumeration 2014-09-18 13:06:49 -04:00
Marc-André Moreau
48d15998e7 shadow: add common subsystem code 2014-09-17 22:58:57 -04:00
Marc-André Moreau
6afd621d4c Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	server/Mac/mf_audin.c
	server/Mac/mf_event.c
	server/Mac/mf_info.c
	server/Mac/mf_mountain_lion.c
	server/Mac/mf_peer.c
	server/Mac/mf_rdpsnd.c
	server/Mac/mfreerdp.c
	server/shadow/CMakeLists.txt
2014-09-17 20:15:01 -04:00
Marc-André Moreau
25f1073aa5 freerdp: fix build problems 2014-09-17 19:19:37 -04:00
Armin Novak
5b5791c8d7 Using wlog for server now. 2014-09-15 08:55:00 +02:00
Marc-André Moreau
a16252d78b shadow: add initial cursor blending 2014-09-10 22:52:19 -04:00
Marc-André Moreau
f90f859f49 shadow: add X11 cursor monitoring 2014-09-10 19:04:28 -04:00
Marc-André Moreau
e1e8da9490 shadow: add ability to share rectangle within monitor 2014-09-10 16:27:24 -04:00
Marc-André Moreau
34756850e4 shadow: add ability to select monitor to share 2014-09-10 14:58:14 -04:00
Marc-André Moreau
54264936d1 shadow: improve synchronization barrier usage 2014-08-08 20:51:26 -04:00
Marc-André Moreau
8b4cf07c8a shadow: make use of synchronization barrier 2014-08-08 18:47:46 -04:00
Marc-André Moreau
fdab87cba0 shadow: improve invalid region detection 2014-08-07 12:36:45 -04:00
Marc-André Moreau
d9d9bf3609 shadow: start detecting invalid regions manually 2014-08-06 17:51:38 -04:00
Marc-André Moreau
4f41f03ad7 shadow: fix X11 non-XShm support 2014-08-06 14:18:34 -04:00
Marc-André Moreau
5e33c4899e shadow: reduce resource usage in encoder 2014-07-16 14:11:37 -04:00
Marc-André Moreau
f0ce0b8148 shadow: initial X11 multi-monitor support 2014-07-14 13:33:20 -04:00
Marc-André Moreau
8c9434f0dc shadow: remove header include dependency on subsystem 2014-07-13 21:20:36 -04:00
Marc-André Moreau
04aaf5d59d shadow: add support for frame acks 2014-07-13 19:42:57 -04:00
Marc-André Moreau
fb45c77996 shadow: improve X11 event handling 2014-07-13 17:30:39 -04:00
Marc-André Moreau
1ee4061eb4 shadow: consolidate X11 subsystem code 2014-07-13 15:58:31 -04:00
Marc-André Moreau
e9818e95ac shadow: hook X11 input 2014-07-12 01:18:08 -04:00
Marc-André Moreau
c865fed299 shadow: start hooking X11 subsystem with shadow server core 2014-07-12 00:01:29 -04:00
Marc-André Moreau
3d57659efb shadow: start structuring X11 code as shadow subsystem 2014-07-11 23:01:34 -04:00
Marc-André Moreau
8ae00f7385 shadow: start hooking X11 code as subsystem 2014-07-11 19:30:40 -04:00
Marc-André Moreau
7caf48bcf4 shadow: reduce X11 code 2014-07-11 18:30:56 -04:00
Marc-André Moreau
63f94ef150 shadow: further consolidate old X11 server code 2014-07-11 18:00:33 -04:00
Marc-André Moreau
01c557d1c3 shadow: start making generic core 2014-07-10 17:20:41 -04:00