Coder Social home page Coder Social logo

Comments (99)

masmu avatar masmu commented on July 19, 2024

I could implement a flag to turn this feature off.

Note that often another DMC (such as BubbleUPNP or others) stops the playback and therefore it is switched back.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

With version 0.3.5 I don't have that issue. Also playback is never interrupted with this version, which would indicate a different client trying to connect to the renderer.
Whats more, I don't run other UPnP clients, when those fallback switches occur.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Thats odd. The switchback is triggered by a device which disconnects.

Could you provide a full debug log?

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Tell me, what I should do and I will try my very best ;)

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Just --debug?

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

pulseaudio-dlna --debug 2>&1 | tee -a debug.log
will write a debug.log to the current directory.

Make sure that there was such a random disconnect event.

Then just upload / paste it somewhere (e.g. http://pastebin.com/) and paste the link here.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

see http://pastebin.com/77pctGxa
Two different sink switches occured during this logging period - the first one directly when playing the first song from amarok, the second one shortly before the end of the log.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Could you describe how you switched the stream in detail?

Are you using the pavucontrol or the system's audio settings for switching?

Did you switch the streams in that log multiple times?

How long does it usually take until the problem happens?

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

I didn't switch the stream myself. I got a system notification, that the renderer wasn't available and that it would switch now to the next sink.
Afterwards I switched back using pavucontrol.
As I wrote, the first time happened directly when starting to play the first song. The second time it happend about 10 (or a few more) minutes later.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

How long does it usually take until the problem happens?

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

The first time always happens directly when starting to play the first song. The second time happens always about 10 (or a few more) minutes later.
But I tried it only about three or four times!

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Could you use the mp3 encoder and check if that issue persists?

pulseaudio-dlna --encoder mp3

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

I'll try it.

If it is of any interest, here is what the notification says before switching the sink:

"The device disconnected. Your streams were switched back to ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 2496) Digital Stereo (IEC958)"

and

"Switching to the audio playback device ICE1712 [Envy24] PCI Multi-Channel I/O Controller (M-Audio Delta Audiophile 2496) Digital Stereo (IEC958)
which has higher preference or is specifically configured for this stream."

It does not have higher preference for category "music", though, but obviously the Majik DSM was not available for a short time.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Regardless of the encoder, it always switches to the M-Audio card, when I start amarok and start playing the first song. I always have to click on "revert" to get padlna as output sink. I can repeat that over and over: Quit amarok, start amarok, play a song -> sink gets switched, revert; quit amarok and so on.
As I wrote, for category Music padlna is defined as the default sink, not the M-Audio card.
And with padlna 0.3.5 this does not happen.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

And yes, it also happens with encoder=mp3 and with encoder=wav.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Where does this higher music preference thing come from? Is it a feature in Amarok? I also have no idea where the "revert" button belongs to. Could you describe where i find those features, so that i have a chance to reproduce this behaviour?

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

In the meantime you can disable the switch-back feature yourself.

sudo gedit /usr/lib/python2.7/dist-packages/pulseaudio_dlna/streamserver.py

In line 178 you find the following code:

        if device not in self.sockets.values():
            self.server.message_queue.put(
                {'type': 'on_bridge_disconnected',
                         'stopped_bridge': device.bridge})

Change it to the following or just remove it:

        if False:
            self.server.message_queue.put(
                {'type': 'on_bridge_disconnected',
                         'stopped_bridge': device.bridge})

Save and restart pulseaudio-dlna. Leave the editor open so if you want to undo the changes, you can do it easily.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

The "higer preference" thing comes from Desktop Settings -> Hardware -> Multimedia -> Audio and Video Settings in KDE4/5. There you can tell the underlying backend, which is the default sink and the order of the sinks.
I'll try to disable the switch back later this day. Now a bike tour is planned ;)

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Have fun! 😄

No need for the patching anymore.

  • 0.4.2 - (2015-08-02)
    • The mp3 encoder is now prioritize over wav
    • Added '--disable-switchback' option
    • Wav encoders do not longer share their encoder process

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024
  • 0.4.3 - (2015-08-02)
    • Fixed a bug when trying to terminate an encoder process
    • Catch exceptions when trying to update pulseaudio sinks
    • Fixed a timing issue where the streamserver was not ready but devices were already instructed to play

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

The famous beer garden survivor is back :)
I just downloaded your latest version and installed it.
The behaviour on playing the first song is a bit more weird than before - I had to switch three times back and forth to get sound. Without the --disable-switchback switch it also switches to a different sink every so often while playing songs - mostly between two songs.
The log says:
08-02 19:56:13 pulseaudio_dlna.streamserver INFO Stream closed. Cleaning up remaining processes ...
08-02 19:56:13 pulseaudio_dlna.streamserver INFO Device "Wohnzimmer:Majik DSM:MediaRenderer" disconnected.
08-02 19:56:14 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink0"
08-02 19:56:14 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Using the switch "--disable-switchback" made the situation even worse. Now sound stops without any notification. pavucontrol shows, that the sound is still playing using the Majik DSM, but you can't hear anything. Switching to the M-Audio card and switching back to the Majik DSM gives the sound back. This happens every about 10 minutes. One time I left the system alone - after another ten minutes sound came back, just to vanish again a few minutes later.
Here is the according log file:

python pulseaudio-dlna --encoder=flac --disable-switchback '--filter-device=Wohnzimmer:Majik DSM:MediaRenderer'
08-02 19:59:58 pulseaudio_dlna.application INFO Using localhost: 192.168.1.41:8080
08-02 19:59:58 pulseaudio_dlna.application INFO Loaded encoders:
08-02 19:59:58 pulseaudio_dlna.application INFO
08-02 20:00:04 pulseaudio_dlna.listener INFO Discovery complete.
08-02 20:00:05 pulseaudio_dlna.pulseaudio INFO Added the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)".
08-02 20:00:23 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink3"
08-02 20:00:23 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:00:23 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:00:23 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:00:23 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:00:23 pulseaudio_dlna.streamserver INFO Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac initialized ...
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream4"
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream5"
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream5"
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream6"
08-02 20:05:12 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:05:12 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:05:12 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:05:12 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:05:12 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:05:13 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:05:15 pulseaudio_dlna.streamserver INFO Stream closed. Cleaning up remaining processes ...
08-02 20:06:01 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink0"
08-02 20:06:01 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:06:05 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink3"
08-02 20:06:05 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:06:05 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:06:05 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:06:05 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:06:05 pulseaudio_dlna.streamserver INFO Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac reinitialized ...
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream6"
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream7"
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream7"
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream8"
08-02 20:11:54 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:11:55 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:11:55 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:11:55 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:11:55 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:11:55 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:11:57 pulseaudio_dlna.streamserver INFO Stream closed. Cleaning up remaining processes ...
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream8"
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream9"
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac reinitialized ...
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream9"
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream10"
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream10"
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream11"
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream11"
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream12"
08-02 20:27:42 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:27:43 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:27:43 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:27:43 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:27:43 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:27:43 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:27:46 pulseaudio_dlna.streamserver INFO Stream closed. Cleaning up remaining processes ...
08-02 20:37:41 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink0"
08-02 20:37:41 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:37:44 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink3"
08-02 20:37:44 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:37:44 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:37:44 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:37:44 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:37:44 pulseaudio_dlna.streamserver INFO Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac reinitialized ...
08-02 20:38:08 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream12"
08-02 20:38:08 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:38:08 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream13"
08-02 20:38:08 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:38:09 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream13"
08-02 20:38:09 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream14"
08-02 20:38:09 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:38:09 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:38:09 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:38:09 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:38:09 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-02 20:38:11 pulseaudio_dlna.streamserver INFO Stream closed. Cleaning up remaining processes ...
08-02 20:38:21 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink0"
08-02 20:38:21 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:38:24 pulseaudio_dlna.pulseaudio INFO on_device_updated "/org/pulseaudio/core1/sink3"
08-02 20:38:24 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:38:24 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:38:24 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:38:24 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:38:24 pulseaudio_dlna.streamserver INFO Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac reinitialized ...

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

The switchback feature does not change the behaviour of your device. It just switches the actual stream back to the systems default sink if a device disconnects. Since you disabled that feature, you would assume your device is playing because of pavucontrol's GUI, but it is not. So, this behaviour is intended.

The real question is: Why does it disconnect?

08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream8"
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream9"
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-02 20:21:51 pulseaudio_dlna.streamserver INFO Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac reinitialized ...
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream9"
08-02 20:21:51 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream10"

As you can see, after a specific time (i assume the length of the current song) pulseaudio is removing the actual stream and instantly adds a new one. This makes pulseaudio-dlna instructing the actual device to stop.
This behaviour is missing when using this with Gnome or unity and therefore i guess it is specific to KDE or Amarok.

I made a small patch to delay the actual stream events for about 500ms, so that they would sum up in short intervals and your device is just triggered when it really has to.

Wanna try it with git? Or do you prefer line changes as i gave you yesterday?

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

I understand your explanation, but what changed in Version 0.4.x that would cause my problems? In version 0.3.x none of the described problems occur.
As for the patch I don't have any preferences - I'll take what I get :)

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I took a look at all code regarding the pulseaudio module and i have some assumptions, but i am not quite sure.

The patch is included in here.

Replace /usr/lib/python2.7/dist-packages/pulseaudio_dlna/pulseaudio.py with that one.

It would be great if you could paste a console.log of a run with that patch included.
pulseaudio-dlna 2>&1 | tee -a debug.log

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

It has been playing for about an hour without any interrupt - longer than any version 0.4.x before, but then it happened again. The renderer vanished and dbus gave an error.
The problem when starting to play still exists. Starting a player and playing the first song always switches to a different sink, because the renderer could not be found. There is an ERROR message in the debug log, too. The same happens, when I stop and restart playing - first thing to happen is a switch to a different sink.
See http://pastebin.com/4QPUi6Vg

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024
python pulseaudio-dlna --debug --encoder=flac '--filter-device=Wohnzimmer:Majik DSM:MediaRenderer'
08-03 21:23:41 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.1.41:8080
08-03 21:23:41 pulseaudio_dlna.application                    INFO     Loaded encoders:
08-03 21:23:41 pulseaudio_dlna.application                    INFO     <FlacEncoder bit-rate="None" state="True" enabled="True" mime-types="audio/flac,audio/x-flac">
08-03 21:23:42 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-03 21:23:42 requests.packages.urllib3.connectionpool       DEBUG    "GET /MediaRenderer/device.xml HTTP/1.1" 200 2015
08-03 21:23:42 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    Response from UPNP device (http://192.168.1.60:55178/MediaRenderer/device.xml)
<?xml version="1.0" encoding="utf-8"?><root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><URLBase>http://192.168.1.60:55178/</URLBase><device><deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType><presentationURL>http://192.168.1.60/index.html</presentationURL><friendlyName>Wohnzimmer:Majik DSM:MediaRenderer</friendlyName><manufacturer>Linn Products Ltd</manufacturer><manufacturerURL>http://www.linn.co.uk</manufacturerURL><modelDescription>Linn High Fidelity System Component</modelDescription><modelName>Majik DSM</modelName><modelNumber></modelNumber><modelURL>http://docs.linn.co.uk/wiki/index.php/Majik_DSM</modelURL><serialNumber>01344360</serialNumber><UDN>uuid:4c494e4e-0026-0f21-de7a-013443600171</UDN><UPC></UPC><serviceList><service><serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType><serviceId>urn:upnp-org:serviceId:AVTransport</serviceId><SCPDURL>/MediaRenderer/AVTransport/service.xml</SCPDURL><controlURL>/MediaRenderer/AVTransport/control</controlURL><eventSubURL>/MediaRenderer/AVTransport/event</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType><serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId><SCPDURL>/MediaRenderer/RenderingControl/service.xml</SCPDURL><controlURL>/MediaRenderer/RenderingControl/control</controlURL><eventSubURL>/MediaRenderer/RenderingControl/event</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType><serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId><SCPDURL>/MediaRenderer/ConnectionManager/service.xml</SCPDURL><controlURL>/MediaRenderer/ConnectionManager/control</controlURL><eventSubURL>/MediaRenderer/ConnectionManager/event</eventSubURL></service></serviceList><iconList><icon><mimetype>image/png</mimetype><width>120</width><height>50</height><depth>32</depth><url>http://192.168.1.60/images/Icon.png</url></icon></iconList></device></root>
08-03 21:23:42 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-03 21:23:42 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/ConnectionManager/control HTTP/1.1" 200 None
08-03 21:23:42 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending GET_PROTOCOL_INFO to http://192.168.1.60:55178/MediaRenderer/ConnectionManager/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:ConnectionManager:1#GetProtocolInfo"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:GetProtocolInfo xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1">
        </u:GetProtocolInfo>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetProtocolInfoResponse xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1"><Source></Source><Sink>http-get:*:audio/x-flac:*,http-get:*:audio/wav:*,http-get:*:audio/wave:*,http-get:*:audio/x-wav:*,http-get:*:audio/mpeg:*,http-get:*:audio/x-mpeg:*,http-get:*:audio/mp1:*,http-get:*:audio/aiff:*,http-get:*:audio/x-aiff:*,http-get:*:audio/x-m4a:*,http-get:*:audio/x-ms-wma:*,rtsp-rtp-udp:*:audio/x-ms-wma:*,http-get:*:audio/x-scpls:*,http-get:*:audio/x-mpegurl:*,http-get:*:audio/x-ms-asf:*,http-get:*:audio/x-ms-wax:*,http-get:*:audio/x-ms-wvx:*,http-get:*:video/x-ms-asf:*,http-get:*:video/x-ms-wax:*,http-get:*:video/x-ms-wvx:*,http-get:*:text/xml:*,http-get:*:audio/aac:*,http-get:*:audio/aacp:*,http-get:*:audio/mp4:*,http-get:*:audio/ogg:*,http-get:*:audio/x-ogg:*,http-get:*:application/ogg:*,tidalhifi.com:*:*:*,qobuz.com:*:*:*</Sink></u:GetProtocolInfoResponse></s:Body></s:Envelope>
08-03 21:23:48 pulseaudio_dlna.listener                       INFO     Discovery complete.
08-03 21:23:48 pulseaudio_dlna.pulseaudio                     INFO     Added the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)".

The application has started up. Nothing unusual here.

08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream37"
08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink0
08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream37"
08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink0
08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream38"
08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink0
08-03 21:24:31 pulseaudio_dlna.pulseaudio                     INFO     --- _handle_sink_update /org/pulseaudio/core1/sink0

New streams were added for your sink0 (i suspect this is your default sink) and is instantly removed. Looks like a system notification sound.
This happens also in gnome when you do something wrong. But since this is just about sink0, it triggers no action from pulseaudio-dlna.
So, this is also fine.

08-03 21:24:56 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "icy-metadata", 
    "1"
  ], 
  [
    "host", 
    "192.168.1.41:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "user-agent", 
    "Linn DS"
  ]
]
08-03 21:24:56 pulseaudio_dlna.streamserver                   INFO     Requested streaming URL was: /wohnzimmermajikdsmmediarenderer.stream (HTTP/1.1)
08-03 21:24:56 pulseaudio_dlna.streamserver                   INFO     Error 404: File not found "/wohnzimmermajikdsmmediarenderer.stream"
08-03 21:24:56 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - 404,File not found: /wohnzimmermajikdsmmediarenderer.stream
08-03 21:24:56 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer.stream HTTP/1.1,404,-

This is really weired. We get a request from the Majik. As you can see when looking at the timestamps and the log before, pulseaudio-dlna did not trigger that.
Otherwise there would be registering and playing commands send to the Majik.
Another indicator that pulseaudio-dlna has nothing to do with that, is that it is requesting an URL which was used in the 0.3 series.
The 0.4 series do not use a .stream suffix anymore. Its always .flac or others depending on the used encoder.
So, where does this request come from? Perhaps the Majik has some kind of auto reconnect feature? Does it remember devices? Or did you bookmark the old URL somehow?

08-03 21:25:12 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream38"
08-03 21:25:37 dbus.proxies                                   ERROR    Introspect error on None:/org/pulseaudio/core1/module38: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
08-03 21:25:37 dbus.proxies                                   DEBUG    Executing introspect queue due to error
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink0
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream39"
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink6"
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     --- _handle_sink_update /org/pulseaudio/core1/sink0
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     --- _handle_sink_update /org/pulseaudio/core1/sink6

Here you should have switched the stream, since sink6 (i suspect your Majik) has updated. As a consequence the device is instructed to play.
You can ignore the dbus error here. It happens in the dbus module and is handled internally. If the error would be important we would get an exception.

08-03 21:25:37 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-03 21:25:37 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-03 21:25:37 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending REGISTER to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <CurrentURI>http://192.168.1.41:8080/wohnzimmermajikdsmmediarenderer_dlna.flac</CurrentURI>
            <CurrentURIMetaData>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"&gt;
    &lt;item id="0" parentID="0" restricted="1"&gt;
        &lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;
        &lt;dc:title&gt;Live Audio&lt;/dc:title&gt;
        &lt;dc:creator&gt;PulseAudio&lt;/dc:creator&gt;
        &lt;upnp:artist&gt;PulseAudio on susi&lt;/upnp:artist&gt;
        &lt;upnp:albumArtURI&gt;&lt;/upnp:albumArtURI&gt;
        &lt;upnp:album&gt;Stream&lt;/upnp:album&gt;
        &lt;res protocolInfo="http-get:*:audio/flac:DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"&gt;http://192.168.1.41:8080/wohnzimmermajikdsmmediarenderer_dlna.flac&lt;/res&gt;
    &lt;/item&gt;
&lt;/DIDL-Lite&gt;
</CurrentURIMetaData>
        </u:SetAVTransportURI>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse></s:Body></s:Envelope>
08-03 21:25:37 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-03 21:25:37 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-03 21:25:37 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending PLAY to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#Play"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <Speed>1</Speed>
        </u:Play>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse></s:Body></s:Envelope>
08-03 21:25:37 pulseaudio_dlna.pulseaudio                     INFO     The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.

The device was successfully instructed to play. Registration and playing command send and accepted. We should get a request from your device.

08-03 21:25:37 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "icy-metadata", 
    "1"
  ], 
  [
    "host", 
    "192.168.1.41:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "user-agent", 
    "Linn DS"
  ]
]
08-03 21:25:37 pulseaudio_dlna.streamserver                   INFO     Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-03 21:25:37 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-

And we got it. This time a correct URL is requested. Indicated through the .flac suffix, we can be sure this is a 0.4 series request.

08-03 21:25:38 pulseaudio_dlna.streamserver                   DEBUG    Sending header:
{
  "transferMode.dlna.org": "Streaming", 
  "Connection": "close", 
  "Content-Type": "audio/flac", 
  "Ext": "", 
  "contentFeatures.dlna.org": "DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"
}
08-03 21:25:38 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-03 21:25:38 pulseaudio_dlna.streamserver                   DEBUG    Starting processes "parec --format=s16le -d wohnzimmermajikdsmmediarenderer_dlna.monitor | flac - -c --channels 2 --bps 16 --sample-rate 44100 --endian little --sign signed -s"
08-03 21:25:38 pulseaudio_dlna.streamserver                   INFO     Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac initialized ...

We respond and start the encoder. Life is good.

08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream39"
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream40"
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream40"
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream41"
08-03 21:35:38 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 21:35:39 pulseaudio_dlna.pulseaudio                     INFO     --- _handle_sink_update /org/pulseaudio/core1/sink6

Some stream adding and removings, but the patch seems to work fine.
Although there are several changes to the streams, just one _handle_sink_update is fired. No action was induced.
That's how it should be.

08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream41"
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream42"
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream42"
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream43"
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:01:47 pulseaudio_dlna.pulseaudio                     INFO     --- _handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream43"
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream44"
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream44"
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream45"
08-03 22:21:03 pulseaudio_dlna.pulseaudio                     INFO     --- call_handle_sink_update /org/pulseaudio/core1/sink6
08-03 22:21:04 pulseaudio_dlna.pulseaudio                     INFO     --- _handle_sink_update /org/pulseaudio/core1/sink6

More additional adding and removing, but the patch is still working fine. No action was induced.

08-03 22:24:53 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.flac using method 3.
08-03 22:24:54 pulseaudio_dlna.streamserver                   DEBUG    Socket died, releasing request thread.
08-03 22:24:55 pulseaudio_dlna.streamserver                   INFO     Stream closed. Cleaning up remaining processes ...
08-03 22:24:55 pulseaudio_dlna.streamserver                   INFO     Device "Wohnzimmer:Majik DSM:MediaRenderer" disconnected.

The device disconnected. Method 3 means that pulseaudio-dlna failed to READ from the socket. There was no error with WRITING to it.
Looks like a bug to me, I have a patch for that.

The rest looks like it is working as intended.

I have modified 2 files.
Replace /usr/lib/python2.7/dist-packages/pulseaudio_dlna/pulseaudio.py with that one and
replace /usr/lib/python2.7/dist-packages/pulseaudio_dlna/streamserver.py with that one.

Then try again and please paste a new log for that.

I expect that the Majik now plays forever. But i guess i need your assistance for the issue with the misterious request.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

With "misterious request" you mean the 0.3.x url you mentioned above?
I suspect it lives somewhere in my client pulseaudio config. I'll try to get rid of the complete config before using your new files.
And thx for your patience!

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

I deleted the .config/pulse directory and the mysterious URL doesn't reappear.
The first time, I started padlna, I got the following behaviour.

  • When starting to play sound, it lasts about 45 seconds before I could hear anything. This time the Majik DSM still was switched off. With version 0.3.x this took about 10 seconds only.
  • Sound only lasted for a few seconds, then vanished completely.
    See the logfile at http://pastebin.com/Zvf6gveJ.
  • I then stopped padlna and started it again.
    This time the DSM was already switched on. Sound started playing at once and so far no interrupt happened.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Happend again - sound just vanished without switching the sink.
See log at http://pastebin.com/fkik5NAt.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Currently i am a bit in a hurry. Could you do one more test with the --disable-switchback option and paste another log?
So i can take a look at them tomorrow.

Btw: In log 4 there is no disconnect event. The device did not disconnect and no action at all was performed by pulseaudio-dlna. Looks great to be honest! So i cannot understand why the device vanished. For log 3 i need a bit more time.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

No worries - I always can use version 0.3.5 as a fallback :)
And yes, I will test it with --disable-fallback. But for the moment I can tell you, that in two hours it happened only two times that the sound vanished. In both cases there was no sink switch - just the sound went away.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024
  • 0.4.4 - (2015-08-07)
    • Added --disable-ssdp-listener option
    • Fixed a bug with applications which remove and re-add streams all the time
    • Added a missing dependency python-psutil

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Thx for the new version.
I start testing it now.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

After abot 20 minutes sound stopped and didn't come back until I restarted padlna.
See http://pastebin.com/75TG0KaK
I'll try it a second time without --disable-fallback, after that with --disable-fallback.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024
python pulseaudio-dlna --debug --encoder=flac '--filter-device=Wohnzimmer:Majik DSM:MediaRenderer'
08-07 22:07:02 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.1.41:8080
08-07 22:07:02 pulseaudio_dlna.application                    INFO     Loaded encoders:
08-07 22:07:02 pulseaudio_dlna.application                    INFO     <FlacEncoder bit-rate="None" state="True" enabled="True" mime-types="audio/flac,audio/x-flac">
08-07 22:07:04 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-07 22:07:04 requests.packages.urllib3.connectionpool       DEBUG    "GET /MediaRenderer/device.xml HTTP/1.1" 200 2015
08-07 22:07:04 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    Response from UPNP device (http://192.168.1.60:55178/MediaRenderer/device.xml)
<?xml version="1.0" encoding="utf-8"?><root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><URLBase>http://192.168.1.60:55178/</URLBase><device><deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType><presentationURL>http://192.168.1.60/index.html</presentationURL><friendlyName>Wohnzimmer:Majik DSM:MediaRenderer</friendlyName><manufacturer>Linn Products Ltd</manufacturer><manufacturerURL>http://www.linn.co.uk</manufacturerURL><modelDescription>Linn High Fidelity System Component</modelDescription><modelName>Majik DSM</modelName><modelNumber></modelNumber><modelURL>http://docs.linn.co.uk/wiki/index.php/Majik_DSM</modelURL><serialNumber>01344360</serialNumber><UDN>uuid:4c494e4e-0026-0f21-de7a-013443600171</UDN><UPC></UPC><serviceList><service><serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType><serviceId>urn:upnp-org:serviceId:AVTransport</serviceId><SCPDURL>/MediaRenderer/AVTransport/service.xml</SCPDURL><controlURL>/MediaRenderer/AVTransport/control</controlURL><eventSubURL>/MediaRenderer/AVTransport/event</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType><serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId><SCPDURL>/MediaRenderer/RenderingControl/service.xml</SCPDURL><controlURL>/MediaRenderer/RenderingControl/control</controlURL><eventSubURL>/MediaRenderer/RenderingControl/event</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType><serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId><SCPDURL>/MediaRenderer/ConnectionManager/service.xml</SCPDURL><controlURL>/MediaRenderer/ConnectionManager/control</controlURL><eventSubURL>/MediaRenderer/ConnectionManager/event</eventSubURL></service></serviceList><iconList><icon><mimetype>image/png</mimetype><width>120</width><height>50</height><depth>32</depth><url>http://192.168.1.60/images/Icon.png</url></icon></iconList></device></root>
08-07 22:07:04 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-07 22:07:04 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/ConnectionManager/control HTTP/1.1" 200 None
08-07 22:07:04 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending GET_PROTOCOL_INFO to http://192.168.1.60:55178/MediaRenderer/ConnectionManager/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:ConnectionManager:1#GetProtocolInfo"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:GetProtocolInfo xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1">
        </u:GetProtocolInfo>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetProtocolInfoResponse xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1"><Source></Source><Sink>http-get:*:audio/x-flac:*,http-get:*:audio/wav:*,http-get:*:audio/wave:*,http-get:*:audio/x-wav:*,http-get:*:audio/mpeg:*,http-get:*:audio/x-mpeg:*,http-get:*:audio/mp1:*,http-get:*:audio/aiff:*,http-get:*:audio/x-aiff:*,http-get:*:audio/x-m4a:*,http-get:*:audio/x-ms-wma:*,rtsp-rtp-udp:*:audio/x-ms-wma:*,http-get:*:audio/x-scpls:*,http-get:*:audio/x-mpegurl:*,http-get:*:audio/x-ms-asf:*,http-get:*:audio/x-ms-wax:*,http-get:*:audio/x-ms-wvx:*,http-get:*:video/x-ms-asf:*,http-get:*:video/x-ms-wax:*,http-get:*:video/x-ms-wvx:*,http-get:*:text/xml:*,http-get:*:audio/aac:*,http-get:*:audio/aacp:*,http-get:*:audio/mp4:*,http-get:*:audio/ogg:*,http-get:*:audio/x-ogg:*,http-get:*:application/ogg:*,tidalhifi.com:*:*:*,qobuz.com:*:*:*</Sink></u:GetProtocolInfoResponse></s:Body></s:Envelope>
08-07 22:07:09 pulseaudio_dlna.listener                       INFO     Discovery complete.

Normal startup.

08-07 22:07:09 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "icy-metadata", 
    "1"
  ], 
  [
    "host", 
    "192.168.1.41:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "user-agent", 
    "Linn DS"
  ]
]
08-07 22:07:09 pulseaudio_dlna.streamserver                   INFO     Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)
08-07 22:07:09 pulseaudio_dlna.streamserver                   INFO     Error 404: File not found "/wohnzimmermajikdsmmediarenderer_dlna.flac"
08-07 22:07:09 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - 404,File not found: /wohnzimmermajikdsmmediarenderer_dlna.flac
08-07 22:07:09 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,404,-

We got a request from the device. Thats odd, since we did't instructed the device to do so.
I assume this is a device specific behavior. What we did before was: We just requested the device properties and some how this triggers a request from the device.
Anyway ... should not hurt, everything is catched and logged.

08-07 22:07:10 pulseaudio_dlna.pulseaudio                     INFO     Added the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)".
08-07 22:07:10 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink2"
08-07 22:07:10 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink2

We found the device, it is recognized that there are streams for that sink2 (Majik) and therefore we instruct the device to play.

08-07 22:07:10 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" to play ...
08-07 22:07:10 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-07 22:07:10 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-07 22:07:10 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending REGISTER to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <CurrentURI>http://192.168.1.41:8080/wohnzimmermajikdsmmediarenderer_dlna.flac</CurrentURI>
            <CurrentURIMetaData>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"&gt;
    &lt;item id="0" parentID="0" restricted="1"&gt;
        &lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;
        &lt;dc:title&gt;Live Audio&lt;/dc:title&gt;
        &lt;dc:creator&gt;PulseAudio&lt;/dc:creator&gt;
        &lt;upnp:artist&gt;PulseAudio on susi&lt;/upnp:artist&gt;
        &lt;upnp:albumArtURI&gt;&lt;/upnp:albumArtURI&gt;
        &lt;upnp:album&gt;Stream&lt;/upnp:album&gt;
        &lt;res protocolInfo="http-get:*:audio/flac:DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"&gt;http://192.168.1.41:8080/wohnzimmermajikdsmmediarenderer_dlna.flac&lt;/res&gt;
    &lt;/item&gt;
&lt;/DIDL-Lite&gt;
</CurrentURIMetaData>
        </u:SetAVTransportURI>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse></s:Body></s:Envelope>
08-07 22:07:10 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-07 22:07:10 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-07 22:07:10 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending PLAY to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#Play"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <Speed>1</Speed>
        </u:Play>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse></s:Body></s:Envelope>
08-07 22:07:10 pulseaudio_dlna.pulseaudio                     INFO     The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.

We should get a request now ...

08-07 22:07:10 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "icy-metadata", 
    "1"
  ], 
  [
    "host", 
    "192.168.1.41:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "user-agent", 
    "Linn DS"
  ]
]
08-07 22:07:10 pulseaudio_dlna.streamserver                   INFO     Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.flac (HTTP/1.1)

... here it is ...

08-07 22:07:10 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.flac HTTP/1.1,200,-
08-07 22:07:10 pulseaudio_dlna.streamserver                   DEBUG    Sending header:
{
  "transferMode.dlna.org": "Streaming", 
  "Connection": "close", 
  "Content-Type": "audio/flac", 
  "Ext": "", 
  "contentFeatures.dlna.org": "DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"
}
08-07 22:07:10 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.flac.
08-07 22:07:10 pulseaudio_dlna.streamserver                   DEBUG    Starting processes "parec --format=s16le -d wohnzimmermajikdsmmediarenderer_dlna.monitor | flac - -c --channels 2 --bps 16 --sample-rate 44100 --endian little --sign signed -s"
08-07 22:07:10 pulseaudio_dlna.streamserver                   INFO     Processes of /wohnzimmermajikdsmmediarenderer_dlna.flac initialized ...

So, at 22:07:10 (+ a little bit of delay) your device should really start to play.

08-07 22:16:49 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream2"
08-07 22:16:50 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream3"
08-07 22:16:50 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream3"
08-07 22:16:50 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream4"
08-07 22:16:50 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink2
08-07 22:26:26 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream4"
08-07 22:26:26 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream5"
08-07 22:26:27 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream5"
08-07 22:26:27 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream6"
08-07 22:26:27 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink2

Various stream removings and re-addings ... but the fix works ...

08-07 22:29:01 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink0"
08-07 22:29:01 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink0
08-07 22:29:01 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" to stop ...

Its 22:29:01 ... so, i assume thats are the 20 minutes you were talking about.
Your default sink (sink0) was updated and this triggers the device to stop. I really would like to know what you did, so that your default sink was changed.
Did you set your default sink? Changing volume? There must be something you did, help me out here ;)

08-07 22:29:01 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-07 22:29:01 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-07 22:29:01 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending STOP to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#Stop"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
        </u:Stop>
    </s:Body>
</s:Envelope>
 - result: 200
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:StopResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:StopResponse></s:Body></s:Envelope>
08-07 22:29:01 pulseaudio_dlna.pulseaudio                     INFO     The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.

The device was stopped as instructed.

08-07 22:29:05 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink2"
08-07 22:29:06 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink2

Did you switch the streams here?

08-07 22:29:06 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" to play ...

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Did you set your default sink? Changing volume? There must be something you did, help me out here ;)

I didn't do anything at 22:29! Really, I swear ;)
Sat there and listened to the music, which all of a sudden stopped. I even haven't been near my computer at that time.

Did you switch the streams here?

No, I stopped and restartet padlna a bit later, because with no other action I could get sound back.

I wouldn't say anything if version 0.3.x wouldn't work that perfect 8-<

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I made a branch for testing purposes. The following will install a local copy of pulseaudio-dlna, which should not interfere with the packaged one.

Could you check it out and provide another debug.log?

  1. Make sure you installed the dependencies (if you installed 0.4.4 you should have installed them)

Otherwise:
sudo apt-get install python2.7 python-pip python-setuptools python-dbus python-beautifulsoup python-docopt python-requests python-setproctitle python-gobject python-protobuf python-notify2 python-psutil vorbis-tools sox lame flac faac opus-tools

  1. Install virtualenv & python-dev

All Ubuntu versions prior to 14.10 Utopic need to install:
sudo apt-get install python-virtualenv python-dev

All Ubuntu versions above install:
sudo apt-get install virtualenv python-dev

  1. Checkout the code, run it and write a debug.log.
git clone https://github.com/masmu/pulseaudio-dlna.git
cd pulseaudio_dlna/
git checkout bug/sound-vanishes
make
bin/pulseaudio-dlna --debug 2>&1 | tee -a debug.log

Just a note: You have to change to the project folder of that local copy and run it prefixed with bin/. Otherwise you will launch the packaged version which is installed to your system.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Just a hint: I don't use Ubuntu, my systems are openSuSE 13.2 and openSuSE Tumbleweed.
I cloned the afore mentioned branch, installed all dependencies and built padlna.
Now I'll start testing.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

sound has stopped and I didn't get any message in the debug log.
See http://pastebin.com/b6qETbV5
At 22:46 sound stopped. Pulseaudio volume control showed it still playing.
I had to switch the sink manually back and forth to get sound back.
And - as I said - no error message showing the real reason 8-(

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Are you sure you are using the correct branch? I am missing my console logs i put into that branch, so i get a more detailed view of what is going on.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Uhm, I'm never sure ;) I double check it.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Seems to be the correct branch. From my history file:
cd /usr/src/packages/BUILD
mkdir pulseaudio-dlna/
cd pulseaudio-dlna/
git clone https://github.com/masmu/pulseaudio-dlna.git
ls
cd pulseaudio-dlna/
ls
git checkout bug/sound-vanishes
make <- error because of missing deps
zypper in python-virtualenv
zypper in python-devel
make

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Ok, this sounds like a build system to me i have no idea about.

Try it my way.

Make sure you have the following installed:

  • git
  • python-virtualenv or virtualenv (if you have a binary called virtualenvyou have what you need)
  • python-dev (may be python-devel)

The following is distribution independent and works on all systems which have to needed dependencies installed.

git clone https://github.com/masmu/pulseaudio-dlna.git
cd pulseaudio_dlna/
git checkout bug/sound-vanishes
make
bin/pulseaudio-dlna --debug 2>&1 | tee -a debug.log

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Sry, I don't understand. What is the difference between your way and what I did?
I thought I did exactly what you suggested.
Besides I don't have "pulseaudio_dlna/" after the git clone command, but only "pulseaudio-dlna/".

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Uhm, did you mean the following command order?

git clone https://github.com/masmu/pulseaudio-dlna.git
cd pulseaudio-dlna/
cd pulseaudio_dlna/
git checkout bug/sound-vanishes
cd ..
make
bin/pulseaudio-dlna --debug 2>&1 | tee -a debug.log

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Yes. Looks good. Sorry for missing the 2nd directory switch ...

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Ok, did it. I will test it tomorrow.
Thx for your patience!

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I checked it here. I don't need the second switch. Just the commands i send you before.

You are welcome!

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Seems I got one of your "desired" DEBUG messages - see http://pastebin.com/WUgjgjw4.
Some explanation:
padlna ran since yesterday 23:43 and survived a hibernate/resume cycle till 12:03 today. When playing the first song at 12:03 the sink was switched automatically to my M-Audio card. I switched it back to padlna. After that, padlna played a few songs without interruption. At 12:19 you can see a few DEBUG and ERROR messages in the log, but that didn't lead to an interruption. At 12.20 logging stopped all of a sudden, but padlna played more songs until about 12:50. At that point music stopped completely. I couldn't get it back and had to restart padlna.
With that behaviour it seems to me that padlna hangs internally at some point, which leads to the situation that no sound can be heard, although Pulseaudio volume control tells me, that it is playing the song.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Thanks for your detailed instructions.
Those explanations really help me better understanding what is going on.
And it may be, that the application hangs, but i am not sure at that point.

What i am sure about is, that there is a condition where an update of a sink leads to a stopping instruction, where it normally should not. In 3 of the logs you could see, that in fact pulseaudio-dlna did stop your device.

I wanna know what this condition is about. Thats why i placed additional logs in the branch. But you are not using the branch. Please try the following, line by line.

mkdir tmp
cd tmp/
git clone https://github.com/masmu/pulseaudio-dlna.git
cd pulseaudio-dlna/
git checkout bug/sound-vanishes

Check if you are using the correct branch:
git diff HEAD~1 should return the following:

diff --git a/pulseaudio_dlna/pulseaudio.py b/pulseaudio_dlna/pulseaudio.py
index 0cabb7f..dd3b08f 100644
--- a/pulseaudio_dlna/pulseaudio.py
+++ b/pulseaudio_dlna/pulseaudio.py
@@ -551,6 +551,7 @@ class PulseWatcher(PulseAudio):
             return

         for bridge in self.bridges:
+            logger.info('\n{}'.format(str(bridge)))
             if bridge.device.state == bridge.device.PLAYING:
                 if len(bridge.sink.streams) == 0:
                     logger.info(

Then just start it ...

make
bin/pulseaudio-dlna --debug 2>&1 | tee -a debug.log

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

I checked it again.
git diff HEAD~1 gives exactly what you showed me above.

cd tmp
git clone https://github.com/masmu/pulseaudio-dlna.git
Cloning into 'pulseaudio-dlna'...
remote: Counting objects: 947, done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 947 (delta 16), reused 0 (delta 0), pack-reused 908
Receiving objects: 100% (947/947), 451.65 KiB | 488.00 KiB/s, done.
Resolving deltas: 100% (603/603), done.
Checking connectivity... done.
cd pulseaudio-dlna/
git checkout bug/sound-vanishes
Branch bug/sound-vanishes set up to track remote branch bug/sound-vanishes from origin.
Switched to a new branch 'bug/sound-vanishes'
git diff HEAD~1
diff --git a/pulseaudio_dlna/pulseaudio.py b/pulseaudio_dlna/pulseaudio.py
index 0cabb7f..dd3b08f 100644
--- a/pulseaudio_dlna/pulseaudio.py
+++ b/pulseaudio_dlna/pulseaudio.py
@@ -551,6 +551,7 @@ class PulseWatcher(PulseAudio):
             return

         for bridge in self.bridges:
+            logger.info('\n{}'.format(str(bridge)))
             if bridge.device.state == bridge.device.PLAYING:
                 if len(bridge.sink.streams) == 0:
                     logger.info(


from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Ok, looks good. Now just:

make
bin/pulseaudio-dlna --debug 2>&1 | tee -a debug.log

There should be more debug stuff in the log. Look for the word "bridge". If its in there i really like to have that log 😄

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

did it, but nothing like "bridge" in the log

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Instead I got

8-09 20:22:14 pulseaudio_dlna.pulseaudio                     ERROR    Could not get "/org/pulseaudio/core1/sink0" from dbus.
08-09 20:22:14 pulseaudio_dlna.pulseaudio                     ERROR    Could not get "/org/pulseaudio/core1/sink16" from dbus.
08-09 20:22:39 dbus.proxies                                   ERROR    Introspect error on None:/org/pulseaudio/core1/sink16: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
08-09 20:22:39 dbus.proxies                                   DEBUG    Executing introspect queue due to error
08-09 20:22:40 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink16
08-09 20:22:40 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" to stop ...

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Its odd that you don't see the new debug logs. But don't worry. We switch back to replace instructions, since that went well last time.

Replace the pulseaudio.py with that one please.

Lets see if we can make those logs appear ... 😁

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

in what version should I replace that file?

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Like you did it the last time it worked 6 days ago. So forget about the local copy at tmp/pulseaudio-dlna.

I wrote you:
Replace /usr/lib/python2.7/dist-packages/pulseaudio_dlna/pulseaudio.py with that one.

Whatever you did then will work now.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

is there anything one can see what version is used? can you add some comment when padlna is starting?

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

The logs we are waiting for are always printed before an action is induced. So, if you read a message such as "Instructing the device ..." right before that they should be there.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

What I meant ist something like "pulseaudio-dlna version x.y.z-debug-whatever starting".
That would make it obvious, what version gets used.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I understand the demand for that. But that's not how python works.

In contrast to compiled binarys python applications consists of several modules and packages, which don't need to be compiled to result in a single application (or binary).
You could easily print the version number on start up, but since 95% of the actual code lives in other modules, you would basically just know the version of the start up script. So, in that case you could be sure, you are using about 5% code of the correct version.
You would need to have a version for each module to do what you want. But nobody does that.
Once your code is stable you ship it, using a version number representative for all the code.

The actual solution for that problem is using a version control system such as git.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

I never wrote serious python scripts, but I did it in perl and perl's modular concept is quite similar.
What I often did was to print the version of the main script on start and to provide a parameter like "-V", which prints out all of the versions of the used modules that I wrote (not the standard perl modules).
Of course I don't want to suggest that you do the same, I just wanted to express that it might be possible despite the modular concept.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Back to the interrupt problem: Today I didn't have any interrupts while playing music. So you won't get any new log file.
The only annoying thing is, that the default sink always switches back to the M-Audio card as soon as an album has finished and I started to play the next album. I have to test if that also will happen with the "--disable-switchback" option.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

You are right. And it is the same for php and others.

But i guess the reason why no one does it is that there is a good alternative.

Please don't get this wrong. But I think we are talking about this for another reason in the first place.
So, let's focus on the problem, cause it might be that you found a bug where also other people suffer from. Therefore I am really motivated and interested in solving your issue. We just need to go on ...

You were able to add my changes a week ago without any trouble. Basically it is the same task now. Did you figure out why you don't see the logs now?

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I am pretty sure that happens because (i assume) Amarok removed every stream on the dlna sink, when there is no music playing any more.

This is the main concept of instructing devices to play and stop. If there are streams which want to play on a dlna sink, instruct the device to play. If there is no stream any more on a device which is playing, stop it.

The --disable-switchback flag should restore the old behaviour. If not, you found a bug and i have to fix it 😄

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

You were able to add my changes a week ago without any trouble. Basically it is the same task now. Did you figure out why you don't see the logs now?

I see the logs with your latest pulseaudio.py file - I just didn't have any interrupts since then, so I thought, the log isn't of any interest for you.
If you are nevertheless interested, I can put in on pastebin again.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

No you are right. I need a log where the situation occurs.
Just paste one when the issue is back again. 👍

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

And here we are: http://pastebin.com/x8NMjW9D
At 23:14 sound all of a sudden stopped. I had to switch the sink back and forth, after that I got music back.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Could you replace your pulseaudio.py with that one and try again?

I am not sure if that actually helps. I am just catching the exception which prevents further code execution at that point. We have to try and see ... but that one was a very good log.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I tried to make the update process of sinks and streams more robust.

Please replace your pulseaudio.py with that one.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

See http://pastebin.com/JtDZq75a
At 23:22 music stopped and I had to switch the sink manually back and forth to get music back.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

and another log: http://pastebin.com/2rNG2zM4
I had several interrupts, where I didn't hear any sound, while Amarok and Pulseaudio volume control showed that the song was playing on the padlna sink. Each time I had to switch the sink back and forth to get music back.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

I've added the --disable-device-stop flag because of another bug report.
It disables device stopping instructions completely.

To test this you have to replace the

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Do I have to use --disable-device-stop in addition to --disable-switchback or does it include the feature?

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

No, these are separate features. The --disable-device-stop options just makes pulseaudio-dlna not sending any more STOP instructions.

The --disable-switchback option, makes pulseaudio-dlna not to switch back to the default sink, if a client / device disconnects.

So, you may test these in conjunction with each other or alone. See how just --disable-device-stop works out ...

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

See http://pastebin.com/sD4PEwiG
At 16:28 music stopped without anything else happening - Amarok says it is still playing, the same for pulseaudio volume control. The padlna debug log got no entry at all for this event. And switching the sink back and forth didn't help - I had to restart padlna.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Ok, after testing the various combinations I have no good news 8-<
Using the --disable-device-stop always leads to the situation, that after a few songs no sound can be heard anymore, while Amarok says it is still playing, the same for pulseaudio volume control, and the padlna debug log gets no entries at all. Switching the sink back and forth doesn't help - one has to restart padlna.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

To be honest, this was expected. Another user requested that feature although i had serious doubts about the sense of it.
The mentioned "Switching the sink back and forth doesn't help - one has to restart padlna." thing is an effect of that flag.
But he reported that it works well and i thought, it cannot hurt to let you test it too.

You noticed that there is no event for the music stopping at 16:28. You used the --disable-device-stop option and therefore pulseaudio-dlna did not send a STOP command during the whole streaming session. So it is good that you also tested this.
Because what i am really missing is a Client x unregistered stream line ...
That line is always printed when your device closes the stream, if instructed to STOP or if you unplug the power does not matter. There will be that line.
But it is missing.

So, if your device did not close the connection why did it stop playing sound? Obviously it continued to receive data ...

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Ok, so I'll continue testing without the "--disable-device-stop" switch.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

After hours and hours of testing I found some strange problems in at least two of my own components - there was a bug in the firmware of the Majik DSM and there seems to be a problem with the "replay gain" mode of Amarok. Both of them independently could lead to the situation I described, i.e. no sound while every component seems still playing. That also would explain, why you couldn't find the expected message "Client x unregistered stream" - it simply wasn't the fault of padlna, which also assumed to be everything working ok.
After updating the firmware of the Majik DSM and switching off replay gain in Amarok I didn't have any interrupt in sound at all - for the whole day of today.
Next step will be to also deactivate the "--disable-switchback" switch and continue testing.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

And of course I should have switched back to padlna 0.3.x a few times to assure this version still working properly 8-< Sorry for that!

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Don't worry. Those things can happen. And you indeed found a bug. The event aggregation thing. 👍

I am glad that it now works for you. Let's hope it stays that way ... 😉

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Crossing fingers :)

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Didn't help - the situation occurred again and this time I got the message "Client x unregistered stream".
See http://pastebin.com/LsyQEuuL
It happened at 20:36:08.
The second time at 20:41:13 happened when I switched off the Majik DSM - so this is not relevant.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream82"
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     trying to update sinks and streams ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_playback_streams of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_sinks of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream83"
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     trying to update sinks and streams ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_playback_streams of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_sinks of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.

Your device is playing. Everything is fine until here.

08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream83"
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     trying to update sinks and streams ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_playback_streams of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_sinks of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream84"
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     trying to update sinks and streams ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_playback_streams of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:34:53 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_sinks of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:35:18 pulseaudio_dlna.pulseaudio                     ERROR    Could not get "/org/pulseaudio/core1/sink1" from dbus.
08-26 20:35:18 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:35:18 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink1
08-26 20:35:18 pulseaudio_dlna.pulseaudio                     INFO     
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink1" label="Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" name="wohnzimmermajikdsmmediarenderer_dlna" index="1" module="30">
        -- no streams --
    <CoinedUpnpMediaRenderer name="Wohnzimmer:Majik DSM:MediaRenderer" short="wohnzimmermajikdsmmediarenderer_dlna" state="playing" protocols="audio/x-flac,audio/wav,audio/wave,audio/x-wav,audio/mpeg,audio/x-mpeg,audio/mp1,audio/aiff,audio/x-aiff,audio/x-m4a,audio/x-ms-wma,audio/x-ms-wma,audio/x-scpls,audio/x-mpegurl,audio/x-ms-asf,audio/x-ms-wax,audio/x-ms-wvx,audio/aac,audio/aacp,audio/mp4,audio/ogg,audio/x-ogg">

Amarok removed stream83. I guess the track has finished. Instantly stream84 was re-added, because of a new track start. There is no prove for my following assumtion, but i am pretty sure this stream is running on sink1 (Majik).
But DBus fails to update the sink. So pulseaudio-dlna is not in sync with the real situation and will STOP your device because there is no stream running anymore on sink1.
But in reality there is and there should be no stopping instruction.

08-26 20:35:18 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" to stop ...
08-26 20:35:18 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-26 20:35:18 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-26 20:35:18 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending STOP to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
08-26 20:35:18 pulseaudio_dlna.pulseaudio                     INFO     The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" was stopped.

Thats what is happening...

08-26 20:35:19 pulseaudio_dlna.streamserver                   INFO     Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.mp3 (HTTP/1.1)
08-26 20:35:19 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.mp3 HTTP/1.1,200,-

Regardless of being stopped, your device instantly tries to play the stream again. I guess this is because of an internal device playlist. This would explain why you got requests for version 0.3.x some time ago.

08-26 20:35:19 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.mp3 using method 2.
08-26 20:35:19 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.mp3.
08-26 20:35:19 pulseaudio_dlna.streamserver                   DEBUG    Socket died, releasing request thread.

The device disconnects and reconnects. Depending on the delay, you should have heared a break or pause. Perhaps just a small distortion. Did you?

08-26 20:36:02 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink0"
08-26 20:36:02 pulseaudio_dlna.pulseaudio                     INFO     trying to update sinks and streams ...
08-26 20:36:02 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_playback_streams of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:36:02 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:36:02 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_sinks of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:36:02 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:36:03 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink0
08-26 20:36:03 pulseaudio_dlna.pulseaudio                     INFO     
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink1" label="Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" name="wohnzimmermajikdsmmediarenderer_dlna" index="1" module="30">
        -- no streams --
    <CoinedUpnpMediaRenderer name="Wohnzimmer:Majik DSM:MediaRenderer" short="wohnzimmermajikdsmmediarenderer_dlna" state="idle" protocols="audio/x-flac,audio/wav,audio/wave,audio/x-wav,audio/mpeg,audio/x-mpeg,audio/mp1,audio/aiff,audio/x-aiff,audio/x-m4a,audio/x-ms-wma,audio/x-ms-wma,audio/x-scpls,audio/x-mpegurl,audio/x-ms-asf,audio/x-ms-wax,audio/x-ms-wvx,audio/aac,audio/aacp,audio/mp4,audio/ogg,audio/x-ogg">

sink0 was updated. But this is your internal soundcard. Does not matter.

08-26 20:36:07 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink1"
08-26 20:36:07 pulseaudio_dlna.pulseaudio                     INFO     trying to update sinks and streams ...
08-26 20:36:07 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_playback_streams of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:36:07 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:36:07 pulseaudio_dlna.pulseaudio                     INFO     method try 1 (<bound method PulseWatcher.update_sinks of <pulseaudio_dlna.pulseaudio.PulseWatcher object at 0x7ff3aa2d4890>>) ...
08-26 20:36:07 pulseaudio_dlna.pulseaudio                     INFO     method was executed successfully.
08-26 20:36:08 pulseaudio_dlna.pulseaudio                     INFO     _handle_sink_update /org/pulseaudio/core1/sink1
08-26 20:36:08 pulseaudio_dlna.pulseaudio                     INFO     
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink1" label="Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" name="wohnzimmermajikdsmmediarenderer_dlna" index="1" module="30">
        <PulseStream path="/org/pulseaudio/core1/playback_stream84" device="/org/pulseaudio/core1/sink1" index="84">

    <CoinedUpnpMediaRenderer name="Wohnzimmer:Majik DSM:MediaRenderer" short="wohnzimmermajikdsmmediarenderer_dlna" state="idle" protocols="audio/x-flac,audio/wav,audio/wave,audio/x-wav,audio/mpeg,audio/x-mpeg,audio/mp1,audio/aiff,audio/x-aiff,audio/x-m4a,audio/x-ms-wma,audio/x-ms-wma,audio/x-scpls,audio/x-mpegurl,audio/x-ms-asf,audio/x-ms-wax,audio/x-ms-wvx,audio/aac,audio/aacp,audio/mp4,audio/ogg,audio/x-ogg">

08-26 20:36:08 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" to play ...

sink1 is updated. This time DBus delivers the information about the sink. pulseaudio-dlna is now aware of stream84 (but one minute late). Since your device was stopped before and there is a new stream
on sink1 it instructs the device to play.

08-26 20:36:08 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-26 20:36:08 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-26 20:36:08 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending REGISTER to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
08-26 20:36:08 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.1.60
08-26 20:36:08 requests.packages.urllib3.connectionpool       DEBUG    "POST /MediaRenderer/AVTransport/control HTTP/1.1" 200 None
08-26 20:36:08 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending PLAY to http://192.168.1.60:55178/MediaRenderer/AVTransport/control:
08-26 20:36:08 pulseaudio_dlna.pulseaudio                     INFO     The device "Wohnzimmer:Majik DSM:MediaRenderer (DLNA)" is playing.

Not sure if you heared your device playing at that time. I would expect that even if the device was playing it disconnects and reconnects and therefore basically continues to play.

08-26 20:36:08 pulseaudio_dlna.streamserver                   INFO     Requested streaming URL was: /wohnzimmermajikdsmmediarenderer_dlna.mp3 (HTTP/1.1)
08-26 20:36:08 pulseaudio_dlna.streamserver                   INFO     Got request from majikdsm.hirmke.de - GET /wohnzimmermajikdsmmediarenderer_dlna.mp3 HTTP/1.1,200,-
08-26 20:36:08 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 unregistered stream /wohnzimmermajikdsmmediarenderer_dlna.mp3 using method 2.
08-26 20:36:08 pulseaudio_dlna.streamserver                   INFO     Client 192.168.1.60 registered to stream /wohnzimmermajikdsmmediarenderer_dlna.mp3.
08-26 20:36:08 pulseaudio_dlna.streamserver                   DEBUG    Socket died, releasing request thread.

Disconnect and reconnect. But you said your device stopped to play, right? And again we are missing the Client x unregistered stream message. There is one but this is for the stream your device decided to play on its own.
After the PLAY instruction, that stream disconnects and the stream unregisteres. But a new stream is registered, so your device is recieving data. You should hear something.

Could you please try the bug/sound-vanishes branch?
There are new fixes included.

The reason why i don't give you manual instructions is that is has changed a lot
and you would have to change a lot of files. It would be a lot easier if you get git working. Try uninstalling pulseaudio-dlna and then give the git way another try.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

The device disconnects and reconnects. Depending on the delay, you should have heared a break or pause. Perhaps just a small distortion. Did you?

No, I didn't.
I'll give the mentioned branch a try.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Sry to tell you, but this version is completely unusable 8-<
Every few seconds sound is fading out and back in again - without any log entry during that time.
See http://pastebin.com/Qg3W8eTm
This test was without the "--disable-switchback" switch, but the same happened with that switch.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

We have to find out what i did that causes this to happen.So i will roll back some of my changes until it works again. I just updated the branch with the first roll back.

Please change to the pulseaudio-dlna directory and do a git pull. Just should receive all my changes with that. After that please just test again.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

To make sure I really get the correct files, isn't it possible to download the zip file from that branch, unpack and instll it? That's what I did the day before yesterday.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Ok, I used the zip file as mentioned above.
Because the day before yesterday the pulsating sound occured directly when playing the first song after starting padlna, I already can tell you, that it works again in the defined parameters ;)
At the moment I use the default encoder plus the "--disable-switchback" switch.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Yes, i guess you can. Never did that myself 😉

I updated your branch. Has some new related fixes in it, so please check it out.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Downloaded the zip file and installed it.
This version has a great advantage over the one before: Sound starts as soon as I click on "play". With the version before it took a few seconds before I could here something.
And: No vanishing sound yet in 90 minutes.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

Where do you find that "play" button?

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

In any music player like amarok :)

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Just an update: Sound vanished one time yesterday. Stop/play in amarok brought sound back - it was not necessary to switch sinks this time.
And: I got no log entries for this event.

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

Ok, in vary rare cases sound still stops, but there are no debug entries for these events, so I assume it is not padlna's fault.
Therefore I close this issue.

from pulseaudio-dlna.

masmu avatar masmu commented on July 19, 2024

It was a long way, but we found several bugs. Thanks for your patience 😄

from pulseaudio-dlna.

nobanzai avatar nobanzai commented on July 19, 2024

you're welcome :)

from pulseaudio-dlna.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.