Commit Graph

40 Commits

Author SHA1 Message Date
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
Armin Novak
d267750a79 Fixed flac caps creation. 2016-02-03 11:55:23 +01: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
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 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
Armin Novak
cf9f975341 Replaced snprintf with sprintf_s 2015-07-03 13:26:15 +02:00
David FORT
ea679b2d8b Hardened TSMF channel
This patch adds some checks for the TSMF channel:

* checks malloc / calloc / strdup / _strdup return value
* checks for available bytew before reading in a stream
2015-07-02 14:32:05 +02:00
Bryan Everly
9865854f3c Simplified random byte stream generation code to use SSL RAND_bytes() and also eliminated two more compiler warnings. 2015-05-05 12:33:44 -04:00
Marc-André Moreau
129582e67f channels/tsmf: cleanup 2014-11-10 14:02:54 -05:00
Marc-André Moreau
25f1073aa5 freerdp: fix build problems 2014-09-17 19:19:37 -04:00
Armin Novak
5c6d72ebba Fixed naming of entry function, now working with non static channel builds. 2014-09-17 09:12:01 +02:00
Armin Novak
7f5ed696c7 Fixed WVC capabilities. 2014-09-17 09:06:17 +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
Armin Novak
66b8905ac6 Using special log defines for channels now. 2014-08-11 09:12:01 +02:00
Armin Novak
32ef77738f Updated copyright headers. 2014-05-26 09:01:13 +02:00
Armin Novak
00637f3398 Fixed issue with gstreamer 1.0 video pipe. 2014-05-26 08:25:01 +02:00
Armin Novak
fd7ba77cd1 Removed <format> argument from caps, as it is not supported by decoders.
Fixed <video/x-raw-yuv> for gstreamer 1.0, where it is <video/x-raw>
Removed DEBUG_WARN in non error branches.
Removed pipeline delay.
2014-05-26 07:46:11 +02:00
Armin Novak
bbd63b6024 Using gst_parse_launch now instead of manual pipeline. 2014-05-25 10:08:50 +02:00
Armin Novak
2610f7ff50 Using wrapper set state function now everywhere. 2014-05-24 23:32:47 +02:00
Armin Novak
e5f81b5a36 Fixed c/p error. 2014-05-24 22:23:51 +02:00
Armin Novak
86e0ff8610 Added support for gstreamer 0.10 2014-05-24 22:22:33 +02:00
Armin Novak
058cba9383 Replaced custom state to name function with gstreamer version. 2014-05-24 13:56:12 +02:00
Armin Novak
ec252a3bc4 Fixed formatting.
Replaced else if with switch.
2014-05-23 15:35:25 +02:00
Armin Novak
7b455448f2 New gstreamer 1.0 code. 2014-05-23 13:46:37 +02:00
Marc-André Moreau
a202fe4057 freerdp: fix several type related warnings 2014-05-08 18:02:02 -04:00
Daniel Bungert
c95b5c49a6 Assorted tsmf and gstreamer fixes:
* tsmf audio volume fixes
  * The first audio volume message is received before everything is
    initialized.  Cache this data until we're ready.
  * Handle the cases of gstreamer unitialized/partially ready/
    fully ready.
  * Default to 50% as a fallback if the above fails.
* Improved detection of the primary monitor.
* Fix an unexpected shutdown when the server asks us to resize the media
  overlay to (width=0,height=0).
* Permit multiple presentations - required for repeat of audio files
  and also is seen in some video cases.
* Several leak fixes.
* Fix logging related compile warnings and other usage of PRIu64.
2013-06-19 12:33:46 -04:00
Marc-André Moreau
2e1a7447a1 channels: refactoring of channel subsystems 2012-11-19 22:31:15 -05:00
Marc-André Moreau
d3b505b008 channels: fix linking of channels 2012-10-14 03:22:58 -04:00
Marc-André Moreau
11d99595b2 debug: fix debug output build 2012-10-09 14:52:07 -04:00
Marc-André Moreau
9b602f4582 tsmf: fix gboolean type 2012-10-09 14:37:49 -04:00
Marc-André Moreau
9b97a5d70e channels: fix tsmf and urbdrc 2012-10-09 14:26:07 -04:00
Marc-André Moreau
9d064171a7 freerdp: get rid of old types 2012-10-09 03:26:39 -04:00
Marc-André Moreau
1bf8a45519 freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16 2012-10-09 03:01:37 -04:00
Marc-André Moreau
1ed644786c freerdp: change boolean type to BOOL type 2012-10-09 02:38:39 -04:00
Marc-André Moreau
5612bc43f8 freerdp: change true/false to TRUE/FALSE 2012-10-09 02:31:28 -04:00
Marc-André Moreau
e60a092d81 freerdp: fix headers 2012-10-08 23:02:04 -04:00
Marc-André Moreau
81974d1b2a channels: moving dynamic virtual channels 2012-09-22 18:08:22 -04:00