Commit Graph

1353 Commits

Author SHA1 Message Date
Armin Novak
539be1f9a5 Fixed unsigned underflow. 2016-02-03 11:30:15 +01:00
Armin Novak
8595e395ab Fixed size checks (thanks to @virtman) 2016-01-28 11:45:06 +01:00
Bernhard Miklautz
ede0da3280 build: fix a problem with cmake version 2.8.11
Starting with cmake 2.8.10 FreeRDP exports a cmake find module. With 2.8.12
the PRIVATE/PUBLIC keywords were introduced in cmake. When building with
2.8.11 it is not possible to mark link dependencies as private and
therefore they need to be exported.
2016-01-15 13:32:25 +01:00
Armin Novak
aa90673008 Fixed memory leak on cleanup. 2016-01-15 09:33:21 +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
Bernhard Miklautz
97edeca204 Merge pull request #2874 from akallabeth/stdtypes
Using stdint.h and stdbool.h for type definitions
2015-12-17 16:37:54 +01:00
Armin Novak
6ed43cd6ec Updated pdb file locations.
Now supporting generators NMake and Visual Studio.
2015-12-15 12:08:35 +01:00
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Hardening
55d097a161 Merge pull request #2414 from zavadovsky/opensles_fixes
opensles fixes
2015-12-14 17:22:38 +01:00
Hardening
292a37b719 Merge pull request #2772 from bjcollins/master
tsmf updates/fixes for gstreamer decoder on X11 platform
2015-12-14 16:08:13 +01:00
Hardening
58d80d23d5 Merge pull request #2973 from hopToDev/master
Fixed build errors that occur when setting WITH_IOSAUDIO build option
2015-12-14 15:10:33 +01:00
Armin Novak
90251f5e0d Fixed OnNewChannelConnection arguments 2015-12-14 14:18:50 +01:00
Armin Novak
639c176004 Fixed DecodeEx return value 2015-12-14 14:18:50 +01:00
Hardening
70b9e994e1 Merge pull request #2941 from akallabeth/clipboard_file_fix
Clipboard file fixes
2015-12-10 16:13:24 +01:00
Hardening
17a1127341 Merge pull request #2976 from akallabeth/mac_audin_support
Added audin support for mac os.
2015-12-09 14:56:56 +01:00
Martin Fleisz
6890e0b84d cliprdr/server: Fix incorrect message flags 2015-11-19 16:29:57 +01:00
Martin Fleisz
fc2768f807 cliprdr/server: Fix incorrect message header 2015-11-19 16:17:36 +01:00
Martin Fleisz
3070cab0fa cliprdr/server: Fix parsing of file contents request PDU 2015-11-19 14:12:26 +01:00
Armin Novak
f4a466b798 Added mac implementation. 2015-11-13 11:47:58 +01:00
Armin Novak
f6e17ec65c Added audin support for mac os. 2015-11-12 16:10:39 +01:00
Mehul Dhorda
044ebaafcd Fixed build errors that occur when setting WITH_IOSAUDIO build option.
- Replaced } with ) in CMakeLists.txt
- Included header in TPCircularBuffer.c which is required for the TAG define
2015-11-10 11:39:37 -08:00
bjcollins
d83386bf87 Fix issue with previous commit, Xext is not required for tsmf but the
definition for it still needs to be added when found.
2015-11-10 10:59:13 -06:00
Bernhard Miklautz
0cdb4f7924 Fix compiler warnings
gcc (Debian 4.9.2-10) 4.9.2

winpr/libwinpr/thread/argv.c: In function ‘CommandLineToArgvA’:
winpr/libwinpr/thread/argv.c:94:6: warning: unused variable ‘index’ [-Wunused-variable]
  int index;

winpr/libwinpr/file/test/TestFileGetStdHandle.c: In function ‘TestFileGetStdHandle’:
winpr/libwinpr/file/test/TestFileGetStdHandle.c:44:2: warning: implicit
	declaration of function ‘CloseHandle’ [-Wimplicit-function-declaration]
  CloseHandle(stdout);
    ^
libfreerdp/codec/test/TestFreeRDPRegion.c: In function ‘test_norbert2_case’:
libfreerdp/codec/test/TestFreeRDPRegion.c:697:6: warning: unused variable ‘i’ [-Wunused-variable]
  int i;

channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_receive_format_list’:
channels/cliprdr/server/cliprdr_main.c:636:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
                        ^
channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_init’:
channels/cliprdr/server/cliprdr_main.c:1097:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
2015-11-09 19:26:34 +01:00
Bernhard Miklautz
d73c4898c1 Add build-config.h
build-config.h should contain configure/compile time settings that are
relevant for projects that use FreeRDP.

For example the compiled in plugin search paths.
2015-11-09 15:54:22 +01:00
Martin Fleisz
25b1e39460 cliprdr/server: Server-side file content receiving used wrong callback 2015-10-29 12:45:12 +01:00
Martin Fleisz
730f43a380 cliprdr/server: Provide the server with a possibility to configure capabilities 2015-10-27 17:12:33 +01:00
Armin Novak
17a2d1ba1c Fixed clipboard file contents response and message to string. 2015-10-27 10:44:31 +01:00
Martin Fleisz
2d99f76667 cliprdr/server: Fix memory leak 2015-10-23 08:49:24 +02:00
Martin Fleisz
26d102c6dc cliprdr/server: Don't call CloseHandle on EventHandle 2015-10-16 11:40:25 +02:00
Marc-André Moreau
1b7e36a20f Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-10-13 11:09:43 -04:00
Armin Novak
82134fbef3 Remove unnecessary copy operation. 2015-10-02 09:29:00 +02:00
Marc-André Moreau
3fd0c45be8 afreerdp: fix build warnings 2015-09-22 11:53:50 -04:00
bjcollins
456416a871 Dont use invalid/bogus input value for cbAtrLen for Smartcard Status Calls, instead just always use the max value here to indicate we have max
buffer space available.
2015-09-18 16:55:06 -05:00
bjcollins
9b2d5ce849 Fix logic with stream syncing as the sync offset was not always calculated correctly, which could result in video playback freezing.
Fixed formatting of some tsmf debugging timestamps so they are readable/usabe.
2015-09-17 16:20:08 -05:00
bjcollins
d9754703f4 Fixed memory leak in tsmf_send_eos_response() function
Correctly handled tsmf geometry updates with no rects = tsmf window should not be shown
Add more X Display locking to tsmf gstreamer X11 module
2015-09-17 16:20:08 -05:00
bjcollins
0cb54119a5 Remove strict dependency on Xext for tsmf, it is optional not required 2015-09-17 16:20:08 -05:00
bjcollins
ca097e7363 Fix minor issues with the previous tsmf commits. 2015-09-17 16:20:08 -05:00
bjcollins
8d692995d6 tsmf gstreamer fixes
- Update patch based on feedback
- Fix gstreamer 1.0 compatibility/build issue from first patch
2015-09-17 16:20:08 -05:00
bjcollins
e8704544f4 - Use decodebin2 instead of old decodebin - decodebin has issues
- Use autovideosink - xvimagesink does not work with cards with no xv ports available and cant be used if wanted to use the fluendo hardware accelerated playback codec
- Use autoaudiosink - let gstreamer choose best audio playback plugin
- Catch when autosinks add known elements so that we can manipulate properties on them
- Adjust caps of various media types to work better with gstreamer, some codecs are picky about having certain fields available
- Remove unneeded plugins such as "ffmpegcolorspace" and "videoscale" - these do not work correctly with fluendo hardware accelerated playback codec
- Name audio/video gstreamer elements better for easier debugging
- Update gstreamer pipeline and element properties to handle playback better
- Detect when valid timestamps are available for buffer from server and try to account for when they are not valid
- Start time is much more reliable then end time from server for various media formats, so use it when possible to make decisions instead of end time
- Do not rebuild gstreamer pipeline for a seek(very expensive), instead reset gstreamer time to 0 and maintain offset between real time and gstreamer time
- Change buffer filled function back to a buffer level function, so that we can use buffer level to make better choices above gstreamer decoder in tsmf
- Remove ack function from gstreamer, instead rely on ack thread to handle acks
- Rework X11 gstreamer code to handle various videosinks which implement the XOverlayInterface and to keep more detailed information on the sub-window that is used for display
- Add check to see if a decoder is available for telling the server the client various media types
- Add in support for M4S2 and WMA1 media types
- Fix flush message handling, they are for individual streams and not the entire presentation
- Delay eos response to try to allow more time for buffers to be loaded into decoder, as we anticipate acks to server and the server will issue stop as soon as we ack eos.
- Fix issue with geometry info being ignored when resent for new streams within existing presentation
- Fixed volume level initialization issue when a stream is stopped and restarted
- Attempt to sync video/audio streams...because we run two different gstreamer pipelines - they can enter pause/playing states at different times and are thus not synchronized. Attempt
to adjust video buffer timestamps based on difference between audio/video running time to account for this difference. This logic accounts for a huge improvement in audio/video sync(ie. lip sync to words)
2015-09-17 16:20:08 -05:00
Martin Fleisz
f8ceb3f606 Merge pull request #2895 from aballier/ffmpeg
channels/tsmf/client/ffmpeg: Fix build with ffmpeg git master.
2015-09-17 16:02:00 +02:00
Alexis Ballier
b7b66968f9 channels/tsmf/client/ffmpeg: Fix build with ffmpeg git master.
Replace old, deprecated and now removed, APIs with their new equivalent while retaining backward compatibility with old ffmpeg versions.
2015-09-17 10:36:44 +02:00
Martin Fleisz
affe82cae8 Merge pull request #2890 from realjiangms/shadow_fix_memory_leak
server: Fix several memory leak found while running valgrind on freerdp-shadow
2015-09-17 10:33:43 +02:00
zihao.jiang
f21749ac07 server: Fix several memory leak while running valgrind on freerdp-shadow 2015-09-17 01:02:22 +08:00
MartinHaimberger
d4d360f6a4 Merge pull request #2859 from akallabeth/resource_leak_fix
Fixes API misuse and logic errors
2015-09-15 14:45:42 +02:00
Bryan Everly
cb533b2a04 Fixes for OpenBSD port 2015-09-10 21:31:13 -04:00
Armin Novak
911750f0f6 Checking for allocation value > 0 2015-09-07 11:10:27 +02:00
Armin Novak
d07875b7ea Fixed error checking and recording reset. 2015-09-07 09:25:48 +02:00
Armin Novak
e345feb5c1 Generalized rdpgfx_decode to work with all codecs. 2015-09-03 12:11:15 +02:00
Vic Lee
cc1bcb31b8 rdpsnd/winmm: fix SetVolume when device is not opened. 2015-09-02 15:31:40 +08:00
Armin Novak
61e7f993aa Fixed possible memory leak. 2015-09-01 12:34:40 +02:00