sunshine-sdk/sunshine
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
..
platform Initial support for MacOS 2022-02-26 10:18:00 +01:00
audio.cpp Don't shutdown stream if audio capture fails 2021-08-08 13:41:09 +02:00
audio.h pass session event objects through safe::mail_t 2021-06-22 22:26:11 +02:00
cbs.cpp Allow replacement of hevc headers 2021-06-20 15:29:51 +02:00
cbs.h Allow replacement of hevc headers 2021-06-20 15:29:51 +02:00
config.cpp Initial support for MacOS 2022-02-26 10:18:00 +01:00
config.h Initial support for MacOS 2022-02-26 10:18:00 +01:00
confighttp.cpp clang lint 2022-02-16 18:23:56 -05:00
confighttp.h Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
crypto.cpp Fix client auth error with some embedded clients 2021-07-17 19:34:08 -05:00
crypto.h Send back encrypted termination code 2021-07-09 12:27:38 +02:00
httpcommon.cpp clang lint 2022-02-16 18:23:56 -05:00
httpcommon.h Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
input.cpp Initial support for MacOS 2022-02-26 10:18:00 +01:00
input.h Print request for rumble on the terminal for Linux 2021-07-21 20:24:23 +02:00
main.cpp clang lint 2022-02-16 18:23:56 -05:00
main.h Switch monitors based on keyboard shortcuts 2021-07-29 16:48:03 +02:00
move_by_copy.h clang-format 2021-05-17 21:21:57 +02:00
network.cpp Automatic service discovery for Windows 2021-06-28 21:05:52 +02:00
network.h clang-format 2021-05-17 21:21:57 +02:00
nvhttp.cpp clang lint 2022-02-16 18:23:56 -05:00
nvhttp.h Troubleshooting page 2021-08-17 20:22:47 +02:00
process.cpp clang lint 2022-02-16 18:23:56 -05:00
process.h reviews changes 2022-01-24 21:33:26 +01:00
round_robin.h clang-format 2021-05-17 21:21:57 +02:00
rtsp.cpp Initial support for MacOS 2022-02-26 10:18:00 +01:00
rtsp.h Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
stream.cpp Trade slightly higher rumble latency for lower cpu usage 2021-09-04 12:09:12 +02:00
stream.h Parse additional SDP options 2021-07-03 23:38:45 -05:00
sync.h clang-format 2021-05-17 21:21:57 +02:00
task_pool.h clang-format 2021-05-17 21:21:57 +02:00
thread_pool.h clang-format 2021-05-17 21:21:57 +02:00
thread_safe.h Print request for rumble on the terminal for Linux 2021-07-21 20:24:23 +02:00
upnp.cpp Handle RTSP packets that are broken up in more than two pieces 2021-07-04 18:57:55 +02:00
upnp.h Add support for upnp 2021-06-29 22:42:06 +02:00
utility.h clang lint 2022-02-16 18:23:56 -05:00
uuid.h clang-format 2021-05-17 21:21:57 +02:00
video.cpp Initial support for MacOS 2022-02-26 10:18:00 +01:00
video.h Support Rumble on Windows 2021-07-18 11:05:34 +02:00