Nixpkgs: tdesktop: Needs libwebrtc for video calls (or crashes)

Created on 28 Sep 2020  路  5Comments  路  Source: NixOS/nixpkgs

Describe the bug
Application crashes when other side enables camera in video call

To Reproduce
Steps to reproduce the behavior:

  1. Open telegram-desktop
  2. Make a video-call

Expected behavior
It works

Screenshots

Additional context
It hangs instead with the app being frozen and some ffmpeg errors

Notify maintainers

@primeos @abbradar

Metadata

  • system: "x86_64-linux"
  • host os: Linux 5.4.67, NixOS, 21.03pre-git (Okapi)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.3.7
  • channels(root): "nixos-21.03pre244416.daaa0e33505, nixpkgs, solaros"
  • channels(maciej): "nixpkgs-21.03pre243895.72b9660dc18, solaros"
  • nixpkgs: /home/maciej/.nix-defexpr/channels/nixpkgs

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
 - tdesktop
# a list of nixos modules affected by the problem
module:
bug package (new)

Most helpful comment

https://github.com/NixOS/nixpkgs/pull/100450

This PR seems to work. I think we should merge this and worry about non-forked libwebrtc later

All 5 comments

That's unfortunately to be expected. It shouldn't crash (I assume upstream didn't test that code path) but due to our lack of libwebrtc we don't support video calls.

If someone is interested in that feature we'd need to figure out how to package Telegram-Desktop's version of libwebrtc for Nixpkgs but it will likely be a huge PITA (beware!). Upstream doesn't make packaging easy (libwebrtc is a mess similar to Chromium) and our build sandboxing will likely cause most of the pain. I can try to help if someone is interested.

Arch already successfully packaged libwebrtc and we may reuse their work (which should help a lot to get started):

Normal calls seem affected aswell

I'm currently cooking up something in https://github.com/NixOS/nixpkgs/pull/100062

In building-cmake.md of tdesktop, libwebrtc is built from tg_owt which seems to be another fork of libwebrtc.

Why do Arch patch cmake files to replace it? Would it be easier for us to use tg_owt?

EDIT: Oops, I want to post this under #100062 but opened a wrong tab. :( Well, same author. @mkg20001

https://github.com/NixOS/nixpkgs/pull/100450

This PR seems to work. I think we should merge this and worry about non-forked libwebrtc later

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sid-kap picture sid-kap  路  3Comments

grahamc picture grahamc  路  3Comments

matthiasbeyer picture matthiasbeyer  路  3Comments

langston-barrett picture langston-barrett  路  3Comments

tomberek picture tomberek  路  3Comments