Commit graph

286 commits

Author SHA1 Message Date
Florian Märkl
6096de8c13 Do not handle server shutdown as error
When the console is powered off or put into sleep mode during streaming,
the remote will disconnect and report the string "Server shutting down".
This is expected by the user and thus should not be shown as an error
message.
2023-02-08 14:08:47 +01:00
Johannes Baiter
7a490b5aae Fix feedback state position 0x1b when DualSense is connected.
The previous value of `0` caused the PS5 to expect a set of 'trigger status'
values in the 0x19 and 0x1a position, which would have required reading
raw values from the DualSense HID device, since these values are not
reported by the SDL DualSense driver (code that does so can be checked
out from the `trigger-feedback` branch on https://git.sr.ht/~jbaiter/chiaki).

Fortunately this is not neccessary, simply setting the value to `1`
seems to make the PS5 to rely on fallback logic (presumably based on the
L2/R2 value) and games that would otherwise have relied on the trigger
status (Astro's Playroom climbing levels) now work without any problems.
2023-01-29 13:39:30 +01:00
Johannes Baiter
4c8209762c Add support for touchpad and sensor handling via SDL
This should enable support for more controllers besides the DS4 and
DualSense, basically any controller supported by SDL that has at least
one touchpad, an accelerometer and a gyroscope.

Older SDL versions have been tested down to 2.0.9. Versions older than
2.0.14 won't have sensors and touchpad support, though.

Setsu is deprecated and remains in-tree for now, but defaults to being
disabled if SDL2 is found and >= 2.0.14. If Setsu is enabled explicitly,
touchpad and sensors are not handled by SDL.
2022-12-14 20:22:40 +01:00
Johannes Baiter
74d39e6314 lib: Add support for trigger effects and controller haptics
By default, no trigger effects and haptics are requested from the
console, lib users have to explicitly enable them for a session by
setting the new `enable_dualsense` flag on the session's
`ChiakiConnectInfo` struct.

Trigger Effects are simply a new Takion message type `11`  and
include the type of each effect and the effect data (10 bytes) for
each of the triggers. They are exposed as a new Chiaki event type
`CHIAKI_EVENT_TRIGGER_EFFECTS`.

Haptic effects are implemented in the protocol as a separate audio
stream, for which packets are only sent when there are actually
effects being played, i.e. silence is not explicitly encoded.
Audio data is 3kHz little endian 16 bit stereo sent in frames of
10 samples every 100ms. Note that the Takion AV header has the
codec field set to Opus, however this is not true.
Users can provide a new `ChiakiAudioSink` dedicated to haptics
via the new `chiaki_session_set_haptics_sink` API, which behaves
identical to the regular audio sink, except that it has a lower
frequency.
2022-11-01 18:29:05 +01:00
Florian Märkl
40a9dee4ed Fix some EINTR handling 2022-10-23 13:42:12 +02:00
Florian Märkl
b790fb3fb5 Set PATH to find protoc for nanopb generator 2022-06-02 18:26:42 +02:00
Florian Märkl
420809b24e Add option to fetch mbedtls with cmake 2022-06-02 17:10:19 +02:00
Florian Märkl
796a128456 Fix fec.c extension 2021-04-11 18:19:46 +02:00
Florian Märkl
9ab84e6054
Prefer fixed local Port for Discovery 2021-01-10 16:01:37 +01:00
Florian Märkl
7785c310a9
Fix some Uninitialized Memory 2021-01-10 11:04:19 +01:00
Florian Märkl
96cbd5d9b8
Fix Madgwick Filter for Orientation 2021-01-09 10:53:50 +01:00
Florian Märkl
42a3b864d0
Add _USE_MATH_DEFINES for Windows 2021-01-06 22:04:53 +01:00
Florian Märkl
24d73064db
Format Fixes 2021-01-06 21:51:18 +01:00
Florian Märkl
cb827a525a
Add Motion to Feedback 2021-01-06 21:50:13 +01:00
Florian Märkl
32e1539c22
Add Orientation Tracker 2021-01-06 21:47:06 +01:00
Florian Märkl
0e324a41a0
Fix setting a Feedback State Byte 2021-01-06 15:58:22 +01:00
Florian Märkl
1ee23e0fa2 Don't mess with the OMX Buffer Size 2021-01-04 12:46:38 +01:00
Florian Märkl
49d65ad14a
Minor Style Fixes 2021-01-01 15:31:39 +01:00
Florian Märkl
042e02eb3e
Add Rumble to GUI 2021-01-01 13:56:30 +01:00
Florian Märkl
81984b7d48
Add Rumble to Lib 2020-12-31 23:45:47 +01:00
Florian Märkl
89c3175d71
Add fallback if getnameinfo fails 2020-12-30 12:37:28 +01:00
Florian Märkl
f4d255eb5b
Fix sockaddr include in discoveryservice.c 2020-12-28 23:08:37 +01:00
Florian Märkl
e6d18155af
Add H265 Streaming to GUI 2020-12-28 17:27:10 +01:00
Florian Märkl
c19c7869d5
Add Video Profile Auto Downgrade 2020-12-28 17:07:37 +01:00
Florian Märkl
c622f418e4
Fix Feedback State 2020-12-28 16:44:42 +01:00
H0neyBadger
1dfe88d74e
Add discovery system_version to ChiakiTarget translator (#1) 2020-12-28 16:43:11 +01:00
Florian Märkl
7dd26f974f
Add new Console Icons to GUI 2020-12-28 16:43:11 +01:00
Florian Märkl
673a2de9c1
Move FFMPEG Decoder to lib 2020-12-28 16:43:11 +01:00
Florian Märkl
aba17d48a3
Add correct Bitrate for 1080p 2020-12-28 16:43:11 +01:00
Florian Märkl
767e545f38
Fix Version Retry 2020-12-28 16:43:11 +01:00
Florian Märkl
8904c86a6d
Add Discovery and Wakeup for PS5 2020-12-28 16:43:11 +01:00
Florian Märkl
e2d1c11064
Finish new LaunchSpec 2020-12-28 16:43:10 +01:00
Florian Märkl
d4e1aa3b60
Fix Audio Parsing for PS5 2020-12-28 16:43:10 +01:00
Florian Märkl
a8d2c6c29f
Begin Stream v12 2020-12-28 16:43:10 +01:00
Florian Märkl
92827c7911
Update Protobuf 2020-12-28 16:43:10 +01:00
Florian Märkl
aa9939e93c
Preliminary PS5 Streaming 2020-12-28 16:43:08 +01:00
Florian Märkl
05812b7b7a
Finish PS5 Regist 2020-12-28 16:42:56 +01:00
Florian Märkl
20a7e9d123
Finish RpCrypt for PS5 Regist 2020-12-28 16:42:56 +01:00
Florian Märkl
21ef8fa018
Prepare Regist for PS5 2020-12-28 16:42:56 +01:00
Florian Märkl
dfc0f32ac2
Move Rest of CI to Sourcehut 2020-12-27 23:38:32 +01:00
Florian Märkl
bf929cacd0
Relicense under AGPL v3 only + OpenSSL (#412) 2020-12-27 16:46:09 +01:00
Florian Märkl
4da09f75f3
Make Borealis GUI more generic to build (#408) 2020-12-23 17:36:17 +01:00
Florian Märkl
ffb8851835
Add Congestion Control 2020-11-18 20:19:45 +01:00
Florian Märkl
ef7a97f6ae
Fix Congestion in Takion and add Test 2020-11-18 20:15:26 +01:00
Florian Märkl
ea8ebc812e
Fix a nice chance for hiep explontation 2020-11-18 20:06:09 +01:00
Blueroom VR
ea79836f0f
Add Raspberry Pi Decoder (Fix #126) (#360) 2020-11-14 19:51:08 +01:00
Florian Märkl
a2ebf7e408
Disable Keyboard by default 2020-11-11 14:03:56 +01:00
Sven Scharmentke
4ed2e4d6a9
Add Text Input Support to Library (#361) 2020-11-07 11:14:16 +01:00
Florian Märkl
8fbd1b9427
Warn harder and fix Warnings 2020-11-04 12:09:42 +01:00
Sven Scharmentke
59e6603256
Use ChiakiKeyState to 32bit fix key state overflow (Fix #172) (#359) 2020-11-04 11:45:05 +01:00