Commit graph

908 commits

Author SHA1 Message Date
Sergey Stepanov
072b674fb1 Clean room init/deinit handlers 2023-10-15 18:55:53 +03:00
Sergey Stepanov
989d3b1c85 Move encoding libs to the top package level 2023-10-15 18:55:53 +03:00
Sergey Stepanov
92aea18a8c
Update dependencies 2023-10-13 11:13:27 +03:00
Sergey Stepanov
f875d3fc42
Guard room creation with a mutex
Possible fix for the concurrent room creation while other is not destroyed properly.
2023-10-06 13:30:10 +03:00
Sergey Stepanov
cddf081b8f
Use locks in router with rooms 2023-10-06 01:12:27 +03:00
Sergey Stepanov
c1c4731640 Use faster Y flip of the video encoders (OpenGL/N64) 2023-09-29 22:36:14 +03:00
Sergey Stepanov
a901c84d99
Update dependencies 2023-09-26 21:01:19 +03:00
Sergey Stepanov
226bb0384e Remove Quit notification 2023-09-24 14:22:34 +03:00
Sergey Stepanov
8703309090 Remove old ping/pong handlers 2023-09-24 14:22:34 +03:00
Sergey Stepanov
da51639625 Clean canvas.c 2023-09-24 14:22:34 +03:00
Sergey Stepanov
e83614068f MacOS fix 2023-09-23 20:43:46 +03:00
Sergey Stepanov
56d8c4a928
Clean canvas drawing functions 2023-09-23 20:27:12 +03:00
Sergey Stepanov
85cef0dfec Convert colors in C 2023-09-22 18:46:08 +03:00
Sergey Stepanov
8dd9e9c9be Use buffered file writer 2023-09-22 18:46:08 +03:00
Sergey Stepanov
196930281b Add the initial caged apps abstraction
In the current version of the application, we have strictly hardcoded the captured runtime application (FFI Libretro frontend) as well as the streaming transport (WebRTC). This commit makes it possible to choose these components at runtime.

In this commit, we no longer manage initially connected users separately from the rooms, and instead, we treat all users as abstract app sessions, rather than hardcoded WebRTC connections. These sessions may contain all the transport specifics, such as WebRTC and so on.

Rooms, instead of having the hardcoded emulator app and WebRTC media encoders, now have these components decoupled. In theory, it is possible to add new transports (e.g., WebTransport) and streaming apps (e.g., wrapped into an ffmpeg desktop app).
2023-09-16 20:12:24 +03:00
Sergey Stepanov
878d7fe298 API cleanup 2023-09-16 20:12:24 +03:00
Sergey Stepanov
cccb3dce84 Fix some test on Arch 2023-09-16 20:12:24 +03:00
Sergey Stepanov
992b6e06da Hide sys info in the frontend 2023-09-16 20:12:24 +03:00
Sergey Stepanov
d7e7112e25 Update dependencies 2023-09-16 20:12:24 +03:00
Sergey Stepanov
594b02d37e Avoid exe/non-exe conflicts with WSL2 when dev.run is called 2023-09-16 20:12:24 +03:00
Sergey Stepanov
3b06905e15 Skip peer connection state error due to DTLS spam 2023-09-16 20:12:24 +03:00
Sergey Stepanov
f2d21c67dc
Partial fix for convoluted game list ext info bug 2023-09-01 22:55:18 +03:00
Sergey Stepanov
ae3f91dfc6
Add diagnostic input to FBNeo on crio 2023-08-24 10:16:58 +03:00
Sergey Stepanov
882aae9daf
Use Go 1.20.7 for builds 2023-08-24 00:37:56 +03:00
Sergey Stepanov
c27c88c0fa
Disable canvas pool with recording enabled for now 2023-08-24 00:14:25 +03:00
Sergey Stepanov
240a1f92ce
Use Go 1.20.7 with Docker builds 2023-08-09 19:55:44 +03:00
Sergey Stepanov
8e92f6822e
Revert Go version to 1.20 due to MacOS crash 2023-08-09 19:19:10 +03:00
Sergey Stepanov
b2e4848ed3
Update to Go 1.21.0 2023-08-09 19:08:25 +03:00
Sergey Stepanov
ddc841e8c6
Fold vpx/h264 struct options 2023-08-01 22:36:25 +03:00
Sergey Stepanov
49cb752b5c
Use implicit cast of app/game structs
That will make the code a bit tidier.
2023-08-01 22:27:21 +03:00
Sergey Stepanov
7fe3a893f6
Remove service package 2023-08-01 22:27:08 +03:00
Sergey Stepanov
7c0a2051d4
Disable mDNS for ICE 2023-08-01 22:26:37 +03:00
Sergey Stepanov
b7fb079243
Derace the frontend when parallel testing 2023-08-01 22:25:55 +03:00
Sergey Stepanov
f9a5ce0e68
Make embedded conf reentrant 2023-08-01 22:25:43 +03:00
Sergey Stepanov
d278ab6e3d
Remove cache when loading YAML configs for mem 2023-08-01 22:22:32 +03:00
Sergey Stepanov
4a627a30f2
Use alt pcsx-rearmed build for prod 2023-07-08 23:07:38 +03:00
Sergey Stepanov
75bb90c90d
Enable PGO 2023-07-07 21:27:33 +03:00
Sergey Stepanov
a0e549a6b9
Add worker PGO 070723 2023-07-07 16:19:30 +03:00
Sergey Stepanov
d7e8ca5ace
Remove SSL from the monitoring routes 2023-07-07 15:28:50 +03:00
Sergey Stepanov
be83b1c287
Skip HTTPS redirect for monitoring 2023-07-06 15:31:55 +03:00
Sergey Stepanov
8fef57aa8d
Use TLS with the monitoring / profiling routes 2023-07-06 00:04:05 +03:00
Sergey Stepanov
cc414881ea
Update dependencies 2023-07-06 00:01:27 +03:00
Sergey Stepanov
65b6e3208f
Fix lint warnings 2023-06-27 23:45:57 +03:00
Sergey Stepanov
d5bb271469
Add core hacks options 2023-06-23 18:39:36 +03:00
Sergey Stepanov
c063dd92c6 Remove unused CSS rules 2023-06-16 14:12:41 +03:00
Sergey Stepanov
42b82a368c Update deps 2023-06-16 14:12:41 +03:00
Sergey Stepanov
6106eee97e Update game list module 2023-06-16 14:12:41 +03:00
Sergey Stepanov
2e1c837643 Show systems in the interface 2023-06-16 14:12:41 +03:00
Sergey Stepanov
860c8b9d45 Add system param into the library 2023-06-16 14:12:41 +03:00
Sergey Stepanov
1f7b5139c6 Remove session from lib 2023-06-16 14:12:41 +03:00