Commit Graph

45 Commits

Author SHA1 Message Date
Conn O'Griofa 211b25848f platform/windows: add optional DwmFlush() call to improve Windows capture
Invoke DwmFlush() before acquiring the next frame to alleviate visual stutter
during mouse movement at the cost of constraining the capture rate to the host's
monitor refresh.

Disabled by default; enable via "dwmflush" boolean configuration parameter.
2022-06-15 22:23:09 +01:00
Anselm Busse 2b450839a1 Initial support for MacOS
This commit introduces initial support for MacOS as third major host platform.
It relies on the VideoToolbox framework for audio and video processing, which
enables hardware accelerated processing of the stream on most platforms.
Audio capturing requires third party tools as MacOS does not offer the
recording of the audio output like the other platforms do. The commit enables
most features offered by Sunshine for MacOS with the big exception of gamepad
support. The patch sets was tested by a few volunteers, which allowed to remove
some of the early bugs. However, several bugs especially regarding corner
cases have probably not surfaced yet.

Besides instructions how to build from source, the commit also adds a Portfile
that allows a more easy installation. After available on the release branch,
a pull request for the Portfile in the MacPorts project is planned.

Signed-off-by: Anselm Busse <anselm.busse@outlook.com>
2022-02-26 10:18:00 +01:00
loki-47-6F-64 9f14b2278d Fix rate control for hevc with amdvce 2021-09-27 19:12:42 +02:00
loki f08b6abc96 Make keybindings configurable 2021-08-03 15:24:04 +02:00
Loki ab70a056fc Add CQP for older intel iGPU's 2021-07-24 19:33:23 +01:00
loki 4b043e31fe Support ds4 controller on Windows 2021-07-18 15:32:26 +02:00
loki beb6bdfadb Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
loki 8bf4ade9d8 Disable UPnP by default 2021-06-30 12:22:37 +02:00
loki 9e7ecf8db2 Allow replacement of hevc headers 2021-06-20 15:29:51 +02:00
loki 02360f7aef fix build windows 2021-06-16 14:34:05 +02:00
loki 64a6c1419b store state in .config/sunshine on Linux 2021-06-16 11:26:54 +02:00
loki 1afd1b7c94 generate user credentials based on command line iuput 2021-06-09 21:55:13 +02:00
loki 17d3fcf0d0 fix adding and editing apps json 2021-06-09 19:12:00 +02:00
Elia Zammuto ffb80c5fc3 Fix Format 2021-05-29 22:29:10 +02:00
Elia Zammuto 4835366a0c Fixed Build 2021-05-29 22:26:17 +02:00
Elia Zammuto c09855f703 Merge branch 'loki-47-6F-64-master' into web-ui 2021-05-29 22:07:53 +02:00
Elia Zammuto 5761b05f3b Merge branch 'master' of https://github.com/loki-47-6F-64/sunshine into loki-47-6F-64-master 2021-05-29 22:06:28 +02:00
Elia Zammuto 0ea6363172 Username/Password Authentication for UI 2021-05-28 22:49:27 +02:00
loki 113e7a52d4 advertise display modes 2021-05-26 17:34:25 +02:00
loki 2fb5f8a7d0 Add config option for virtual_sink on windows 2021-05-21 14:28:24 +02:00
loki 2b04e1428c Select audio output on Linux 2021-05-18 13:36:12 +02:00
loki 3d8a99f541 clang-format 2021-05-17 21:21:57 +02:00
Elia Zammuto 03236a50e5 UI for Application Config 2021-05-16 20:06:06 +02:00
loki 66b4b70023 merge with notentered 2021-04-24 17:12:10 +02:00
Garrett 020e2069cb Add amd decoder support 2021-01-28 18:38:11 -05:00
Zlatko Zahariev 83dd07469e Initial elevated windows work 2021-01-15 02:07:49 -05:00
loki 8d735e5611 Support keyboard key repeats 2020-04-26 00:23:34 +02:00
loki c7a72553c4 Configure settings nvenc 2020-04-14 00:15:24 +03:00
loki a9423574fe Improve clearity instructions 2020-03-21 17:09:33 +01:00
loki ad87463784 Add flags for testing pairing 2020-03-19 19:59:27 +01:00
loki 5cd0fd76bf Compile for Multicasting 2020-02-08 16:26:38 +01:00
loki c3af78caaa Configure source for frame capturing on Windows 2020-01-24 01:05:43 +01:00
Cameron Gutman 460a45268b Change threads option to min_threads 2020-01-20 17:23:57 -08:00
loki 6f3927b6ae Automatically generate unique id 2020-01-20 23:08:44 +01:00
Cameron Gutman 47df3b231a Add support for HEVC and client-specified colorspaces 2020-01-19 19:46:45 -08:00
Cameron Gutman 32b6f8a395 Optimize encoding parameters for low-latency 2020-01-17 18:45:14 -08:00
loki 15dd6b3cd0 Provide option to select the source for audio on Linux 2020-01-18 00:58:27 +01:00
loki b6fc6f2054 Proper logging instead of blindly printing to standard out 2020-01-09 22:02:01 +01:00
loki b3ae81cb3a Configure prevention pairing over non-private network 2019-12-27 16:04:18 +01:00
loki cd31fbeb39 Add configuration option for name of the server 2019-12-26 00:01:06 +01:00
loki 29edc88294 Emulate back/select gamepad button 2019-12-22 23:34:12 +01:00
loki 3729e74930 The path to file_apps is now configurable 2019-12-16 22:02:21 +01:00
loki 4569eea05b Add configurable variable QP for video 2019-12-12 13:13:10 +01:00
loki c819664e33 Added fec_percentage as configurable variable 2019-12-11 23:37:20 +01:00
loki 13d9f51c67 Moved source files to seperate folder 2019-12-08 18:55:58 +01:00