NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.73k stars 13.17k forks source link

vlc: DLNA/uPnP client doesn't work or detect anything #211419

Open lucasew opened 1 year ago

lucasew commented 1 year ago

Describe the bug

A clear and concise description of what the bug is.

Steps To Reproduce

Steps to reproduce the behavior:

  1. rclone serve dlna somewhere
  2. Open VLC
  3. Click "Universal Plug'n'play"

Expected behavior

Server detection and when I click twice it shows the directory structure

Screenshots

Captura de tela_2023-01-18_13-05-34

Additional context

Works flawlessly in VLC for Android

Notify maintainers

@AndersonTorres

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

lucasew@riverwood ~ 0$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.0.15, NixOS, 22.11 (Raccoon), 22.11pre-git`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.1`
 - nixpkgs: `/etc/flake/nixpkgs`
rolfschr commented 4 months ago

Still relevant as of today. Nothing is shown while it works fine on Android with the same media server.

image

cst-rmrz commented 3 months ago

I had this same problem until I uninstalled the .deb package (from APT), and installed the snap version. Works like a charm now.

bjornfor commented 3 months ago

6 year old upstream issue (unresolved): https://code.videolan.org/videolan/vlc/-/issues/20106. (I see the same debug log messages as shown there, except 9 candidates -> 15 candidates.)

bjornfor commented 3 months ago

This upstream issue (https://code.videolan.org/videolan/vlc/-/issues/24992) mentions that VLC selects one network interface for the service discovery, and that if the system has multiple interfaces it might not work.

autra commented 3 months ago

Still an issue here as well. Full debug log (VLC_VERBOSE=3 vlc, open the playlist interface and click "Universal plug'n'Play"). These are the logs that appears once I click on "Universal Plug'n'Play):


[00007f65d47716c0] main services discovery debug: looking for services_discovery module matching "upnp": 15 candidates
[00007f65d47716c0] upnp services discovery: Initializing libupnp on 'default' interface
[00007f65d47716c0] main services discovery debug: using services_discovery module "upnp"
[0000000000a4f1c0] dbus interface debug: Getting All properties
[0000000000a4f1c0] dbus interface debug: Getting All properties
[0000000000a4f1c0] dbus interface debug: Getting property Position
[00007f65d47716c0] upnp services discovery warning: search timeout
[00007f65d47716c0] upnp services discovery warning: search timeout

I have tested both with firewall on or off.

autra commented 3 months ago

Ok so if I connect to my wifi network in addition to ethernet, it does work. I guess it validate that it might use the wrong interface...

autra commented 3 months ago

Deleting docker0 interface and removing wifi kernel module (both device were listed before ethernet card) seems to make the upnp discovery work through ethernet, so at least this validates the diagnostic of the vlc issue.

I guess one way to workaround this would somehow to change the orders of the network interfaces (dunno how to do that though).

lucasew commented 3 months ago

It seems like the issue is that VLC only looks for stuff in one interface. Basically a upstream issue.