Xpra: Ticket #1543: sound source stopping

Why do i get this?

xpra v2.0.2-r15657
Linux server 4.4.0-79-generic #100-Ubuntu SMP Wed May 17 19:58:14 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
....
'ximagesrc', 'xingmux', 'xvimagesink', 'y4mdec', 'y4menc', 'yadif', 'zbar', 'zebrastripe']
2017-06-12 01:58:47,700 sound source missing ['mp3parse'] from ('mp3parse ! mad', 'qtdemux')
2017-06-12 01:58:47,703 sound source missing ['faac'] from ('faac', 'mp4mux')
2017-06-12 01:58:47,703 sound source initialized sound codecs:
2017-06-12 01:58:47,704 sound source   - encoder/decoder       (de)payloader         stream-compressor
2017-06-12 01:58:47,704 sound source * opus+ogg :
2017-06-12 01:58:47,705 sound source   - opusenc               oggmux
2017-06-12 01:58:47,705 sound source   - opusdec               oggdemux
2017-06-12 01:58:47,707 sound source * vorbis+mka :
2017-06-12 01:58:47,707 sound source   - vorbisenc             webmmux
2017-06-12 01:58:47,707 sound source   - vorbisdec             matroskademux
2017-06-12 01:58:47,708 sound source * flac+ogg :
2017-06-12 01:58:47,708 sound source   - flacenc               oggmux
2017-06-12 01:58:47,708 sound source   - flacparse ! flacdec   oggdemux
2017-06-12 01:58:47,709 sound source * mp3 :
2017-06-12 01:58:47,710 sound source   - lamemp3enc
2017-06-12 01:58:47,711 sound source   - mpegaudioparse ! mad
2017-06-12 01:58:47,711 sound source * aac+mpeg4 :
2017-06-12 01:58:47,712 sound source   - avenc_aac             mp4mux
2017-06-12 01:58:47,712 sound source   - faad                  qtdemux
2017-06-12 01:58:47,712 sound source * wav+lz4 :
2017-06-12 01:58:47,713 sound source   - wavenc                                      lz4
2017-06-12 01:58:47,714 sound source   - wavparse                                    lz4
2017-06-12 01:58:47,714 sound source * wav+lzo :
2017-06-12 01:58:47,715 sound source   - wavenc                                      lzo
2017-06-12 01:58:47,716 sound source   - wavparse                                    lzo
2017-06-12 01:58:47,717 sound source * wav :
2017-06-12 01:58:47,717 sound source   - wavenc
2017-06-12 01:58:47,718 sound source   - wavparse
2017-06-12 01:58:47,718 sound source * wavpack :
2017-06-12 01:58:47,719 sound source   - wavpackenc
2017-06-12 01:58:47,719 sound source   - wavpackparse ! wavpackdec
2017-06-12 01:58:47,720 sound source * speex+ogg :
2017-06-12 01:58:47,720 sound source   - speexenc              oggmux
2017-06-12 01:58:47,721 sound source   - speexdec              oggdemux
2017-06-12 01:58:47,720 verify_started() process=<subprocess.Popen object at 0x7f6151eda0d0>, info={}, codec=unknown
2017-06-12 01:58:47,721 sound source * opus :
2017-06-12 01:58:47,721 Warning: the sound source process has failed to start
2017-06-12 01:58:47,721 sound source   - opusenc
2017-06-12 01:58:47,722 sound source   - opusparse ! opusdec
2017-06-12 01:58:47,722 cleanup() sending cleanup request to sound source
2017-06-12 01:58:47,722 sound source * flac+ogg :
2017-06-12 01:58:47,722 sound source   - flacenc               oggmux
2017-06-12 01:58:47,722 sound source   - flacparse ! flacdec   oggdemux
2017-06-12 01:58:47,723 sound source * opus+mka :
2017-06-12 01:58:47,723 sound source   - opusenc               webmmux
2017-06-12 01:58:47,723 sound source   - opusdec               matroskademux
2017-06-12 01:58:47,723 sound source * flac :
2017-06-12 01:58:47,724 sound source   - flacenc
2017-06-12 01:58:47,724 sound source   - flacparse ! flacdec
2017-06-12 01:58:47,724 sound source * mp3+mpeg4 :
2017-06-12 01:58:47,725 sound source   - lamemp3enc            mp4mux
2017-06-12 01:58:47,726 sound source   - mpegaudioparse ! mad  qtdemux
2017-06-12 01:58:47,733 sound source is_pa_installed() pactl_bin=/usr/bin/pactl
2017-06-12 01:58:47,735 sound source SoundSource(..) found matching codecs ['opus+ogg']
2017-06-12 01:58:47,794 sound source SoundPipeline.start() codec=opus+ogg
2017-06-12 01:58:47,795 sound source update_state(active)
2017-06-12 01:58:47,825 sound source SoundPipeline.start() done
2017-06-12 01:58:47,843 sound source update_state(ready)
2017-06-12 01:58:47,857 sound source update_state(paused)
2017-06-12 01:58:47,860 sound source update_state(active)
2017-06-12 01:58:47,870 sound source SoundPipeline.cleanup()
2017-06-12 01:58:47,870 sound source SoundPipeline.stop() state=active
2017-06-12 01:58:47,871 sound source stopping
2017-06-12 01:58:47,871 sound source update_state(stopped)
2017-06-12 01:58:47,876 sound source SoundPipeline.stop() done
2017-06-12 01:58:47,879 new_stream(source_subprocess_wrapper(31340), opus+ogg)
2017-06-12 01:58:47,877 sound source SoundPipeline.cleanup() bus=<Gst.Bus object at 0x7f3085879e10 (GstBus at 0x22b0310)>
2017-06-12 01:58:47,891 sound source SoundPipeline.cleanup() bus_message_handler_id=1
2017-06-12 01:58:47,892 sound source SoundPipeline.cleanup() done
2017-06-12 01:58:47,893 sound_control(sync, (0,))
2017-06-12 01:58:48,234 sound source cleanup() wrapped object=SoundSource('pulsesrc device="null.monitor" name="src" ! queue name=queue min-threshold-time=0 max-size-buffers=0 max-size-bytes=0 max-size-time=50000000000000 leaky=2 ! volume name=volume volume=1.0 ! opusenc complexity=0 ! oggmux max-delay=20000000 max-page-delay=20000000 ! appsink name=sink emit-signals=true max-buffers=10 drop=true sync=false async=false qos=false' - None)
2017-06-12 01:58:48,236 sound source SoundPipeline.cleanup()
2017-06-12 01:58:48,238 sound source SoundPipeline.cleanup() bus=None
2017-06-12 01:58:48,240 sound source cleanup() wrapped object=None
2017-06-12 01:58:48,241 sound source cleanup() wrapped object=None
2017-06-12 01:58:48,245 sound_source_exit(source_subprocess_wrapper(31340), ())
2017-06-12 01:58:48,246 stop_sending_sound() sound_source=source_subprocess_wrapper(31340)
2017-06-12 01:58:48,247 cleanup() sending cleanup request to sound source
2017-06-12 01:58:48,255 sound_control(new-sequence, (1,))
2017-06-12 01:58:48,256 sound_source_exit(source_subprocess_wrapper(None), ())


Mon, 12 Jun 2017 00:12:58 GMT - DocMAX: component changed


Mon, 12 Jun 2017 07:53:24 GMT - Antoine Martin: owner, component, description, milestone changed; keywords set

Please include the command lines that you used. Does it help if you use a different audio codec? (see xpra attach --speaker-codec=help)


Mon, 12 Jun 2017 13:50:56 GMT - DocMAX:

server:

xpra start :101 --daemon=no

client (windows, linux):

xpra attach ssh:docmax:password@server:101

everything else left to default (xpra.conf/d from ubuntu package)

the server is running virtual and has no physical audio device (is this a problem?)

edit: i tried all audio codec, same result


Mon, 12 Jun 2017 19:03:37 GMT - DocMAX:

No issues in arch linux.

xpra v2.0.2-r15657

Linux arch 4.11.3-1-ARCH #1 SMP PREEMPT Sun May 28 10:40:17 CEST 2017 x86_64 GNU/Linux

GStreamer 1.12.0 (Ubuntu has GStreamer 1.8.3)


Mon, 12 Jun 2017 20:21:24 GMT - Antoine Martin:

Looking at your output, I see:

2017-06-12 01:58:47,721 sound source   - speexdec              oggdemux
2017-06-12 01:58:47,720 verify_started() process=<subprocess.Popen object at 0x7f6151eda0d0>, info={}, codec=unknown
2017-06-12 01:58:47,721 sound source * opus :
2017-06-12 01:58:47,721 Warning: the sound source process has failed to start
2017-06-12 01:58:47,721 sound source   - opusenc

So the timeout fires whilst the sound source process is just starting up. Is this a really slow / low-power system?

You may be able to get it working with:

XPRA_SOUND_START_TIMEOUT=20000 xpra start ...

This will allow 20 seconds before checking for sound source startup timeout. Note however that sound will be out-of-sync and unreliable on a system that is too slow to startup within a resonable amount of time.


Mon, 12 Jun 2017 20:55:41 GMT - DocMAX: status changed; resolution set

XPRA_SOUND_START_TIMEOUT=20000 did it! And i spend so many hours :-(

Yes indeed, the system is slow and low-power. But it works now. The sound sync is acceptable.

Thank you!!!


Sat, 23 Jan 2021 05:27:11 GMT - migration script:

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