No description
Find a file
Cameron Gutman 5a71a4c092 Use 10ms packets for slow Opus decoders
With the old 20ms packets, an FEC block was 80ms of audio data.
This is enough data that waiting for the FEC shards can cause
an audio data underflow. The burst of 80ms of audio data after
reassembly fails can then lead clients to drop samples due to
excessive queued data.
2021-06-07 23:20:40 -05:00
cmake Behavior changes to CMakeLists.txt 2021-04-29 17:40:47 -05:00
enet@ad5bf95397 Update ENet to avoid excessive retransmissions when RTT variance is 0 2021-05-16 15:37:40 -05:00
reedsolomon Fix Clang warnings 2020-12-05 23:20:02 -06:00
src Use 10ms packets for slow Opus decoders 2021-06-07 23:20:40 -05:00
.gitignore Ignore some Visual Studio-generated files 2014-10-25 21:39:17 -07:00
.gitmodules Change to our modified ENet fork 2016-03-06 15:29:02 -08:00
appveyor.yml Switch to VS2019 build images for CI 2021-04-29 17:59:38 -05:00
CMakeLists.txt Switch to VS2019 build images for CI 2021-04-29 17:59:38 -05:00
LICENSE.txt Add missing license 2017-05-10 10:13:06 -07:00
README.md Update readme with new URL 2018-12-03 21:37:11 -08:00

Moonlight Streaming Core Library

Moonlight-common-c contains the core GameStream client code shared between Moonlight clients, including Moonlight PC, Moonlight Android, Moonlight iOS, and Moonlight Chrome.

If you are implementing your own Moonlight game streaming client that can use a C library, you probably want the code here.

Note to Developers

Moonlight-common-c requires the specific version of ENet that is bundled as a submodule. This version has changes required for IPv6 compatibility and retransmission reliability, among other things. These are breaking API/ABI changes which make Moonlight-common-c incompatible with other versions of the ENet library. Attempting to runtime link to another libenet library will cause your client to crash when connecting to recent versions of GeForce Experience.