giongto35 / cloud-game

Web-based Cloud Gaming service for Retro Game
https://www.youtube.com/watch?v=GUBrJGAxZZg
Apache License 2.0
2.29k stars 347 forks source link

Allow runtime application choice for capture #405

Closed sergystepanov closed 1 year ago

sergystepanov commented 1 year ago

In the current version of the application we have strictly hardcoded captured runtime application (FFI Libretro frontend) with the streaming transport (WebRTC), and this PR is dedicated to the work on making it possible to choose these parts at the compile time (and maybe at the runtime in the future).

In this version, router, which belongs to the worker, now sees initially connected users as abstract app sessions instead of hardcoded WebRTC connections. These sessions may contain all the transport specifics such as WebRTC and so on. Rooms instead of the hardcoded emulator app and media encoders, now have these parts decoupled also.