Skip to content

[FEAT] The Road to WebRTC #46

@ehfd

Description

@ehfd

Is this a new feature request?

  • I have searched the existing issues

Wanted change

  • 1. Stabilize input - We cannot compromise on latency in any case; It needs to include coroutines aggressively across the code base, since WebRTC will do what the WebSockets data stream did using DataChannels.
  • Implement something similar to https://github.com/Xpra-org/xpra/blob/a5a13a993139d9d48a60734e7bab3ec9d53c919a/xpra/server/mixins/input.py#L257 , to handle repeated keys gracefully in disconnections or congestion.
  • Implement the ability to choose between including custom headers natively in Pixelflux/PCMflux (For WebSockets, to not have an extra copy inside Python) vs not including any custom headers set by Pixelflux/PCMflux at all (for WebRTC).
  • Implement the ability to request the keyframe/IDR Frame (same thing) upstream from the web client to Pixelflux.
  • With time, migrate more of the code to asyncio instead of thread-blocking code.
  • Then, WebRTC can be wired up.

Reason for change

WebRTC is managed completely by the browser stacks and is free from CPU consumption or Latency issues. This is the de-facto standard protocol for cloud gaming-level or 3D workloads as well.

Proposed code change

Above.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions