Package Details: pa-dlna 1.1-1

Git Clone URL: https://aur.archlinux.org/pa-dlna.git (read-only, click to copy)
Package Base: pa-dlna
Description: Forwards audio to DLNA devices via PulseAudio or PipeWire (via 'python-libpulse')
Upstream URL: https://gitlab.com/xdegaye/pa-dlna
Licenses: MIT
Provides: pa-dlna, PULSEAUDIO-DLNA-SINK, python-pa_dlna, python-pa_dlna-git, upnp-cmd, upnp-cmd-git
Submitter: envolution
Maintainer: envolution
Last Packager: envolution
Votes: 1
Popularity: 0.153444
First Submitted: 2024-12-06 16:04 (UTC)
Last Updated: 2025-09-26 10:05 (UTC)

Dependencies (18)

Required by (1)

Sources (1)

Latest Comments

1 2 3 Next › Last »

xdegaye commented on 2026-01-22 09:18 (UTC)

pa-dlna version 1.2 has been released and supports now Python 3.14.

xdegaye commented on 2026-01-20 11:13 (UTC)

My previous post is wrong: if there had been another pa-dlna instance running then the tests in test_libpulse.py would have been skipped and anyway test_defaultconfig does not fail in that case. The cause of the failure is a change in the configparser module of the Python 3.14 library (see https://docs.python.org/3/whatsnew/3.14.html). This change has been handled by the pa-dlna python-3.14.0 branch for three months :-(

I will merge this branch into master and release shortly pa-dlna 1.2, meanwhile I am flagging the package as out-of-date, sorry about that.

xdegaye commented on 2026-01-19 11:57 (UTC)

i switched to pa-dlna-git for now, as it seems not to have the problem

@damir pa-dlna-git does not have your problem because it does not run the pa-dlna test suite.

Most of your tests in pa_dlna/upnp/tests/test_upnp.py are skipped because another process (possibly another instance of pa-dlna) is already using the UPNP mcast address. In that case the pa_dlna.tests.test_init.Main test will duly fail and exit with 1 as the exit code, instead of succeeding with 0 exit code since only one instance of pa-dlna may run.

If this is not the cause of your problem please create a new issue at https://gitlab.com/xdegaye/pa-dlna/-/issues which is the right place to submit problems relevant to pa-dlna usage.

damir commented on 2026-01-18 11:00 (UTC) (edited on 2026-01-18 11:03 (UTC) by damir)

anyone else also having problems building it with the latest python?

platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/damir/.cache/yay/pa-dlna/src/pa-dlna
configfile: pyproject.toml
plugins: xonsh-0.22.1, anyio-4.12.1, typeguard-4.4.4
collected 180 items

pa_dlna/tests/test_config.py ......................                                                              [ 12%]
pa_dlna/tests/test_http_server.py .................                                                              [ 21%]
pa_dlna/tests/test_init.py ....................F....                                                             [ 35%]
pa_dlna/tests/test_libpulse.py ...                                                                               [ 37%]
pa_dlna/tests/test_pa_dlna.py ...........................                                                        [ 52%]
pa_dlna/tests/test_pulseaudio.py ..............                                                                  [ 60%]
pa_dlna/tests/test_tracks.py ss                                                                                  [ 61%]
pa_dlna/upnp/tests/test_network.py .................................                                             [ 79%]
pa_dlna/upnp/tests/test_upnp.py ssss.sssssss.sssssssssss                                                         [ 92%]
pa_dlna/upnp/tests/test_util.py ....                                                                             [ 95%]
pa_dlna/upnp/tests/test_xml.py .........                                                                         [100%]

======================================================= FAILURES =======================================================
_______________________________________________ Main.test_defaultconfig ________________________________________________

self = <pa_dlna.tests.test_init.Main testMethod=test_defaultconfig>

    def test_defaultconfig(self):
        clazz = mock.MagicMock()
        clazz.__name__ = 'AVControlPoint'

        with redirect_stdout(io.StringIO()) as output,\
                self.assertRaises(SystemExit) as cm:
            padlna_main(clazz, self.__doc__, argv=['pa-dlna',
                                                   '--dump-default'])
>       self.assertEqual(cm.exception.args[0], 0)
E       AssertionError: 1 != 0

pa_dlna/tests/test_init.py:336: AssertionError

i switched to pa-dlna-git for now, as it seems not to have the problem

xdegaye commented on 2025-09-28 08:13 (UTC)

@Denzy7 Please create a new issue at https://gitlab.com/xdegaye/pa-dlna/-/issues which is the right place to submit problems relevant to pa-dlna usage.

Denzy7 commented on 2025-09-27 15:33 (UTC) (edited on 2025-09-27 15:40 (UTC) by Denzy7)

Below is the output I'm getting when running the commands in the documentation. I don't think pa-dlna is creating any "virtual sinks". I am using pipewire-alsa and pipewire-pulse. It did create virtual sink when I run it with pa-dlna --test-devices audio/L16\;rate=44100\;channels=2

~ (main|✚2) $ systemctl --user status pulseaudio-dlna.service
● pulseaudio-dlna.service - PulseAudio/PipeWire DLNA Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio-dlna.service; enabled; preset: enabled)
     Active: active (running) since Sat 2025-09-27 17:40:08 EAT; 15min ago
 Invocation: 5f01908852554b028d67dcbe680c90e5
   Main PID: 996084 (pa-dlna)
      Tasks: 1 (limit: 18990)
     Memory: 20.3M (peak: 35.2M)
        CPU: 1.012s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pulseaudio-dlna.service
             └─996084 /usr/bin/python /usr/bin/pa-dlna --loglevel warning

Sep 27 17:40:08 arch systemd[2179]: Started PulseAudio/PipeWire DLNA Service.
~ (main|✚2) $ pactl list sinks | grep -e 'Sink' -e 'Name'
Sink #54
    Name: alsa_output.pci-0000_00_1f.3.analog-stereo
        media.class = "Audio/Sink"
~ (main|✚2) $ pactl list sink-inputs | grep -e 'Sink Input' -e 'binary'
Sink Input #918
        application.process.binary = "vlc"
~ (main|✚2) $ pactl move-sink-input 918 54
~ (main|✚2) $ 

Here is the output if I redirect to file

2025-09-27 18:38:15,052 init    INFO    pa-dlna version 1.1
2025-09-27 18:38:15,052 init    INFO    Python version 3.13.7 (main, Aug 15 2025, 12:34:02) [GCC 15.2.1 20250813]
2025-09-27 18:38:15,052 init    INFO    Options {'ip_addresses': [], 'nics': [], 'msearch_interval': 60, 'msearch_port': 0, 'ttl': b'\x02', 'port': 8080, 'dump_default': False, 'dump_internal': False, 'clients_uuids': None, 'loglevel': 'warning', 'systemd': False, 'logfile': 'lg', 'nolog_upnp': False, 'log_aio': False, 'test_devices': []}
2025-09-27 18:38:15,214 init    INFO    Starting pa-dlna
2025-09-27 18:38:15,214 init    DEBUG   Disabling XON/XOFF flow control on output
2025-09-27 18:38:15,215 upnp    INFO    Start UPnP discovery on new IPs {'192.168.43.87'}
2025-09-27 18:38:15,215 network DEBUG   SSDP notify: 192.168.43.87 member of multicast group 239.255.255.250
2025-09-27 18:38:15,216 libpuls INFO    Python libpulse version 0.7
2025-09-27 18:38:15,217 libpuls DEBUG   LibPulse connection: PA_CONTEXT_CONNECTING
2025-09-27 18:38:15,217 libpuls DEBUG   pa_context_connect return code: 0
2025-09-27 18:38:15,217 libpuls DEBUG   LibPulse connection: PA_CONTEXT_AUTHORIZING
2025-09-27 18:38:15,218 libpuls DEBUG   LibPulse connection: PA_CONTEXT_SETTING_NAME
2025-09-27 18:38:15,221 libpuls INFO    LibPulse connection: ('PA_CONTEXT_READY', 'OK')
2025-09-27 18:38:15,226 libpuls INFO    Server: PulseAudio (on PipeWire 1.4.8)
2025-09-27 18:38:15,226 libpuls DEBUG   libpulse library/server versions: 35/35
2025-09-27 18:38:15,226 libpuls DEBUG   PulseAudio (on PipeWire 1.4.8) connected to /run/user/1000/pulse/native
2025-09-27 18:38:15,818 network DEBUG   Sent 3 M-SEARCH datagrams to ('239.255.255.250', 1900) from 192.168.43.87
2025-09-27 18:38:17,218 upnp    DEBUG   No response on 192.168.43.87 to all M-SEARCH messages, next try in 60 seconds
2025-09-27 18:39:15,916 network DEBUG   Sent 3 M-SEARCH datagrams to ('239.255.255.250', 1900) from 192.168.43.87
2025-09-27 18:39:17,317 upnp    DEBUG   No response on 192.168.43.87 to all M-SEARCH messages, next try in 60 seconds

xdegaye commented on 2025-09-26 10:00 (UTC)

@envolution Being subscribed to this list allows me to be aware of some pa-dlna problems. Fixed three of those in 1.1 thanks to your AUR package and comments in this list: pa-dlna 1.1 fixes the pytest deadlock in test_libpulse.py, fixes the test_main pytest failure as well as the pytest warning about TestEncoder. pytest is widely used, the pa-dlna 1.1 test suite may be run now by simply calling pytest with no arguments.

xdegaye commented on 2025-09-26 09:58 (UTC)

@Denzy7 https://pa-dlna.readthedocs.io/en/stable/usage.html#source-sink-association documents how to create an association between VLC (the source) and the sink.

Denzy7 commented on 2025-09-24 18:01 (UTC)

Also how exactly would I stream pulseaudio output to android? Correct me if I'm wrong, I'm supposed to start pulseaudio-dlna user service and it should create a virtual sink which I change output to in VLC, then an app on android should essentially steam that no?

Denzy7 commented on 2025-09-24 17:40 (UTC) (edited on 2025-09-24 17:42 (UTC) by Denzy7)

Good work @xdegaye This new build seems to be installing just fine. What are some apps you guys would recommend to stream audio to my android phone?