Commit Graph

1315 Commits

Author SHA1 Message Date
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
Armin Novak
97f7aa8f42 Fixed uninitialized values. 2015-09-01 12:27:54 +02:00
Armin Novak
c7238fb9d9 Fixed uninitialized values. 2015-09-01 12:26:33 +02:00
Armin Novak
aa43f3b5df Fixed zero lenght allocation. 2015-09-01 12:25:44 +02:00
Armin Novak
7cd3da9699 Fixed error handling of OSS audio plugin. 2015-09-01 12:25:38 +02:00
Armin Novak
276685263d Fixed cleanup code. 2015-08-28 11:46:24 +02:00
Armin Novak
5e360ddcb1 Fixed memory leak. 2015-08-28 11:22:21 +02:00
Armin Novak
26b1f5a914 Fixed memory leak. 2015-08-28 11:06:26 +02:00
Armin Novak
198b70db0e Fixed memory leak. 2015-08-28 11:05:44 +02:00
Armin Novak
1cedbd5cd1 Fixed memory leak. 2015-08-28 11:01:34 +02:00
Armin Novak
f8295a1517 Fixed resource cleanup double free. 2015-08-28 10:51:27 +02:00
Marc-André Moreau
90b7d42429 Merge pull request #2838 from akallabeth/smartcard_no_readers
Added return value checks for smartcard functions.
2015-08-27 10:05:23 -04:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Martin Haimberger
420a86e1c7 Merge remote-tracking branch 'upstream/master' into mh-channel-fix
Conflicts:
	channels/drdynvc/client/drdynvc_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	client/X11/xf_gfx.c
2015-08-25 00:07:04 -07:00
Armin Novak
c40f3198a4 Added return value checks. 2015-08-19 12:50:48 +02:00
Martin Haimberger
414d4b8f8e fixed wrong returntype under windows 2015-07-30 07:50:10 -07:00
Martin Haimberger
2862109337 Merge remote-tracking branch 'upstream/master' into mh-channel-fix
Conflicts:
	channels/smartcard/client/smartcard_main.c
	channels/smartcard/client/smartcard_operations.c
2015-07-30 07:29:12 -07:00
Martin Haimberger
65fd259610 misc fixes:
fixed all bugs from the review
checking all WaitFor*Object/s calls
2015-07-30 06:49:21 -07:00
Bernhard Miklautz
a22dc21c15 remdesk,encomps: misc fixes
* only free stream when an error occurs
* ignore unhanded messages instead of throwing an error
* fix memory leak in settings
2015-07-29 17:32:09 +02:00
Marc-André Moreau
5cb06ecc68 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-07-28 09:21:33 -04:00
Marc-André Moreau
dfa29804ad Merge pull request #2799 from kaliway/scardlistreaders-fix
Smartcard Reader Connection Handling
2015-07-28 08:51:03 -04:00
Bernhard Miklautz
9fb6705380 rdpdr/printer: ignore unhanded packetID
Ignore packetIDs PRN_CACHE_DATA and PRN_USING_XPS instead of returning
an error.
2015-07-28 14:05:57 +02:00
Kirill Kotyagin
ef37487a44 channels/smartcard: fix possible mszReaders leak in smartcard_ListReaders(A/W)_Call 2015-07-22 17:25:17 +03:00
Kirill Kotyagin
76916d614b channels/smartcard: make smartcard_ListReaders(A/W)_Call return PCSC error statuses to the server 2015-07-22 16:56:24 +03:00
Martin Haimberger
f65d15feeb fixed audioserver
if no data could be read, the ERROR_NO_DATA is returend to
indicate a further read.
2015-07-22 03:16:46 -07:00
Martin Haimberger
58ada13dd9 fixed some remakes and compiler errors 2015-07-22 02:36:24 -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
Rostislav Kondratenko
7248ea98d0 Fixing condition on SCardIsValidContext to be true when context is valid 2015-07-17 18:13:02 +03:00
Rostislav Kondratenko
f2863fabf5 Re-enabled PCSC-Lite transactions and fixed smartcard deinitialization so it will release all contexts to unblock calls waiting for transactions 2015-07-17 16:37:44 +03:00
Martin Haimberger
e682329eeb fixed compiler errors 2015-07-15 03:17:38 -07:00
Martin Haimberger
6ab0187d84 Merge remote-tracking branch 'upstream/master' into mh-channel
Conflicts:
	channels/audin/client/oss/audin_oss.c
	channels/drive/client/drive_main.c
	channels/printer/client/printer_cups.c
	channels/printer/client/printer_main.c
	channels/rail/client/rail_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	channels/rdpsnd/client/oss/rdpsnd_oss.c
	channels/remdesk/client/remdesk_main.c
	channels/remdesk/server/remdesk_main.c
	channels/tsmf/client/tsmf_media.c
2015-07-15 01:57:07 -07: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
MartinHaimberger
b06d83ba80 Merge pull request #2766 from akallabeth/snprintf_to_sprintf_s
Replaced snprintf with sprintf_s
2015-07-15 09:47:43 +02:00
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
Martin Haimberger
d9e2834a70 channel smartcard hardend 2015-07-09 03:00:19 -07:00
Marc-André Moreau
aae86d61ce channels/rdpgfx: fix TotalDecodedFrames counter 2015-07-08 14:16:29 -04:00
Marc-André Moreau
23f9b3bbc0 channels/rdpgfx: reset state on channel close 2015-07-08 11:17:56 -04:00