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
d7e7112e25
Update dependencies
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
c27c88c0fa
Disable canvas pool with recording enabled for now
2023-08-24 00:14: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
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
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
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
Sergey Stepanov
e5ac43a59e
Use faster lib scan
2023-06-16 14:12:41 +03:00
Sergey Stepanov
a6bcf5cd94
Fix scale option (it is slow)
2023-05-27 17:36:57 +03:00
sergystepanov
7668ef7bd8
Refactor media ( #401 )
...
* Encapsulate media
* Write audio by 4 bytes instead 2
* Update deps
2023-05-27 17:34:35 +03:00
Sergey Stepanov
2ed6e8724f
Add Alwa's Awakening (Demo) NES ROM
2023-05-22 18:34:58 +03:00
Sergey Stepanov
a4f47396e5
Remove unused 404 handler
2023-05-21 18:45:46 +03:00
Sergey Stepanov
5b4f74e2b7
Notify users when there are no gaming slots
2023-05-21 13:54:21 +03:00
Sergey Stepanov
624eecd4e8
Show errors when ICE fails
2023-05-17 08:57:16 +03:00
Sergey Stepanov
75e41e4fd0
Fix static x264 static link on Windows
2023-05-14 01:47:58 +03:00
Sergey Stepanov
0aeaa5580c
Don't scan the lib with errored dirs
2023-05-14 01:47:02 +03:00
Sergey Stepanov
1dc0cabc2b
Add special Dockerfile for tiny coordinator (<10Mib) and worker (<150Mib) containers
2023-05-12 14:31:21 +03:00
Sergey Stepanov
b227260060
Embed config.yaml into both apps
2023-05-12 14:31:21 +03:00
Sergey Stepanov
9231120a55
Add base path for games in workers
2023-05-12 14:31:21 +03:00
Sergey Stepanov
63e3a7f6bd
Read YAML keys in lowercase internally
2023-05-10 22:22:31 +03:00
Sergey Stepanov
3815e18027
Remove the hack involving the /static route
2023-05-03 11:11:08 +03:00
Sergey Stepanov
62fc68e88b
Add optional static linking with vpx, x264, opus
2023-04-24 00:16:00 +03:00
Sergey Stepanov
ece1efad16
Add optional static linking with vpx, x264, opus
2023-04-23 23:51:38 +03:00
Sergey Stepanov
8893e1e5bf
Update config manager
2023-04-22 17:05:28 +03:00
Sergey Stepanov
c13099c56a
Remove hackish way of adding ICE servers
...
Use config files instead (k8s ConfigMap or something).
2023-04-22 17:05:28 +03:00
Sergey Stepanov
eda90d74e6
Rename C.stop (it crashes PCSX on Ubuntu) wtf omegalol
2023-04-21 00:26:41 +03:00
Sergey Stepanov
ee58af488d
Advance 1 frame only with Mupen
2023-04-20 22:54:35 +03:00
Sergey Stepanov
c8eb672ecd
Fix missing return
2023-04-20 22:54:12 +03:00
Sergey Stepanov
f00c27a226
Clean nanoarch
2023-04-20 14:18:57 +03:00
Sergey Stepanov
853c7a6f81
Fix save/load for Mupen64
...
By passing function arguments into the synchronized un-libco loop, we can now save and restore Mupen game states without segfaults.
2023-04-16 13:24:28 +03:00
Sergey Stepanov
b48a6c92f6
Refactor nanoarch names
2023-04-16 13:24:28 +03:00
Sergey Stepanov
5034f86667
Save/Load without malloc
2023-04-16 13:24:28 +03:00
Sergey Stepanov
d830821ceb
Move last frame time init fn to the end
2023-04-16 13:24:28 +03:00