Sergey Stepanov
e80e31da42
Use low pass filter with GBA
2023-10-20 22:43:51 +03:00
Sergey Stepanov
a69a934029
Remove unused csp param
2023-10-20 22:43:51 +03:00
Sergey Stepanov
e4aab1019c
Don't copy YUV planes in x264
2023-10-19 17:28:45 +03:00
Sergey Stepanov
fb5d8c216b
Don't change players when there is no game
2023-10-18 21:46:33 +03:00
Sergey Stepanov
7977bce8a3
Fix dangling rooms when multiplaying
2023-10-18 21:29:21 +03:00
Sergey Stepanov
a8d47fd1bf
Don't nil peerconnection while receiving ICE
2023-10-18 20:42:46 +03:00
Sergey Stepanov
61c70d3289
Use static CC build
2023-10-18 13:53:35 +03:00
Sergey Stepanov
494ac0ed3b
Add empty rooms watcher
2023-10-17 21:39:16 +03:00
Sergey Stepanov
9c768277c7
Use sudo static Docker builds
2023-10-17 19:23:00 +03:00
Sergey Stepanov
e8cec39476
Report on broken config when downloading Libretro cores
2023-10-17 19:23:00 +03:00
Sergey Stepanov
afb76aa970
Add note about empty nested config values
2023-10-17 19:23:00 +03:00
Sergey Stepanov
d698660c19
Allow changing video resolution during the stream
2023-10-17 15:16:45 +03:00
Sergey Stepanov
f11cad157b
Use static libyuv for macs
2023-10-16 01:50:06 +03:00
Sergey Stepanov
b1b33713d6
Add the initial libyuv support
...
The main benefit of libyuv, apart from shortening the video pipeline, is quite noticeable latency and CPU usage decrease due to various assembler/SIMD optimizations of the library. However, there is a drawback for macOS systems: libyuv cannot be downloaded as a compiled library and can only be built from the source, which means we should include a cropped source code of the library (~10K LoC) into the app or rise the complexity of macOS dev and run toolchains. The main target system -- Linux, and Windows will use compiled lib from the package managers and macOS will use the lib included as a shortened source-code.
Building the app with the no_libyuv tag will force it to use libyuv from the provided source files.
2023-10-15 18:55:53 +03:00
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
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
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
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