Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow runtime application choice for capture #405

Merged
merged 7 commits into from
Sep 16, 2023

Conversation

sergystepanov
Copy link
Collaborator

@sergystepanov sergystepanov commented Jul 10, 2023

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.

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).
@sergystepanov sergystepanov merged commit 1969302 into master Sep 16, 2023
7 checks passed
@sergystepanov sergystepanov deleted the refactor/abstract-runtime branch September 16, 2023 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant