26 Commits

Author SHA1 Message Date
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
3de77b1849 Fix error 104 in Moonlight when starting Steam Bigpicture 2021-07-27 23:05:49 +02:00
loki
a52f547726 Correctly identify size of rtsp packet 2021-07-04 21:25:10 +02:00
loki
136e9c43a5 Handle RTSP packets that are broken up in more than two pieces 2021-07-04 18:57:55 +02:00
loki
9d10eaeef4 Merge branch 'master' into min_fec_packets 2021-07-04 16:30:40 +02:00
loki
21b1a4a336 If all content has been read in RTSP request, no need for waiting for next message 2021-07-04 16:06:03 +02:00
loki
b346ac2eb0 Use tcp instead of udp for RTSP setup 2021-07-04 15:50:28 +02:00
Cameron Gutman
0a637b2272 Parse additional SDP options 2021-07-03 23:38:45 -05:00
loki
355df9a615 Listening on arbitrary ports now compatible with Moonlight 2021-07-03 13:14:23 +02:00
loki
beb6bdfadb Allow end user to configure what ports to listen on 2021-06-30 15:25:08 +02:00
loki
cf9eb961fc Pass global event objects through mail_t 2021-06-21 21:21:52 +02:00
loki
9f6b4ed93b Work around weird mapping for audio channels 2021-05-25 18:55:29 +02:00
loki
825efb512a Based on client request, mute the host on Linux 2021-05-19 21:44:42 +02:00
loki
0868d898f6 Create virtual audio sinks on Linux 2021-05-19 18:11:06 +02:00
loki
3d8a99f541 clang-format 2021-05-17 21:21:57 +02:00
loki
6f92c42ad8 Fix -quitappafter 2020-05-01 13:57:24 +02:00
loki
e10c9a1fa1 Exit gracefully if a port is bound by another process 2020-04-26 23:37:47 +02:00
loki
c7a72553c4 Configure settings nvenc 2020-04-14 00:15:24 +03:00
loki
25de180d6e Fix exception when calling inerrupt handler while a session is running 2020-03-18 21:20:10 +01:00
loki
c0116e0cdd Don't quit application when a session still running 2020-03-18 21:12:05 +01:00
loki
e571b29868 Fix bug incorrectly blending cursor image 2020-03-17 22:17:28 +01:00
loki
92f51622cc Map session to gamepads 2020-03-15 21:22:42 +01:00
loki
bb95d6ab52 Fix being unable to restart session 2020-02-10 00:33:12 +01:00
loki
4b216d6676 Fix bad function call 2020-02-08 23:41:27 +01:00
loki
834f7b9063 Fix Empty App in Applist 2020-02-08 18:55:07 +01:00
loki
5cd0fd76bf Compile for Multicasting 2020-02-08 16:26:38 +01:00