xpra icon
Bug tracker and wiki

Opened 2 months ago

Last modified 5 days ago

#1649 new defect

Seeing 'ERROR: Pipeline doesn't want to pause.' message (and sound start failures) when trying to start sound in browser tabs.

Reported by: alas Owned by: alas
Priority: major Milestone: 2.2
Component: server Version: trunk
Keywords: Cc:

Description

Launching a 2.2 r16911 fedora 25 server (xterm and firefox start-childs) and connecting with 2.2 r16869 win64 client.

When I started a sound tab in the firefox start-child, the sound didn't start (had to use the menu to manually start, which worked).

Initial server output (no logging enabled) showed:

2017-09-18 15:47:07,950 using pulseaudio device:
2017-09-18 15:47:07,950  'Monitor of Xpra Speaker'
2017-09-18 15:47:08,761 the remote printer 'KONICA MINOLTA C200 PS(P)' has been configured
2017-09-18 15:47:08,762 the remote printer 'Send To OneNote 2010' has been configured
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory
2017-09-18 15:47:09,372 sound source using audio codec opus
2017-09-18 15:47:10,972 Warning: the sound source process has failed to start
2017-09-18 15:47:10,974 sound source stopping
2017-09-18 15:49:18,855 using pulseaudio device:
2017-09-18 15:49:18,856  'Monitor of Xpra Speaker'
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory
2017-09-18 15:49:19,916 sound source using audio codec opus
/usr/lib64/python2.7/site-packages/xpra/server/window/window_source.py:899: Warning: Source ID 20574 was not found when attempting to remove it
  self.source_remove(mst)

Disconnecting then reconnecting the client, the sound did initialize client-side (left the same firefox tab running), and there was less output.

ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory
2017-09-18 15:57:42,180 sound source using audio codec opus

Connecting the client again with -d sound, I see:

2017-09-18 16:01:15,753 client 3: pulseaudio id=None, server=None, sound decoders=opus+ogg, vorbis+mka, mp3, flac+ogg, wav+lz4, wav+lzo, wav, wavpack, speex+ogg, opus+mka, flac, mp3+mpeg4, sound encoders=opus, opus+ogg, vorbis+mka, mp3, flac+ogg, wav+lz4, wav+lzo, wav, wavpack, speex+ogg, opus+mka, flac, mp3+mpeg4, receive=True, send=True
2017-09-18 16:01:15,759 client 3: start_receiving_sound() sound sink=None
2017-09-18 16:01:15,760 client 3: get_matching_codecs(['opus', 'opus+ogg', 'vorbis+mka', 'vorbis+ogg', 'vorbis', 'mp3', 'flac+ogg', 'aac+mpeg4', 'wav+lz4', 'wav+lzo', 'wav', 'wavpack', 'speex+ogg', 'vorbis', 'opus+mka', 'flac'], ['opus', 'opus+ogg', 'vorbis+mka', 'mp3', 'flac+ogg', 'wav+lz4', 'wav+lzo', 'wav', 'wavpack', 'speex+ogg', 'opus+mka', 'flac', 'mp3+mpeg4'])=['opus', 'opus+ogg', 'vorbis+mka', 'mp3', 'flac+ogg', 'wav+lz4', 'wav+lzo', 'wav', 'wavpack', 'speex+ogg', 'opus+mka', 'flac']
2017-09-18 16:01:15,761 client 3: start_receiving_sound() matching codecs: opus, opus+ogg, vorbis+mka, mp3, flac+ogg, wav+lz4, wav+lzo, wav, wavpack, speex+ogg, opus+mka, flac
2017-09-18 16:01:15,761 client 3: start_sound_sink(opus)
2017-09-18 16:01:15,761 client 3: starting opus sound sink
2017-09-18 16:01:15,761 client 3: start_receiving_sound(opus)
2017-09-18 16:01:15,765 client 3: start() sound output subprocess([u'C:/Program Files/Xpra\\Xpra_Audio.exe', '_sound_play', '-', '-', '', '', 'opus', '', '1.0', '-d', 'sound'])=10624
2017-09-18 16:01:15,765 client 3: opus sound sink started
2017-09-18 16:01:15,765 client 3: start_receiving_sound() done, speaker_enabled=True
2017-09-18 16:01:15,765 client 3: Attached to tcp:10.0.32.138 (press Control-C to detach)
2017-09-18 16:01:16,118 client 3: sound_sink_state_changed(sink_subprocess_wrapper(10624), ready) on_sink_ready=<function sink_ready at 0x000000003029c230>
2017-09-18 16:01:16,120 client 3: sink_ready(()) codec=opus (server codec name=opus)
2017-09-18 16:01:16,172 using pulseaudio device:
2017-09-18 16:01:16,173  'Monitor of Xpra Speaker'
2017-09-18 16:01:16,249 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 450, 'pct': 0, 'overruns': 0, 'state': 'running', 'underruns': 0}, 'state': 'ready', 'codec': 'opus', 'pipeline': 'appsrc name=src emit-signals=0 block=0 is-live=0 stream-type=0 format=4 ! opusparse ! opusdec ! audioconvert ! audioresample ! queue name=queue min-threshold-time=0 max-size-buffers=0 max-size-bytes=0 max-size-time=450000000 leaky=2 ! volume name=volume volume=0 ! directsoundsink async=True qos=True sync=False'}
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory
2017-09-18 16:01:16,823 client 3: sound_sink_state_changed(sink_subprocess_wrapper(10624), paused) on_sink_ready=None
2017-09-18 16:01:16,826 client 3: sound_sink_state_changed(sink_subprocess_wrapper(10624), active) on_sink_ready=None
2017-09-18 16:01:16,829 the remote printer 'KONICA MINOLTA C200 PS(P)' has been configured
2017-09-18 16:01:16,859 the remote printer 'Send To OneNote 2010' has been configured
2017-09-18 16:01:17,018 client 3: info_update: {'codec_description': 'opus', 'queue': {'cur': 0, 'min': 0, 'max': 450, 'pct': 0, 'overruns': 0, 'state': 'running', 'underruns': 0}, 'state': 'active', 'bytes': 1760, 'buffer_count': 11}
2017-09-18 16:01:17,199 sound source using audio codec opus
2017-09-18 16:01:17,250 client 3: info_update: {'codec_description': 'opus', 'queue': {'cur': 0, 'min': 0, 'max': 250, 'pct': 0, 'overruns': 0, 'state': 'running', 'underruns': 0}, 'bytes': 3680, 'buffer_count': 23}
2017-09-18 16:01:17,478 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 250, 'pct': 0, 'overruns': 0, 'state': 'running', 'underruns': 0}, 'bytes': 5280, 'buffer_count': 33}
2017-09-18 16:01:17,680 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 250, 'pct': 0, 'overruns': 0, 'state': 'running', 'underruns': 0}, 'bytes': 7040, 'buffer_count': 44}
2017-09-18 16:01:17,888 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 250, 'pct': 0, 'overruns': 0, 'state': 'running', 'underruns': 0}, 'bytes': 8800, 'buffer_count': 55}
2017-09-18 16:01:18,109 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 150, 'pct': 0, 'overruns': 0, 'state': 'underrun', 'underruns': 0}, 'bytes': 10240, 'buffer_count': 64}
2017-09-18 16:01:18,319 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 150, 'pct': 0, 'overruns': 0, 'state': 'underrun', 'underruns': 0}, 'bytes': 12000, 'buffer_count': 75}
2017-09-18 16:01:18,539 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 150, 'pct': 0, 'overruns': 0, 'state': 'underrun', 'underruns': 0}, 'bytes': 13600, 'buffer_count': 85}
2017-09-18 16:01:18,740 client 3: info_update: {'queue': {'cur': 0, 'min': 0, 'max': 150, 'pct': 0, 'overruns': 0, 'state': 'underrun', 'underruns': 0}, 'bytes': 15200, 'buffer_count': 95}
2017-09-18 16:01:18,762 client 3: verify_started() process=<subprocess.Popen object at 0x000000001ff86a90>, info={'pipeline': 'appsrc name=src emit-signals=0 block=0 is-live=0 stream-type=0 format=4 ! opusparse ! opusdec ! audioconvert ! audioresample ! queue name=queue min-threshold-time=0 max-size-buffers=0 max-size-bytes=0 max-size-time=450000000 leaky=2 ! volume name=volume volume=0 ! directsoundsink async=True qos=True sync=False', 'codec_description': 'opus', 'bytes': 15200, 'pid': 10624, 'queue': {'cur': 0, 'min': 0, 'max': 150, 'pct': 0, 'overruns': 0, 'state': 'underrun', 'underruns': 0}, 'state': 'active', 'codec': 'opus', 'time': 366792, 'buffer_count': 95}, codec=opus
...

Shutting down the server then restarting (a couple of times), and reconnecting the client in each case with -d sound, I got the same... and in none of the restarts did the sound fail to start.

Change History (5)

comment:1 Changed 2 months ago by Antoine Martin

Owner: changed from Antoine Martin to alas

These warnings are not from xpra:

ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory

You can make that clearer by running your app from an xterm, the log output will show up there.
And we don't use alsasink on the server unless you enable microphone forwarding and also change the default sink configuration (unlikely).

Maybe your app is using a hard-coded device name of "default"? Do you even need to specify a device?
This was changed for 2.1 in #1141.
The actual device name to use can be found in these environment variables which are exposed to all client applications (start=, start-child=, etc):

$ env | grep XPRA_PULSE
XPRA_PULSE_SOURCE_DEVICE_NAME=Xpra-Speaker
XPRA_PULSE_SINK_DEVICE_NAME=Xpra-Microphone

So you could use those values and fallback to "default" if you wish.

comment:2 Changed 2 weeks ago by alas

Owner: changed from alas to Antoine Martin

Retesting (finally) with 2.2 r17270 fedora 25 server... I get the same env | grep XPRA_PULSE results that you indicate.

I do still see the not-xpra errors though.

I'm also now finding that the legacy: wav sound is only lasting about 1-3 seconds before dropping.

Using firefox 55 on OSX 10.12 for an html5 client.

Going through all the options.

  • When I try the http stream: mp3, I get no sound.

Server logs have

2017-10-31 15:47:12,001 sound source stopping
2017-10-31 15:47:12,570 client 1: invalid audio codec 'unknown' (expected mp3), stopping audio stream

Console logs:

XpraClient.prototype.error http://10.0.32.138:14500/js/Client.js:170:2
	XpraClient.prototype._process_sound_data http://10.0.32.138:14500/js/Client.js:2105:3
	XpraClient.prototype._route_packet http://10.0.32.138:14500/js/Client.js:495:3
	XpraProtocolWorkerHost.prototype.open/< http://10.0.32.138:14500/js/Protocol.js:46:6
Invalid URI. Load of media resource  failed.  index.html
  • Legacy: wav - palys sound for 1 to 3 seconds (or so), then drops.

Most of the server logs are those not-xpra bits mentioned above.

ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory
2017-10-31 15:51:02,465 client 2: audio start of aurora wav stream
2017-10-31 15:51:02,713 sound source using audio codec wav

... with no new messages when the sound stops. There is likewise nothing in the Console logs when the sound stops.

  • All other codecs output the same, apparently all trying to use mpeg4: mp3.

Server logs.

RROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory
2017-10-31 15:52:33,197 sound source using audio codec mp3
2017-10-31 15:52:33,563 sound source using container format iso fmp4
2017-10-31 15:52:34,013 client 3: audio start of mediasource mp3+mpeg4 stream

Got one additional line when repeating, to be sure I wasn’t totally crazy.
2017-10-31 15:55:19,254 sound source using container format iso fmp4

And in the Console(s).

using audio codec string for mp3+mpeg4: audio/mp4; codecs="mp3"  Client.js:180:2
audio: requesting mp3+mpeg4 stream from the server  Client.js:180:2
startup complete  Client.js:180:2
server connection is OK  Client.js:851:4
audio start of mediasource mp3+mpeg4 stream  Client.js:180:2
audio play!

Again... no sound with any of those remaining codecs.

Tried checking the Debugging box of the connect.html page, but I couldn't spot anything other than do_paint and 'received a draw packet' logs... and had to kill the server to sort through those because connections from another client (with the debugging on) triggered the client to 're-connect' and steal the server back... and continue streaming logs.

I'll pass this to you to decide if it should be looked at before or after the firefox clipboard issues (#1461)

comment:3 Changed 2 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to alas

I do still see the not-xpra errors though.

Did you figure out where they come from?
What is your server command line?
Did you try starting your application from an xterm?

I'm also now finding that the legacy: wav sound is only lasting about 1-3 seconds before dropping.

Works ok here.. Firefox 56, OSX 10.12, javascript console shows nothing after audio start of aurora wav stream and the speaker icon remains on the tab.

When I try the http stream: mp3, I get no sound.

I get:

client 44: got hello: server version 2.2 accepted our connection
client 44: audio codecs supported by the server: opus,opus,vorbis+mka,vorbis+ogg,vorbis,mp3,flac,aac+mpeg4,wav+lz4,wav+lzo,wav,wavpack,speex,vorbis,opus+mka,flac,mp3+mpeg4
client 44: starting http stream from http://192.168.1.7:10000/audio.mp3?uuid=8931c40c-ca56-6ebc-0479-0f73e83d8208
client 44: startup complete

You should be seeing the starting http stream message.
And similar messages in the client's javascript console.

Are these problems restricted to Firefox? To macos?

comment:4 Changed 11 days ago by alas

Owner: changed from alas to Antoine Martin
  • Launching the server (2.2 r17270 fedora 25) with:
     xpra --no-daemon --bind-tcp=0.0.0.0: --start-child=xterm --start-child=firefox start :13 --html=on
    

Server side, I'm seeing all the messages you're mentioning except the one you specified.

  • mpeg4: mp3
    2017-11-06 16:09:21,746 client 8: got hello: server version 2.2 accepted our connection
    2017-11-06 16:09:21,763 client 8: audio codecs supported by the server: opus,opus,vorbis+mka,mp3,flac,wav+lz4,wav+lzo,wav,wavpack,speex,opus+mka,flac,mp3+mpeg4
    2017-11-06 16:09:21,833 the remote printer 'HTML5 client' has been configured
    2017-11-06 16:09:21,870 client 8: audio media source open
    2017-11-06 16:09:21,870 client 8: using audio codec string for mp3+mpeg4: audio/mp4; codecs="mp3"
    2017-11-06 16:09:21,870 client 8: audio: requesting mp3+mpeg4 stream from the server
    2017-11-06 16:09:21,870 client 8: startup complete
    2017-11-06 16:09:21,920 using pulseaudio device:
    2017-11-06 16:09:21,920  'Monitor of Xpra Speaker'
    ERROR: Pipeline doesn't want to pause.
    ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
    Additional debug info:
    gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
    Playback open error on device 'default': No such file or directory
    2017-11-06 16:09:22,641 client 8: audio start of mediasource mp3+mpeg4 stream
    2017-11-06 16:09:23,062 sound source using audio codec mp3
    2017-11-06 16:09:23,436 sound source using container format iso fmp4
    

In the client console logs, I'm seeing the following.

audio paused= false , queue size= 3 , source ready= true , source buffer updating= true  Client.js:184:3
received a draw packet  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 1  Window.js:203:3
do_paint( 13827  bytes of   jpeg  data  640 x 360  at  3 , 151 ) focused= true  Window.js:203:3
received a sound-data packet  Client.js:184:3
sound-data:  mp3+mpeg4 ,  156 bytes  Client.js:184:3
audio metadata= Array [ "

... with a lot of stuff that a clipboard won't copy and console logs display as 'gibberish boxes' (?). (Though the gibberish array ends with , length= 80 , type= [object String].)

Ran this test with Firefox 56 on Windows 7. And no, got no sound (then shared the session over to a python client and confirmed that I don't just have broken sound in general).

  • legacy: wav, I get something very similar.
    2017-11-06 16:26:39,839 client 2: got hello: server version 2.2 accepted our connection
    2017-11-06 16:26:39,855 client 2: audio codecs supported by the server: opus,opus,vorbis+mka,mp3,flac,wav+lz4,wav+lzo,wav,wavpack,speex,opus+mka,flac,mp3+mpeg4
    2017-11-06 16:26:39,855 client 2: audio: requesting wav stream from the server
    2017-11-06 16:26:39,894 using pulseaudio device:
    2017-11-06 16:26:39,894  'Monitor of Xpra Speaker'
    2017-11-06 16:26:39,913 the remote printer 'HTML5 client' has been configured
    2017-11-06 16:26:40,106 client 2: startup complete
    ERROR: Pipeline doesn't want to pause.
    ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
    Additional debug info:
    gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
    Playback open error on device 'default': No such file or directory
    2017-11-06 16:26:40,852 sound source using audio codec wav
    2017-11-06 16:26:41,691 client 2: audio start of aurora wav stream
    

.. and I hear a bit of sound, but it seems to drop shortly after the first draw packets arrive (give or take).

The console logs continue to suggest that packets are arriving though.

may_paint_now() paint pending= 0 , paint queue length= 1  Window.js:203:3
do_paint( 25142  bytes of   jpeg  data  640 x 360  at  3 , 151 ) focused= true  Window.js:203:3
received a sound-data packet  Client.js:184:3
sound-data:  wav ,  1764 bytes  Client.js:184:3
received a sound-data packet  Client.js:184:3
sound-data:  wav ,  1764 bytes  Client.js:184:3
request_redraw for Object { debug: true, client: Object, log: XpraWindow/this.log(), warn: XpraWindow/this.warn(), error: XpraWindow/this.error(), canvas: <canvas>, canvas_ctx: CanvasRenderingContext2D, offscreen_canvas: <canvas>, offscreen_canvas_ctx: CanvasRenderingContext2D, draw_canvas: <canvas>, 41 more… }  Client.js:184:3
decode time for  jpeg  sequence  960 :  30 , flush= 0  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 0  Window.js:203:3
received a sound-data packet  Client.js:184:3
sound-data:  wav ,  1764 bytes  Client.js:184:3
received a sound-data packet  Client.js:184:3
sound-data:  wav ,  1764 bytes
...
  • I do see the expected output with the http stream: mp3, but I still get no sound.
2017-11-06 16:33:42,856 client 4: got hello: server version 2.2 accepted our connection
2017-11-06 16:33:42,893 client 4: audio codecs supported by the server: opus,opus,vorbis+mka,mp3,flac,wav+lz4,wav+lzo,wav,wavpack,speex,opus+mka,flac,mp3+mpeg4
2017-11-06 16:33:42,915 client 4: starting http stream from http://10.0.32.138:14500/audio.mp3?uuid=9a9bb7df-f392-c891-8efb-979199fef05d
2017-11-06 16:33:42,970 the remote printer 'HTML5 client' has been configured
2017-11-06 16:33:43,005 client 4: startup complete
2017-11-06 16:33:43,219 using pulseaudio device:
2017-11-06 16:33:43,220  'Monitor of Xpra Speaker'
2017-11-06 16:33:44,198 sound source using audio codec mp3

Console logs (even with the debugging box checked on connect.html) doesn't show any indication of receiving sound packets with the http stream: mp3 though.

animation frame: 1 windows to paint  Client.js:184:3
request_redraw for Object { debug: true, client: Object, log: XpraWindow/this.log(), warn: XpraWindow/this.warn(), error: XpraWindow/this.error(), canvas: <canvas>, canvas_ctx: CanvasRenderingContext2D, offscreen_canvas: <canvas>, offscreen_canvas_ctx: CanvasRenderingContext2D, draw_canvas: <canvas>, 41 more… }  Client.js:184:3
decode time for  png  sequence  466 :  118 , flush= 0  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 0  Window.js:203:3
animation frame: 1 windows to paint  Client.js:184:3
received a draw packet  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 1  Window.js:203:3
do_paint( 286448  bytes of   png  data  640 x 360  at  3 , 151 ) focused= true  Window.js:203:3
request_redraw for Object { debug: true, client: Object, log: XpraWindow/this.log(), warn: XpraWindow/this.warn(), error: XpraWindow/this.error(), canvas: <canvas>, canvas_ctx: CanvasRenderingContext2D, offscreen_canvas: <canvas>, offscreen_canvas_ctx: CanvasRenderingContext2D, draw_canvas: <canvas>, 41 more… }  Client.js:184:3
decode time for  png  sequence  467 :  77 , flush= 0  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 0  Window.js:203:3
animation frame: 1 windows to paint  Client.js:184:3
received a draw packet  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 1  Window.js:203:3
do_paint( 287208  bytes of   png  data  640 x 360  at  3 , 151 ) focused= true  Window.js:203:3
request_redraw for Object { debug: true, client: Object, log: XpraWindow/this.log(), warn: XpraWindow/this.warn(), error: XpraWindow/this.error(), canvas: <canvas>, canvas_ctx: CanvasRenderingContext2D, offscreen_canvas: <canvas>, offscreen_canvas_ctx: CanvasRenderingContext2D, draw_canvas: <canvas>, 41 more… }  Client.js:184:3
decode time for  png  sequence  468 :  64 , flush= 0  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 0  Window.js:203:3
received a draw packet  Client.js:184:3
may_paint_now() paint pending= 0 , paint queue length= 1  Window.js:203:3
do_paint( 285633  bytes of   png  data  640 x 360  at  3 , 151 ) focused= true
...

Interestingly though, when I shared the session back to the python client (OSX 10.12, 2.2 r16657) I am actually seeing the not-xpra warning as well, but the sound is working fine.

2017-11-06 16:34:23,162  new client (the new client does not wish to share)
2017-11-06 16:34:23,185 xpra client 4 disconnected.
2017-11-06 16:34:23,190 Python/Gtk2 Mac OS X 10.12.6 client version 2.2-r16657 64-bit
2017-11-06 16:34:23,190  connected from 'Max-Trashcan.local' as 'maint'
2017-11-06 16:34:23,191  automatic picture encoding enabled, also available:
2017-11-06 16:34:23,191   h264, vp9, vp8, png, png/P, png/L, rgb24, jpeg, rgb32
2017-11-06 16:34:23,191 sound source stopping
2017-11-06 16:34:23,197  client root window size is 4352x1728 with 1 display:
2017-11-06 16:34:23,197   max-trashcan.local (1919x762 mm - DPI: 57x57)
2017-11-06 16:34:23,197     monitor 1 3072x1728 at 1280x0 (1354x762 mm - DPI: 57x57) workarea: 3072x1710 at 0x18
2017-11-06 16:34:23,197     monitor 2 1280x720 at 0x1008 (564x317 mm - DPI: 57x57) workarea: 1280x648 at 0x18
2017-11-06 16:34:23,282 server virtual display now set to 4352x2048 (best match for 4352x1728)
2017-11-06 16:34:23,310 setting keyboard layout to 'us'
2017-11-06 16:34:23,421 DPI set to 58 x 58
2017-11-06 16:34:23,480 client 5: Attached to tcp:10.0.32.138 (press Control-C to detach)
2017-11-06 16:34:23,948 using pulseaudio device:
2017-11-06 16:34:23,948  'Monitor of Xpra Speaker'
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not open audio device for playback.
Additional debug info:
gstalsasink.c(863): gst_alsasink_open (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Playback open error on device 'default': No such file or directory

In fact, I'm getting that error even with only an xterm start-child (upon connection with a python client).

I suppose that means that the ticket can be closed and all the Firefox html5 sound issues are not at all related?

I'll pass this to you to think whether we should just open another ticket about Firefox sound, or just edit the Summary? (Sloppy, but most of the ticket has been output from Firefox sound ... mostly most anyway.)

comment:5 Changed 5 days ago by Antoine Martin

Owner: changed from Antoine Martin to alas

xpra --no-daemon --bind-tcp=0.0.0.0: --start-child=xterm --start-child=firefox start :13 --html=on

As per comment:1 and comment:3, start your application (ie: Firefox) from an xterm and the alsasink messages will go to the xterm instead of the xpra server log. Those are not from xpra.
And BTW, why does the ticket title mention "tabs"? Is this relevant?

Server side, I'm seeing all the messages you're mentioning except the one you specified.

Which one? The exact messages depend on which codec is selected.

Console logs (even with the debugging box checked on connect.html) doesn't show any indication of receiving sound packets with the http stream: mp3 though.

It shows up fine here.
(reminder: this one is only meant as a last resort for IE which is retarded and can't handle anything else..)

I'm also now finding that the legacy: wav sound is only lasting about 1-3 seconds before dropping.

Works fine here. If there isn't enough bandwidth, I would expect the browser to try to buffer again before resuming. There might be some messages in the javascript console output if you enable debug. (as you have noticed, there is no debug filtering at the moment: #1685)

My own testing:

  • win7 64-bit connected via 100Mbps LAN: tested Firefox 56.0.2 and chrome 62.0: every single codec option works as expected: aac+mpeg4, mp3+mpeg4, opus+mka, vorbis+mka, wav (legacy), mp3 http stream
  • mac mini connected over 802.11n: tested Firefox 56.0.2, Chrome 61 and Chrome 62: apart from opus which needed blacklisting (done in r17415), all the codecs worked: mp3 (only available with Chrome), aac+mpeg4 and opus+mka (only Firefox), vorbis+mka, wav (legacy) and the mp3 http stream

If there is still a problem, I don't know where..

r17416 also fixes a small bug which allowed blacklisted options to be shown in the codec options, it only occurred if you navigated back to the connect page from the client.

Note: See TracTickets for help on using tickets.