Commit Graph

367 Commits

Author SHA1 Message Date
Bernhard Miklautz
74c8400789 coding style fixes
Add missing space after if
2015-03-30 17:15:45 +02:00
Bernhard Miklautz
f469e069dc stream: Stream_Ensure*Capacity: change return type
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.

This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
ivan-83
7b3a552988 + audin OSS support (un tested now)
+ add: COMMAND_LINE_IGN_UNKNOWN_KEYWORD flag for CommandLineParseArgumentsA to ignory unknown keys without fail
+ add: lot of WLog_DBG() in drdynvc, add function names in existing
* change: error text in rdpsnd OSS
* fix: dev in rdpsnd does not work
* fix/change: audio-dev renamed to dev and now work in audin
* fix dynamic channels now work again
2015-03-13 01:28:44 +03:00
ivan-83
0f3b639058 * OSS build fix on linux 2015-03-11 02:17:45 +03:00
ivan-83
e85dccc22a * remove OSS debug messages 2015-03-10 01:34:15 +03:00
ivan-83
4f8f84f33b + some files for OSS, missed from prev commit 2015-03-09 09:31:27 +03:00
ivan-83
fe9fab920e + add OSS support for rdpsnd 2015-03-09 09:23:29 +03:00
ivan-83
8d5825ee00 Fix poor sound quality with ALSA
and decrease "ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred"
+ little code cleanup
2015-03-09 09:11:46 +03:00
Armin Novak
69afce34c7 Debug messages now use WLog_DBG instead of WLog_ERR. 2015-02-19 08:45:45 +01:00
Armin Novak
557e8bb938 Fixed variable initialisation and cleanup. 2015-01-20 12:31:21 +01:00
Armin Novak
918ca132f6 Fixed resource cleanup locations.
Additional error checks and logging.
2015-01-20 11:59:13 +01:00
Armin Novak
cbf8b1cf01 Fixed resource cleanup locations.
Additional error checks and logging.
2015-01-20 11:53:12 +01:00
Armin Novak
54fa77a06a Prettiefied WLog messages. 2015-01-20 11:20:38 +01:00
Marc-André Moreau
27a8e50e60 channels: fix drdynvc, patch memory leaks 2014-12-27 15:20:29 -05:00
Marc-André Moreau
6c2ebb2b58 channels: redirection valgrind fixes 2014-12-27 13:50:50 -05:00
Marc-André Moreau
fdd2dc7601 freerdp: patch valgrind leaks, cleanup 2014-12-03 14:17:27 -05:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Armin Novak
4529eb00ee Decreased logging verbosity. 2014-09-15 19:37:53 +02:00
Armin Novak
b1e9ffb655 Using wlog for channel logging now.
Fixed compiler warnings and broken callback in urbdrc.
2014-09-15 08:48:46 +02:00
Marc-André Moreau
f5ff6e1bd8 Merge pull request #2095 from bmiklautz/feat/byemonolithic
Remove non-monolithic builds of libfreerdp
2014-09-11 18:46:32 -04:00
Bernhard Miklautz
0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Bernhard Miklautz
96cd479c99 rdpsnd_server_handle_messages: change return type
With BOOL as return type it is not possible to differentiate between
success and "no data can be read" (when a channel read would block).

rdpsnd_server_handle_messages returns now int with the following
possible values:

-1 if no data could be read
0 error (like connection close) (formerly FALSE)
1 succsess (also if further bytes need to be read) (formerly TRUE)

Not using -1 for error cases was chosen to be compatible with the BOOL
return values used before.
2014-09-11 13:45:23 +02:00
Bernhard Miklautz
e603655048 rdpsnd server: seal stream before processing
If the stream is not sealed Stream_GetRemainingLength might return bogus
values.
2014-09-11 12:30:37 +02:00
Bernhard Miklautz
bbaecbd42d rdpsnd server: add support for clients version < 6
MS-RDPEA 2.2.2.3 states (Appendix A <6>) that quality mode PDU
should be ignored if the client version is < 6. For these clients the sound
channel got never activated since activated was only called after
reception of the quality mode PDU.

For clients < version 6 activated is now called after
CLIENT_AUDIO_VERSION_AND_FORMATS was received.
2014-09-11 12:30:37 +02:00
Armin Novak
784696c1cd Fixed missing includes and invalid replacement. 2014-08-11 09:38:08 +02:00
Armin Novak
66b8905ac6 Using special log defines for channels now. 2014-08-11 09:12:01 +02:00
Armin Novak
158e1323de Fixed compiler warnings. 2014-08-07 19:05:48 +02:00
Armin Novak
b252009d36 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:49 +02:00
Vic Lee
29cb8680ce server: allow partial channel read (fix rdpsnd). 2014-07-14 20:00:38 +08:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Hardening
4b6edb913c Make server sound thread optionnal
This patch makes the server-side sound channel thread optionnal, and
exposes functions to handle channel traffic from the outside.
2014-07-02 10:31:45 +02:00
Marc-André Moreau
c156006195 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-06-23 11:55:27 -04:00
Hardening
11f8e40d50 Fix packet decoding logic
This patch totally reworks the logic of the packet decoding for the
server-side sound channel.
2014-06-19 10:06:37 +02:00
Hardening
f33f755635 Also specify the timestamp when sending samples
This patch complements the SendSample() callback to take the timestamp
as extra argument.
2014-06-18 23:44:34 +02:00
Hardening
99d531655c Implement a confirm block callback
This patch adds a callback called when we receive feedback from the
client.
2014-06-18 23:44:34 +02:00
Marc-André Moreau
53639dea0b channels: reduce dependency on svc_plugin.h 2014-06-11 15:09:28 -04:00
Martin Fleisz
6f1f4be0ae Merge pull request #1873 from hardening/WTSVirtualChannelWriteCallers
Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
2014-06-03 16:40:05 +02:00
Vic Lee
a4c583c459 rdpsnd/server: fix incorrect use of channe handle. 2014-05-30 23:00:15 +08:00
Hardening
c076ffb020 Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
Nothing in the MSDN API says that setting NULL is safe. And if the
implementation uses WriteFile directly, it crashes.
2014-05-28 17:04:24 +02:00
Hardening
965eefe04e Fixed bad check 2014-05-02 22:45:38 +02:00
Hardening
09c9181f8d Fix ChannelEvent 2014-05-02 21:53:52 +02:00
Hardening
a7023769d0 Fixes in the server-side sound channel
This patch:
* treats OOM situations
* adds checks when reading audio channel messages
2014-04-29 01:02:35 +02:00
Marc-André Moreau
769502ec72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-26 13:47:01 -04:00
Vic Lee
08b4976f72 Revert "channels: fix link errors."
This reverts commit 2fc7f9c485.
2014-04-22 15:05:53 +08:00
Marc-André Moreau
13d61f341d Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-21 16:28:01 -04:00
Marc-André Moreau
784e9abd79 cmake: improve __FILE__ relative path hack 2014-04-21 14:42:24 -04:00
Vic Lee
2fc7f9c485 channels: fix link errors. 2014-04-21 17:47:12 +08:00
Benoit LeBlanc
27c753f80c Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-19 11:53:10 -04:00
Marc-André Moreau
db1159f7b6 Merge pull request #1737 from zhangzl2013/sound-fix
Sound fix
2014-03-13 10:35:33 -04:00
Benoît LeBlanc
c6f235e1ee Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-12 18:23:26 -04:00
Benoît LeBlanc
dde8d81f46 Removed WLOG traces for audio playback 2014-03-12 18:23:17 -04:00
Zhang Zhaolong
ffb53ba5e2 sound: cleanup invalid code. 2014-03-12 17:16:06 +08:00
Zhang Zhaolong
9cf6d1d9ae sound: fix long latency. 2014-03-12 17:02:45 +08:00
Zhang Zhaolong
69c926eb37 sound: fix random volume on connection. 2014-03-12 15:04:33 +08:00
Zhang Zhaolong
69296ce3bd wfreerdp: build fix. 2014-03-04 13:54:25 +08:00
Marc-André Moreau
6695873394 libwinpr-wtsapi: fix multiple inconsistencies with original wtsapi headers 2014-02-28 14:49:57 -05:00
Marc-André Moreau
419e2936be Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 15:09:06 -05:00
Marc-André Moreau
951368a1ce Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-02-27 13:58:29 -05:00
Marc-André Moreau
6e1cdf1b67 libfreerdp-core: expose opaque HANDLE instead of WTSVirtualChannelManager* 2014-02-27 13:30:04 -05:00
Vic Lee
4fa2ca3062 rdpsnd-server: fix broken message parsing. 2014-02-20 23:33:27 +08:00
Marc-André Moreau
3e546a22a1 channels: start migrating existing server-side channels to WTSAPI 2014-02-16 22:07:00 -05:00
Marc-André Moreau
82b922a70d channels: rename custom CHANNEL_ENTRY_POINTS_EX to CHANNEL_ENTRY_POINTS_FREERDP to fix conflict 2014-02-16 17:38:59 -05:00
Marc-André Moreau
b833073f57 libfreerdp-core: make client virtual channel API prototypes converge towards original API 2014-02-16 17:27:36 -05:00
Marc-André Moreau
8a81208059 libfreerdp-core: move server-side virtual channels back into core 2014-02-15 17:42:59 -05:00
Marc-André Moreau
cdcd290c44 wfreerdp: fix most build warnings 2014-02-10 22:12:13 -05:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Marc-André Moreau
6acd0ed84a channels/rdpsnd: improve winmm rdpsnd implementation 2013-12-15 15:59:51 -05:00
Marc-André Moreau
4356eb5572 Merge branch 'audio' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/codec/audio.c
2013-12-11 17:24:00 -05:00
Marc-André Moreau
f890771871 channels/rdpsnd: fix audio duration computation for GSM610 format 2013-12-11 17:21:29 -05:00
Marc-André Moreau
95a452e77f channels/rdpsnd: start using AudioConverter 2013-12-09 17:34:23 -05:00
Marc-André Moreau
c230e872af channels/rdpsnd: start refactoring mac audio code 2013-12-09 16:02:42 -05:00
Marc-André Moreau
76c842285d channels/rdpsnd: initial attempt at adding GSM610 support 2013-11-22 12:11:39 -05:00
Marc-André Moreau
c1fa455c30 channels/rdpsnd: add wlog debug output 2013-11-19 15:31:38 -05:00
Marc-André Moreau
c03a2e5497 channels/rdpsnd: add option for configuring audio quality mode 2013-11-19 14:29:31 -05:00
Armin Novak
23b5845660 Fixed crash due to duplicate resource cleanup (MessagePipe freed in channel) 2013-11-12 10:22:04 +01:00
Marc-André Moreau
3c44ff9c83 channels/rdpsnd: fix bug in rdpsnd and rdpdr deinitialization 2013-11-06 14:31:33 -05:00
Marc-André Moreau
5406ebd5d8 channels/drive: refactoring 2013-11-03 19:10:33 -05:00
Marc-André Moreau
37450da55d cmake: fix exporting of targets on pre-2.8.11 2013-10-29 14:47:40 -04:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
f35d45488c channels/rdpsnd: make use of MessagePipe 2013-10-19 16:42:42 -04:00
Marc-André Moreau
bd64e616de channels/rdpsnd: decouple rdpsnd from svc_plugin 2013-10-19 16:20:31 -04:00
Marc-André Moreau
dbbb364caf channels: export audin and rdpsnd subsystem interface 2013-10-19 12:38:31 -04:00
Armin Novak
27566ce566 Fixed invalid return. 2013-10-01 11:19:16 +02:00
Armin Novak
8ccf7f8ca2 Fixed queue initialization and overflow checks. 2013-09-30 10:11:54 +02:00
Armin Novak
95468dcf17 Modified rdpsnd opensles backend, now just filling queue and not waiting
for completion of playback, results in better sound quality.
2013-09-27 15:55:14 +02:00
Armin Novak
2269cbe155 Merge branch 'master' of https://github.com/FreeRDP/FreeRDP into android_sound 2013-09-27 11:46:48 +02:00
Armin Novak
8139c4894b Cleaned up rdpsnd for android, prepared volume control. 2013-09-27 11:45:53 +02:00
Armin Novak
2839f5d755 Renamed plugins from 'opensl_es' to 'opensles' 2013-09-23 12:38:05 +02:00
Armin Novak
d60e74e622 Removed obsolete audiotrack implementation. 2013-09-20 12:48:35 +02:00
Armin Novak
1c506a3724 Fixed CommandLinePArseArgumentsA return value check, only abort if negative. 2013-09-20 10:11:05 +02:00
Armin Novak
01b6d5d229 Fixed compiler warnings. 2013-09-20 10:08:56 +02:00
Armin Novak
489e375f7b Fixed potential memory leak, now always calling WaveConfirm after playing
a sample.
2013-09-20 09:19:11 +02:00
Armin Novak
3f62a9176c Added audiotrack support to rdpsnd. 2013-09-19 12:01:14 +02:00
Armin Novak
4748d0e4dd Merged back audiotrack support from felix lang. 2013-09-19 12:00:49 +02:00
Armin Novak
403a9fff62 Fixed compiler warnings. 2013-09-19 10:34:18 +02:00
Armin Novak
64454faf71 Fixed double free of wave buffer. 2013-09-19 10:23:28 +02:00
Marc-André Moreau
518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Marc-André Moreau
336e47e82f Merge pull request #1460 from akallabeth/thread_handle_fixes
Thread handle fixes
2013-09-16 13:40:32 -07:00
Marc-André Moreau
f790831e7d Merge branch 'master' of github.com:awakecoding/FreeRDP into xrdp-ng 2013-09-05 15:23:19 -04:00
Armin Novak
d7d5869cb6 Fixed thread handling. 2013-09-05 13:39:15 +02:00
Armin Novak
6ac0b10158 Removed buffer copy, still fixes memory leak. 2013-09-05 12:14:34 +02:00
Armin Novak
854aa3fcfa Fixed memory leak. 2013-09-05 12:14:34 +02:00
Armin Novak
e5c138a5b9 Fixed various memory leaks, allocation size issues and API misuse
warnings shown by clang as well as some compiler warnings.
2013-09-05 12:14:34 +02:00
Armin Novak
a3b531c036 Fixed issues found with clang-analyzer 2013-09-05 12:14:33 +02:00
Marc-André Moreau
7edfe66274 freerdp: various missing link dependencies and symbol exports 2013-09-03 21:48:26 -04:00
Marc-André Moreau
c11da95165 Merge branch 'master' of github.com:awakecoding/FreeRDP into xrdp-ng 2013-09-03 18:41:14 -04:00
Mike McDonald
3e1f72a011 Fixed minor formatting issues 2013-08-28 21:37:45 -04:00
Mike McDonald
cfe90ae829 Added RDPSND device plugin for iOS 2013-08-28 21:03:34 -04:00
Mike McDonald
772f738c47 Added RDPSND device plugin for iOS 2013-08-28 21:02:48 -04:00
Marc-André Moreau
c878200e00 channels/server: refactor to match WTSApi + avoid conflicts 2013-08-20 19:26:36 -04:00
Marc-André Moreau
552cee7431 channels/server: start refactoring to fully match WTSApi 2013-08-20 18:06:19 -04:00
Marc-André Moreau
23a8354656 channels: rdpsnd refactoring, drdynvc initial server-side code 2013-08-18 21:52:55 -04:00
Marc-André Moreau
e45f149db4 channels/rdpsnd: fix potential uninitialized value 2013-05-25 15:49:44 -04:00
Marc-André Moreau
e9d362b58e channels/printer: fix printer redirection and test with cups-pdf 2013-05-20 15:50:22 -04:00
Marc-André Moreau
fdf3ddcf9e freerdp: purge deprecated stream utils 2013-05-08 17:48:30 -04:00
Marc-André Moreau
fd230443c5 freerdp: purge old stream utils 2013-05-08 16:27:21 -04:00
Marc-André Moreau
5b92413843 freerdp: purge deprecated stream utils 2013-05-08 16:09:16 -04:00
Marc-André Moreau
b4cac74136 xfreerdp-server: fix RemoteFX encoding 2013-05-01 18:15:55 -04:00
Marc-André Moreau
51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Marc-André Moreau
f4df4e4b26 channels: partial cleanup 2013-03-29 14:49:09 -04:00
Marc-André Moreau
d187becc28 freerdp: merge with master 2013-03-28 21:20:36 -04:00
Marc-André Moreau
3417a3aab5 freerdp: merge RDP_EVENT type with wMessage 2013-03-28 21:13:56 -04:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau
8c8a82c31f libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
Marc-André Moreau
a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
Marc-André Moreau
aec86e1da8 wfreerdp: start splitting CLI from client core 2013-03-18 20:12:51 -04:00
C-o-r-E
4c769bc01b rdpsnd: clean up debug output 2013-03-11 14:15:48 -04:00
C-o-r-E
1e8a7c6105 channels/rdpsnd: removed debug prints 2013-03-08 13:44:49 -05:00
C-o-r-E
7453fdaecc channels/rdpsnd: merged 2013-03-08 13:25:03 -05:00
C-o-r-E
2d3fc241a6 mfreerdp-server and rdpsnd server more fixes 2013-03-08 12:55:21 -05:00
C-o-r-E
989232dc41 mfreerdp-server and rdpsnd server fixes 2013-03-08 12:36:38 -05:00
Marc-André Moreau
2abd3d11bd channels/rdpsnd/server: cleanup pdu creation 2013-03-07 16:04:25 -05:00
Marc-André Moreau
cabc465464 channels/rdpsnd/server: get rid of old thread util 2013-03-07 15:33:27 -05:00
Marc-André Moreau
96fa4f462f libfreerdp-codec: move audio format processing code to codec library 2013-03-07 14:43:21 -05:00
C-o-r-E
e4702cac98 rdpsnd: server no longer crashes when mstsc version 8 connects 2013-03-07 14:21:50 -05:00
C-o-r-E
d50cddc1bd mfreerdp-server: begin reworking rdpsnd server channel 2013-03-07 13:34:12 -05:00
C-o-r-E
8ab7ce23b5 mfreerdp-server: check for invalid rdpsnd format 2013-03-05 17:31:31 -05:00
Bernhard Miklautz
b95bf97c20 android: build fix - no librt
Android NDK doesn't provide librt.
2013-02-28 11:47:09 +01:00
Marc-André Moreau
5468c53720 channels/rdpsnd: added better format debug output 2013-02-27 20:46:14 -05:00
Marc-André Moreau
af80955b78 wfreerdp: fix rdpsnd 2013-02-27 17:35:57 -05:00
Marc-André Moreau
761e1d464f channels/rdpsnd: add GetVolume() 2013-02-27 16:57:18 -05:00
Marc-André Moreau
5ead9ec30d channels/rdpsnd: fix stop/start 2013-02-27 15:10:35 -05:00
Marc-André Moreau
d815363fa7 channels/rdpsnd/alsa: fix build with DEBUG_SVC 2013-02-27 10:26:11 -05:00
Marc-André Moreau
6a775ff032 channels/rdpsnd: reduce ALSA buffer underruns 2013-02-26 17:54:16 -05:00
Marc-André Moreau
8df47fb7fa channels/rdpsnd: attempt computing proper timestamp for playback end 2013-02-26 11:50:48 -05:00
Marc-André Moreau
afa7f4b945 channels/rdpsnd: fix crashes on termination 2013-02-26 11:16:33 -05:00
Marc-André Moreau
2b9174a69b channels/rdpsnd: cleanup 2013-02-25 21:46:48 -05:00
Marc-André Moreau
efb0a15fc9 channels/rdpsnd: added audio data length 2013-02-25 17:49:07 -05:00
Marc-André Moreau
b6e46e4511 Merge branch 'master' of github.com:awakecoding/FreeRDP 2013-02-24 22:33:27 -05:00
Marc-André Moreau
c22e5181c1 channels/rdpsnd: added more ALSA debug output 2013-02-24 22:32:48 -05:00