Commit Graph

142 Commits

Author SHA1 Message Date
Cameron Gutman
0a59ce0ca9 Create a basic AV1 extension dictionary
We may also need the AV1CodecConfigurationBox though.
2023-10-20 17:11:02 -05:00
Cameron Gutman
2c76654841 Refactor decoder interface to pass decode unit into VideoDecoderRenderer 2023-10-20 17:04:06 -05:00
Cameron Gutman
f20d90791a Change AV1 bitrate multiplier to match HEVC 2023-10-15 15:37:45 -05:00
Cameron Gutman
2df60e571c Add support for H.264/HEVC bitstreams with multiple sets of parameter set NALUs 2023-10-13 23:39:26 -05:00
Cameron Gutman
9d0dc49fd2 Implement controller LED support 2023-09-27 08:52:26 -05:00
Cameron Gutman
4f9eb6ea04 Implement host processing time in stats overlay 2023-09-27 03:57:49 -05:00
Cameron Gutman
3fb328e238 Fix for old Xcode version in CI 2023-09-24 20:55:08 -04:00
Cameron Gutman
957ce6095e Basic AV1 plumbing 2023-09-18 21:24:12 -05:00
Cameron Gutman
d1c35144e1 Update moonlight-common-c 2023-09-18 21:20:45 -05:00
Cameron Gutman
20d0087bdc Plumb trigger rumble and motion sensor callbacks 2023-06-28 21:27:46 -05:00
Cameron Gutman
bdb7d08c57 Don't request IDR frame if the HDR metadata change was a no-op 2023-03-04 12:11:33 -06:00
Cameron Gutman
a04e1ebb3b Consolidate launch and resume handling for Sunshine 2023-02-02 23:13:59 -06:00
Cameron Gutman
dbb3087078 Don't suppress high refresh rates with Sunshine 2023-02-02 23:13:09 -06:00
Cameron Gutman
eefe8522c4 Plumb HDR metadata from Sunshine 2023-02-02 23:11:27 -06:00
Cameron Gutman
4f03dd8c08 Implement support for alternate ports with Sunshine
Fixes #529
2023-02-02 21:54:52 -06:00
Felipe Cavalcanti
71b953cdd2 Fix black screen in HDR mode in newer AppleTV 4K Models 2022-12-02 20:39:29 -06:00
Cameron Gutman
054b3ae45e Enable RFI for HEVC only 2022-10-02 23:20:59 -05:00
Cameron Gutman
f99381df81 Only enable RFI at resolutions at or below 1080p due to bugs 2022-09-28 17:59:18 -05:00
Cameron Gutman
842b6b3c76 Remove stale function definition 2022-09-28 17:57:44 -05:00
Cameron Gutman
f9a2eb022f Display HDR/SDR status in the performance overlay 2022-09-28 17:43:38 -05:00
Cameron Gutman
2ae79c5827 Rewrite buffer patching logic to avoid leaking if the first NALU has an unexpected offset 2022-09-28 17:42:48 -05:00
Cameron Gutman
65e40279ea Fix handling of 3 byte Annex B start sequences 2022-09-05 18:55:16 -05:00
Cameron Gutman
ac801e9bfb Re-enable the tvOS's HEVC option (defaulted to enabled)
Fixes #481
2022-08-01 20:01:41 -05:00
IonBlade2K
b9e0b28adc Add setting to swap A<->B and X<->Y buttons (#513)
* Added toggle for swapping A<->B and X<->Y buttons to enable proper button mapping for combined Joy-Cons in iOS16, where iOS level remapping is not supported and pushing Switch B (bottom face button) sends Xbox B (right face button) instead of Xbox A (bottom face button), etc.  Allows user to select between current behavior (button letter matches output) and muscle-memory behavior (face button pressed matches location of face button output)
2022-07-21 20:09:22 -05:00
Cameron Gutman
3b0d80bce2 Fix crash during display layer reinitialization 2022-03-27 14:14:19 -05:00
Cameron Gutman
3a77bf3e65 Implement dynamic display mode changes for Apple TV 2022-02-13 14:27:17 -06:00
Cameron Gutman
6fb6b9bf38 Don't pace frame delivery if the display refresh rate has dropped 2022-02-12 19:14:06 -06:00
Cameron Gutman
736485616c Merge branch 'vsync' 2022-02-06 17:13:03 -06:00
Cameron Gutman
f21c58306e Preserve stream aspect ratio even when host resolution changes 2022-02-06 16:57:23 -06:00
Felipe Cavalcanti
7d6cb247b8 Add Frame Pacing feature 2022-02-02 13:37:07 -03:00
Cameron Gutman
bd582aa6c0 Switch to a pull-based renderer and render from CADisplayLink callback 2022-01-22 16:20:31 -06:00
Cameron Gutman
bd313d97cb Clean up new audio code 2022-01-22 15:49:52 -06:00
Cameron Gutman
8391c766c7 Switch to SDL for audio output 2022-01-13 22:00:47 -06:00
Cameron Gutman
0fe84a7a1e Remove key frame detection logic
Moonlight-common-c already tells us whether a frame is an IDR or not
2021-07-09 17:43:36 -05:00
Cameron Gutman
7ed6b22cac Pass RTSP session URL to moonlight-common-c for dynamic ports 2021-07-02 17:31:45 -05:00
Cameron Gutman
073873f681 Add network latency to stats overlay 2021-05-15 17:22:46 -05:00
Cameron Gutman
2d8d176160 Disable reference frame invalidation on tvOS and always enable HEVC (for now)
Reference frame invalidation seems to trigger a renderer hang on tvOS 14.5 in my testing.
Since we don't have RFI to bias us toward H.264, let's use HEVC all the time now.

This may change again if the RFI issues are sorted out (perhaps we need to implement
blocking waits for invalidated frames?)
2021-05-06 23:56:08 -05:00
Cameron Gutman
1c3d072b49 Add audio stream encryption 2021-04-23 19:07:27 -05:00
Cameron Gutman
ecd3427767 Add handling for above 4K resolutions 2020-12-24 13:33:54 -06:00
Cameron Gutman
c301891ff5 Fix stats overlay being off by 1 FPS 2020-12-05 20:38:30 -06:00
Cameron Gutman
0d75dd4efb Create stream view hierarchy programmatically 2020-11-01 20:00:39 -06:00
Cameron Gutman
42f29c44e6 Remove OSPortabilityDefs.h
The macOS support that used it has been removed for a while
2020-11-01 16:50:02 -06:00
Cameron Gutman
8ffee9e10f Minor video stats improvements 2020-11-01 14:09:05 -06:00
Cameron Gutman
44f713f5c9 Add a basic stats overlay 2020-11-01 13:27:10 -06:00
Cameron Gutman
2114e39237 Plumb touch mode and stats overlay preferences 2020-11-01 11:50:00 -06:00
Cameron Gutman
286b19d360 Add automatic network testing on connection failure 2020-08-10 22:56:47 -07:00
Cameron Gutman
bd5e0ecc40 Standardize mouse input scaling to avoid variance based on stream resolution 2020-04-18 14:44:57 -07:00
Cameron Gutman
c7a7fc3fbc Add 7.1 surround sound support 2020-04-03 17:46:04 -07:00
Cameron Gutman
eceb23e1cd Allow Moonlight audio to mix with other audio 2020-03-21 16:35:07 -07:00
Cameron Gutman
742bb7b516 Change errorCode from long to int 2020-02-25 00:00:00 -08:00