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

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.



Tue, 19 Sep 2017 07:20:37 GMT - Antoine Martin: owner changed

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.


Wed, 01 Nov 2017 00:14:18 GMT - alas: owner changed

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.

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

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.

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)


Thu, 02 Nov 2017 18:24:29 GMT - Antoine Martin: owner changed

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?


Tue, 07 Nov 2017 00:48:26 GMT - alas: owner changed

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

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).

.. 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
...
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.)


Mon, 13 Nov 2017 13:43:24 GMT - Antoine Martin: owner changed

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:

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.


Sun, 22 Apr 2018 06:39:19 GMT - Antoine Martin: status changed; resolution set

See also #1775


Sat, 23 Jan 2021 05:30:04 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1649