Commit Graph

72 Commits

Author SHA1 Message Date
Pascal J. Bourguignon
15f2bafeab Cleaned up const char** -> char** for argv, since we definitely do modify the argv!
(we overwrite the password and pin arguments).
This implies changes in the argument parsing tests that now must pass a mutable argv
(copied from the statically declared test argvs).
Some other const inconsistency have been dealt with too.
2018-06-06 16:43:09 +02:00
Armin Novak
c078aee238 Return real alsa latency if buffer is filled. 2018-05-16 08:52:55 +02:00
Armin Novak
3f712cab70 Fixed formatting of changed files. 2018-04-05 13:14:16 +02:00
Armin Novak
ec5dab973f Initialized ALSA backend format. 2018-04-05 13:14:16 +02:00
Armin Novak
f89c1857b9 Rewrite of sound and microphone channels
The sound and microphone redirection channels (and in part TSMF)
did not properly decouple encoding/decoding from the backends used
to play/record sound.
Encapsulating encoding/decoding in rewritten freerdp_dsp_* functions
with variable backends, simplifying alsa/oss/pulse/... audio backends.
2018-04-05 13:14:16 +02:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Norbert Federa
c6e6b44143 countless WLog/printf format specifier fixes 2016-11-25 17:06:25 +01:00
Norbert Federa
90cdfa7646 cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS 2016-06-15 13:36:27 +02:00
Armin Novak
fb88ad0ee6 Fixed symbol export for sound plugins. 2016-03-03 17:17:13 +01:00
Bernhard Miklautz
6fa3608111 cleanup cmake exports and pkg-config files
With this commit the "exported" components (usable with pkg-config and
cmake find module package)
* winpr - winpr library and headers
* freerdp - core library and headers
* freerdp-client - client specific library
* freerdp-server - server specific library
* rdtk - rdtk headers and library

To allow the installation of multiple different version (different major
number) the include files were moved into the respective sub folder:
freerdp -> freerdp{MAJOR}/freerdp (currently freerdp2/freerdp/)
winpr -> winpr{MAJOR}/winpr (currently winrp1/winpr/)
rdtk -> rdpk{MAJOR}/rdtk (currently rdtk0/rdtk/

The generated pkg-config and cmake find modules now also include the major
version number. Currently the following pkg-config are generated and
installed.
* winpr1
* freerdp2
* freerdp-server2
* freerdp-client2
* rdtk0

As cmake is able to handle multiple versions out of the box the
following can be used to find a specific module:

find_package(WinPR)
find_package(FreeRDP)
find_package(FreeRDP-Server)
find_package(FreeRDP-Client)
find_package(RdTk)

As cmake doesn't automatically resolve dependencies for packages it is
necessary to manually include the requirements. For example if
FreeRDP-Client is required WinPR and FreeRDP need to be included
(find_package) as well.

This commit also fixes the installation when STATIC_CHANNELS are built.
WITH STATIC_CHANNELS all channels are linked into libfreerdp-client, for
this all channels are generated as linker archive and linked together in
the final step. Before the intermediate linker archives were, although
not required and useful, installed. Same applies for server side
channels.
2016-01-12 17:32:33 +01:00
Armin Novak
f8295a1517 Fixed resource cleanup double free. 2015-08-28 10:51:27 +02:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Bernhard Miklautz
f992568432 rdpsnd: restore old behavior and fixes
* oss: fix function signature
* autodetection - if only /sound is given all enabled
  plugins are tried in order and the first successful loaded is used.
	- this restores the previous behavior
* alsa/pulse fix command line parsing - no parameters shouldn't be
  treated as error
2015-07-20 12:28:49 +02:00
Martin Haimberger
b8c110d19b introduced channel error reporting system
The rdpContext gets an event which will
get set if an error occoured in a channel.

If a thread or a void callback has to report an
error it will get signaled by this system.
2015-07-15 00:50:35 -07:00
David FORT
a8fefae3a1 Harden the sound channel
This patch adds checks for the sound channel and plugins:

* checks for protocol bytes;
* checks for malloc/calloc;
* be more strict when interacting with sound plugin
2015-06-24 17:06:45 +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
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
059374457d Removed library prefix override. 2014-09-17 11:27:11 +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
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
Armin Novak
66b8905ac6 Using special log defines for channels now. 2014-08-11 09:12:01 +02:00
Armin Novak
b252009d36 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:49 +02: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
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
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
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
403a9fff62 Fixed compiler warnings. 2013-09-19 10:34:18 +02:00
Marc-André Moreau
7edfe66274 freerdp: various missing link dependencies and symbol exports 2013-09-03 21:48:26 -04:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau
aec86e1da8 wfreerdp: start splitting CLI from client core 2013-03-18 20:12:51 -04: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
c22e5181c1 channels/rdpsnd: added more ALSA debug output 2013-02-24 22:32:48 -05:00
Marc-André Moreau
71a205a21e channels/rdpsnd: cleanup ALSA setup 2013-02-21 19:20:13 -05:00
Marc-André Moreau
23879a429b channels/rdpsnd: refactor audio format negotiation 2013-02-21 18:41:41 -05:00
Marc-André Moreau
6ba81c2a1a channels/rdpsnd: added more debug output for timing 2013-02-21 16:03:47 -05:00
Marc-André Moreau
8e8c9445dc channels/rdpsnd: add detailed latency output 2013-02-21 14:58:39 -05:00
Marc-André Moreau
5f1b13d77f channels/rdpsnd: start work on WavePlay/WaveConfirm 2013-02-21 13:25:43 -05:00
Marc-André Moreau
413e8fcf36 channels/rdpsnd: process ALSA write in separate thread 2013-02-21 11:58:41 -05:00
Marc-André Moreau
05bd6cff73 channels/rdpsnd: further experimentation with async alsa 2013-02-21 10:46:11 -05:00
Marc-André Moreau
4df376739d channels/rdpsnd: start alsa async mode 2013-02-21 03:38:36 -05:00