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

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions