Armin Novak
639c176004
Fixed DecodeEx return value
2015-12-14 14:18:50 +01: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
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
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
Bryan Everly
cb533b2a04
Fixes for OpenBSD port
2015-09-10 21:31:13 -04:00
Martin Haimberger
52405a3e79
Remove WIN32ERROR type
...
All return values are UINT now.
2015-08-27 05:38:20 -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
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
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
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
Marc-André Moreau
ddf2519f1e
Merge pull request #2719 from bmiklautz/pull/2481
...
OSS, tsmf, usb and BSD fixes and improvements
2015-06-26 08:27:22 -04:00
Bernhard Miklautz
72fde88a8f
tsmf_oss: fix compiler warning
2015-06-23 11:40:04 +02:00
Bernhard Miklautz
7624519453
oss: fix formating
2015-06-22 19:45:56 +02:00
Martin Haimberger
76305a716c
just satisfied compiler
2015-06-18 03:04:33 -07:00
Norbert Federa
8e70012d65
tsmf: fix invalid check and a potential segfault
...
This resuscitates tsmf which was accidently broken in commit f8120919
2015-05-28 10:49:38 +02:00
ivan-83
9313197023
Code style changed.
2015-05-28 00:00:25 +03:00
ivan-83
307d22ca11
* debug and error messages now print function name and line number
...
* add debug messages to trace fake network dissconects
2015-05-27 23:48:07 +03:00
ivan-83
20a1d2b097
* tsmf: OSS now work, but only with ffmpeg, and sound is bad (like with alsa), ffmpeg code possible have bug with wrong resample
2015-05-27 23:23:57 +03:00
ivan-83
3912172fc8
+ tsmf: OSS initial suppot (not work yet)
...
* tsmf: fix video playback on FreeBSD (proper shared object name)
* tsmf: renamed args: audio->sys, audio-dev->dev
* audin: OSS fix, now it work
* cmdline: add syntax help for /audin, /rdpsnd, /tsmf
* add debug messages
2015-05-27 23:22:36 +03:00
ivan-83
0fda0eb0de
Code style changed.
2015-05-27 22:59:57 +03:00
ivan-83
83a40a32a7
* tsmf: OSS code cleanup
...
+ urbdrc: add devd support (not tested)
* fix FindUUID detection ubder BSD
* wlog: fix prev commit: build error on Windows
* cmdline: add /usb syntax help
2015-05-27 22:58:41 +03:00
ivan-83
1009268158
* debug and error messages now print function name and line number
...
* add debug messages to trace fake network dissconects
2015-05-27 22:57:10 +03:00
ivan-83
4f15e59900
* tsmf: OSS now work, but only with ffmpeg, and sound is bad (like with alsa), ffmpeg code possible have bug with wrong resample
2015-05-27 22:54:13 +03:00
ivan-83
94a7abd2af
+ tsmf: OSS initial suppot (not work yet)
...
* tsmf: fix video playback on FreeBSD (proper shared object name)
* tsmf: renamed args: audio->sys, audio-dev->dev
* audin: OSS fix, now it work
* cmdline: add syntax help for /audin, /rdpsnd, /tsmf
* add debug messages
2015-05-27 22:54:13 +03:00
Marc-André Moreau
b9c1cddc2e
Merge pull request #2583 from bceverly/OpenBSD-cleanup
...
Two minor source code changes to remove warnings
2015-05-21 10:17:54 -04:00
Hardening
f8120919af
Add checks for some XXX_New and XXX_Add functions
...
Based on PR #2616
2015-05-18 11:28:00 +02:00
Maxim
c9d6611170
added start for suspended threads
...
was issue - if all threads start before tsmf_stream_set_format - unknown format of threads, not remember exactly gstreamer or ffmpeg problem was.
2015-05-14 17:06:34 +03:00
Maxim
ed89fc7861
coding style update
2015-05-14 16:57:37 +03:00
Norbert Federa
1eff1a345e
free can handle NULL perfectly fine
2015-05-11 09:07:39 +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
Maxim
be7ff45a52
fixed crash at mediaplayer closing, fixed tsmf event parameters-no video, fixed tsmf no audio.
2015-04-17 12:14:30 +03:00
Maxim
26c054d7a4
fixed - detect realloc failed and return if calloc failed
2015-04-15 17:42:54 +03:00
Maxim
f3a1fe544e
fixed-check for calloc return memory
2015-04-15 14:08:51 +03:00
Maxim
87eae4a49b
fixed crash at mediaplayer closing, fixed tsmf event parameters-no video
...
freerdp crashed at media player closing windows 2008R2
no tsmf video output at test video sample about bunny.
all this fixed.
2015-04-15 11:29:27 +03:00
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
tagunil
45ea141974
tsmf: free frame data after processing
2015-03-26 13:38:09 +03:00
Zhang Zhaolong
b8de622b90
tsmf: fix incorrect usage of realloc.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 11:04:36 +08:00
Armin Novak
1873cc037d
Fixed null pointer dereference.
2014-11-17 01:23:54 +01:00
Armin Novak
d2952d1776
Fixed memory leak.
2014-11-17 00:06:14 +01:00
Marc-André Moreau
1225c6b5ce
xfreerdp: separate app windows from desktop windows
2014-11-11 22:27:33 -05:00
Marc-André Moreau
ee7299ec3f
channels/tsmf: remove dependency on deprecated eventing system
2014-11-10 16:33:34 -05:00
Marc-André Moreau
edd4aa797c
xfreerdp/tsmf: migrate to callback interface
2014-11-10 16:23:04 -05:00
Marc-André Moreau
a8ceed9dda
channels/tsmf: integrate pull request #2012
2014-11-10 14:18:23 -05:00
Marc-André Moreau
129582e67f
channels/tsmf: cleanup
2014-11-10 14:02:54 -05:00
Marc-André Moreau
a6bb185760
channels/tsmf: add new callback interface
2014-11-07 18:33:45 -05:00
Martin Fleisz
0be28ba0f6
Merge pull request #1965 from akallabeth/dynamic-addin-naming
...
Dynamic channel library naming
2014-10-31 13:42:16 +01:00
Marc-André Moreau
25f1073aa5
freerdp: fix build problems
2014-09-17 19:19:37 -04:00
Armin Novak
059374457d
Removed library prefix override.
2014-09-17 11:27:11 +02:00
Armin Novak
0bb8056494
Fixed entry function for ffmpeg and non static channel builds.
2014-09-17 09:18:21 +02: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
be28b068a8
Changed log level.
2014-09-16 09:45:48 +02:00
Armin Novak
148530da34
Decreased logging verbosity.
2014-09-15 19:38:37 +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
6762d73ae1
Fixed winpr_HexDump calls.
2014-09-09 16:33:05 +02:00
Marc-André Moreau
067da290dd
Merge pull request #2027 from akallabeth/winpr-log
...
Replace stdout and logging defines with WLog, add logcat support
2014-08-11 10:38:28 -04:00
Armin Novak
66b8905ac6
Using special log defines for channels now.
2014-08-11 09:12:01 +02:00
Ian Whyman
8eb7f69a12
Backwards compat defines
2014-08-08 13:05:06 +01:00
Ian Whyman
f73e40d188
CODEC_ID_* -> AV_CODEC_ID_*
2014-08-08 09:05:03 +01:00
Armin Novak
b252009d36
Replaced custom logging mechanism with WLog wrapper.
2014-08-07 16:51:49 +02:00
Armin Novak
ad3255354d
Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
...
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +02:00
bjcollins
d2d04f764d
Find glibconfig.h cmake should use pkgconfig information instead of a hard coded path to /usr/lib.
...
the OnOpen callback should be called when set to avoid a segfault.
2014-06-27 14:46:27 -05:00
Marc-André Moreau
42c83c25f8
Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
...
Conflicts:
channels/tsmf/client/tsmf_main.c
2014-06-12 12:08:15 -04:00
Armin Novak
15ce8c0552
Updated plugins to use new svc_plugin and OnDataReceived API.
2014-06-11 14:42:32 +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
faf955b052
Added resize code for gstreamer 0.10
2014-05-24 23:21:05 +02:00
Armin Novak
50e5338f76
Added equality check for update rendering area.
2014-05-24 22:58:54 +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
02649e7322
Added cmake magic to allow selection of gstreamer 1.0 or 0.10
2014-05-24 18:21:40 +02:00
Armin Novak
00c205cb84
Fixed busy loop.
2014-05-24 15:55:55 +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
3ae7dd1237
Using TSMF debug define now.
2014-05-23 13:51:47 +02:00
Armin Novak
12c053c3dc
Replaced DVC with TSMF debug define.
2014-05-23 13:51:14 +02:00
Armin Novak
46fed926ae
Refactored and simplified stream and presentation layer.
2014-05-23 13:50:52 +02:00
Armin Novak
0ec7ad4aec
Using TSMF debug define now.
...
Fixed missing NULL pointer checks, replaced magic numbers with define.
2014-05-23 13:49:54 +02:00
Armin Novak
94b81e1bc2
Using TSMF debug define now.
...
Calling presentation sync after sample.
2014-05-23 13:49:13 +02:00
Armin Novak
933748a95c
Renamed control messages, removed unused ones.
...
Added functions to allow custom ACK and SYNC functions.
2014-05-23 13:48:02 +02:00
Armin Novak
29261a849d
Now respecting supported decoder backends in fallback, preferring gstreamer.
2014-05-23 13:47:28 +02:00
Armin Novak
7b455448f2
New gstreamer 1.0 code.
2014-05-23 13:46:37 +02:00
Armin Novak
30ffb98205
Now using TSMF debug print.
2014-05-23 13:12:34 +02:00
Marc-André Moreau
a202fe4057
freerdp: fix several type related warnings
2014-05-08 18:02:02 -04:00
Marc-André Moreau
fb3f5e6bd2
libfreerdp-utils: purge deprecated list utils
2014-04-26 12:31:24 -04:00
eroen
6fe23e1a38
ffmpeg-2 -- CodecID
...
deprecated:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=104e10fb426f903ba9157fdbfe30292d0e4c3d72
broken with libavcodec 55
2013-11-21 15:11:42 +01:00
eroen
cbcf0de3fa
ffmpeg-2 -- dsp_mask
...
deprecated:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=95510be8c35753da8f48062b28b65e7acdab965f
broken with libavcodec 55
2013-11-21 15:11:42 +01:00
eroen
bf065f3e89
ffmpeg-2 -- AVCODEC_MAX_AUDIO_FRAME_SIZE
...
deprecated:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=0eea212943544d40f99b05571aa7159d78667154
broken with libavcodec 54
2013-11-21 11:35:53 +01:00