FreeRDP / FreeRDP

FreeRDP is a free remote desktop protocol library and clients
http://www.freerdp.com/
Apache License 2.0
10.8k stars 14.74k forks source link

Sound & mic #6263

Closed relft closed 4 years ago

relft commented 4 years ago

Describe the bug Audio output is woking correclty on freerdp session and also on local linux, for example youtube video, sound and image. Problem is when you connect to freerdp and then sound is passed to mic, with for example jitsi conference sound from mic is bad with inside freerdp, but with local linux and same config works great, attached audio examples to see differences

Second problem is after a freerdpdp disconnection, when you reconnect to session sound is not working, until you close rdp session on server and login a new session, seems that after a disconnect a RDP session sound has disapperared and no recovered

freerdp session with /sound /mic really bad sound 2020_06_05_12_10_24ERROR_from_freerdp.zip

from local linux working great 2020_06_05_12_09_26ok_from_local_linux_without_freerdp.zip

To Reproduce Steps to reproduce the behavior: xfreerdp /buildconfig This is FreeRDP version 2.1.1 (n/a) Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_JOURNALD_H=TRUE HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=ON WITH_CAIRO=OFF WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CHANNELS_PRINT=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUNIT=OFF WITH_CUPS=ON WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DIRECTFB=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=ON WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=OFF WITH_GSSAPI=OFF WITH_GSTREAMER_0_10=OFF WITH_GSTREAMER_1_0=ON WITH_ICU=OFF WITH_IPP=OFF WITH_JPEG=ON WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=ON WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_NPP=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PCSC=ON WITH_PROFILER=OFF WITH_PULSE=ON WITH_SAMPLE=ON WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=OFF WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_SWSCALE=OFF WITH_THIRD_PARTY=OFF WITH_VAAPI=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=OFF WITH_WINPR_TOOLS=ON WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XV=ON WITH_ZLIB=ON WITH_x264=ON Build type: Release CFLAGS: -O2 -pipe -D_FORTIFY_SOURCE=2 -mno-tls-direct-seg-refs -fstack-protector-strong -march=x86-64 -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -DWINPR_DLL Compiler: GNU, 9.2.0 Target architecture: x64

with /sound /microphone

also tried with multiple other command line /sound:sys:pulse, alsa, oss, channel, latency /microphone:sys:alsa pulse... alsa, oss same results in side

Reproduced running youtube video and then openning jitsi, on other side that is receiving jitsi audio from youtube is very bad as I have attached on example, same jitsi conference from local linux computer works with clear sound

Also tried async-update and async-input and same results

Expected behavior 1 clear sound with mic conference

2 Recover sound after reconnect session recover sound

Screenshots no

Environment (please complete the following information):

I have tried multiple option reading other bugs from microphone but always failing

Attached logs with log-level:debug during 2 errors described log_sound.txt

thanks

akallabeth commented 4 years ago

@relft so let me get this straight:

  1. Sound is working for case 1
  2. Microphone is not ok for case 1 Is that about right? you might try /microphone:format:1 to force PCM (a known working codec) to rule out encoder issues

As for the reconnection:

  1. Is there no sound at all or do you have to restart the application?
  2. Is this for sound or microphone or both?
relft commented 4 years ago
Sound is working for case 1  --> correct, from linux distribution sound perfect, problem is when you then open freerdp and soud is from freerdp connection
Microphone is not ok for case 1 
Is that about right? you might try /microphone:format:1 to force PCM (a known working codec) to rule out encoder issues  --> tried with /microphone:format:1  but sound problems persist, atached example 

2020_06_08_12_13_03 before disconnect with pcm.zip

As for the reconnection:

Is there no sound at all or do you have to restart the application? No sound,  and in this example sound was from firefox, after close firefox and reopen, sound is recovered
Is this for sound or microphone or both? both

Attached logs at debug log-level, before and after disconnection (after disconnection closed firefox and then sound recovered)

log_before_disconnect.zip

log_after_disconnect.zip

Thanks

akallabeth commented 4 years ago

@relft ok, then I can tell 2 (the thing after closing and opening firefox) is not a bug (at least not ours). as for the microphone stuff, this sounds like the samples are off in speed? Could you try with alsa backend /microphone:sys:alsa,format:1 and check if that works better?

relft commented 4 years ago

tried with /microphone:sys:alsa,format:1 but same result, and same quality of sound attached logs

Missatge de akallabeth notifications@github.com del dia dl., 8 de juny 2020 a les 13:08:

@relft https://github.com/relft ok, then I can tell 2 (the thing after closing and opening firefox) is not a bug (at least not ours). as for the microphone stuff, this sounds like the samples are off in speed? Could you try with alsa backend /microphone:sys:alsa,format:1 and check if that works better?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/FreeRDP/FreeRDP/issues/6263#issuecomment-640536107, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL2SQZ4JZK5RK24P4KBTMO3RVTBCXANCNFSM4NTOQFAA . alsa_format1_log.zip

relft commented 4 years ago

some additional test:

bad sound, same reported on initial message of this issue and with buffer underruns xfreerdp /cert-ignore /sec:tls /v:server /sound /microphone /log-level:DEBUG log 235 wTimeStamp: 22990, size: 277 [15:56:55:171] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [15:56:55:171] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 28 ms [15:56:55:175] [16361:16371] [DEBUG][com.freerdp.channels.drdynvc.client] - write_data: ChannelId=14 size=1 [15:56:55:175] [16361:16371] [DEBUG][com.freerdp.channels.drdynvc.client] - write_data: ChannelId=14 size=284 [15:56:55:191] [16361:16373] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [15:56:55:191] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 236 wFormatNo: 3, align=4 [15:56:55:191] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 236 wTimeStamp: 23006, size: 283 [15:56:55:191] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [15:56:55:191] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 19 ms [15:56:55:192] [16361:16362] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [15:56:55:192] [16361:16362] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [15:56:55:201] [16361:16371] [DEBUG][com.freerdp.channels.drdynvc.client] - write_data: ChannelId=14 size=1 [15:56:55:201] [16361:16371] [DEBUG][com.freerdp.channels.drdynvc.client] - write_data: ChannelId=14 size=279 [15:56:55:213] [16361:16373] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [15:56:55:213] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 237 wFormatNo: 3, align=4 [15:56:55:213] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 237 wTimeStamp: 23021, size: 283 [15:56:55:213] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [15:56:55:213] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 21 ms [15:56:55:228] [16361:16371] [DEBUG][com.freerdp.channels.drdynvc.client] - write_data: ChannelId=14 size=1 [15:56:55:228] [16361:16371] [DEBUG][com.freerdp.channels.drdynvc.client] - write_data: ChannelId=14 size=273 [15:56:55:228] [16361:16362] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [15:56:55:229] [16361:16362] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [15:56:55:231] [16361:16373] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [15:56:55:231] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 238 wFormatNo: 3, align=4 [15:56:55:231] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 238 wTimeStamp: 23037, size: 275 [15:56:55:231] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [15:56:55:231] [16361:16372] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 17 ms ^C[15:56:55:241] [16361:16361] [INFO][com.freerdp.utils] - Caught signal 'Interrupt' [2]

2n test, no sound of mic buffer underrun xfreerdp /cert-ignore /sec:tls /v:server /sound /microphone:sys:alsa,format:1 /log-level:DEBUG

log buffer underrun [16:00:46:977] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 247 wFormatNo: 3, align=4 [16:00:46:977] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 247 wTimeStamp: 57179, size: 270 [16:00:46:977] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:00:46:977] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 18 ms [16:00:46:999] [16880:16891] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:00:46:999] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 248 wFormatNo: 3, align=4 [16:00:46:999] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 248 wTimeStamp: 57195, size: 261 [16:00:46:999] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:00:46:999] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 21 ms [16:00:46:010] [16880:16881] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:00:46:011] [16880:16881] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:00:46:027] [16880:16891] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:00:46:027] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 249 wFormatNo: 3, align=4 [16:00:46:027] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 249 wTimeStamp: 57226, size: 295 [16:00:46:027] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:00:46:027] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 27 ms [16:00:46:035] [16880:16881] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:00:46:036] [16880:16881] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:00:46:047] [16880:16891] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:00:46:047] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 250 wFormatNo: 3, align=4 [16:00:46:047] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 250 wTimeStamp: 57242, size: 287 [16:00:46:047] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:00:46:047] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 19 ms [16:00:46:066] [16880:16881] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:00:46:066] [16880:16881] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:00:46:067] [16880:16891] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:00:46:067] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 251 wFormatNo: 3, align=4 [16:00:46:068] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 251 wTimeStamp: 57273, size: 303 [16:00:46:068] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:00:46:068] [16880:16890] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 20 ms ^C[16:00:46:072] [16880:16880] [INFO][com.freerdp.utils] - Caught signal 'Interrupt' [2]

3test no dounf of mic buffer underrun xfreerdp /cert-ignore /sec:tls /v:server /sound /microphone:format:1 /log-level:DEBUG

log [16:03:05:815] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 20 ms [16:03:05:815] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:05:816] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:05:844] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:05:844] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 166 wFormatNo: 3, align=4 [16:03:05:844] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 166 wTimeStamp: 430, size: 256 [16:03:05:844] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:05:844] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 28 ms [16:03:05:846] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:05:846] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:865] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:06:865] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 167 wFormatNo: 3, align=4 [16:03:06:865] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 167 wTimeStamp: 446, size: 271 [16:03:06:865] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:06:865] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 20 ms [16:03:06:874] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:06:875] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 168 wFormatNo: 3, align=4 [16:03:06:875] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 168 wTimeStamp: 462, size: 521 [16:03:06:875] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:06:875] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer overrun pending 4294967287 ms dropping 2 ms [16:03:06:877] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:878] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:905] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:06:906] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 169 wFormatNo: 3, align=4 [16:03:06:906] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 169 wTimeStamp: 493, size: 473 [16:03:06:906] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:06:906] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 40 ms [16:03:06:908] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:909] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:925] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:06:925] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 170 wFormatNo: 3, align=4 [16:03:06:925] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 170 wTimeStamp: 509, size: 256 [16:03:06:925] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:06:925] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 17 ms [16:03:06:940] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:941] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:944] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:06:944] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 171 wFormatNo: 3, align=4 [16:03:06:945] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 171 wTimeStamp: 524, size: 249 [16:03:06:945] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:06:945] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 19 ms [16:03:06:971] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:971] [16944:16945] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker [16:03:06:974] [16944:16956] [DEBUG][com.freerdp.channels.drdynvc.client] - order_recv: Cmd=0x3, Sp=1 cbChId=0 [16:03:06:974] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave2PDU: cBlockNo: 172 wFormatNo: 3, align=4 [16:03:06:974] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Wave: cBlockNo: 172 wTimeStamp: 555, size: 262 [16:03:06:974] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - WAVE_FORMAT_AAC_MS: wFormatTag: 0xA106 nChannels: 2 nSamplesPerSec: 44100 nAvgBytesPerSec: 12000 nBlockAlign: 4 wBitsPerSample: 16 cbSize: 0 [16:03:06:974] [16944:16955] [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 28 ms

xfreerdp /buildconfig This is FreeRDP version 2.1.1 (n/a) Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_JOURNALD_H=TRUE HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=ON WITH_CAIRO=ON WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CHANNELS_PRINT=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUNIT=OFF WITH_CUPS=ON WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DIRECTFB=OFF WITH_DSP_EXPERIMENTAL=ON WITH_DSP_FFMPEG=ON WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=ON WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=ON WITH_GSSAPI=OFF WITH_GSTREAMER_0_10=ON WITH_GSTREAMER_1_0=ON WITH_ICU=OFF WITH_IPP=OFF WITH_JPEG=ON WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=ON WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_NPP=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PAM=ON WITH_PCSC=ON WITH_PROFILER=OFF WITH_PROXY=ON WITH_PROXY_MODULES=OFF WITH_PULSE=ON WITH_SAMPLE=ON WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SHADOW=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_SWSCALE=OFF WITH_THIRD_PARTY=OFF WITH_VAAPI=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=OFF WITH_WINPR_TOOLS=ON WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=ON WITH_XDAMAGE=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XTEST=ON WITH_XV=ON WITH_ZLIB=ON WITH_x264=ON Build type: Release CFLAGS: -O2 -pipe -D_FORTIFY_SOURCE=2 -mno-tls-direct-seg-refs -fstack-protector-strong -march=x86-64 -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -DWINPR_DLL Compiler: GNU, 9.2.0 Target architecture: x64

exact issue descrbied here https://github.com/FreeRDP/FreeRDP/issues/6043

what are buffer underruns messages like:? [DEBUG][com.freerdp.channels.rdpsnd.client] - [dynamic] Buffer underrun by 19 ms

how can be solved teses messages?

thanks

SnejPro commented 2 years ago

@relft ok, then I can tell 2 (the thing after closing and opening firefox) is not a bug (at least not ours). as for the microphone stuff, this sounds like the samples are off in speed? Could you try with alsa backend /microphone:sys:alsa,format:1 and check if that works better?

@akallabeth Is there anything to prevent the audio from breaking when reconnecting? Currently we have to reconnect, close our sip-client, reconnect, open it again

Having this issue von 2012R2, but not on 2022

SnejPro commented 2 years ago

@relft ok, then I can tell 2 (the thing after closing and opening firefox) is not a bug (at least not ours). as for the microphone stuff, this sounds like the samples are off in speed? Could you try with alsa backend /microphone:sys:alsa,format:1 and check if that works better?

@akallabeth Is there anything to prevent the audio from breaking when reconnecting? Currently we have to reconnect, close our sip-client, reconnect, open it again

Having this issue von 2012R2, but not on 2022

So i found a workaround for this:

Maybe i write a script, so my FreeRDP always switches between with and without this parameter. It would be better if FreeRDP could force the reinitalization every time i connect.

akallabeth commented 2 years ago

interesting find. but I´m reluctant adding such hacks because some servers do not like some connection parameters. (in the long run they will always cause more harm than they help)

SnejPro commented 2 years ago

@akallabeth I totally understand this, but maybe you could do it with an additional command line parameter? So it's only active when someone explicitly want it?

akallabeth commented 2 years ago

@SnejPro no, it is too specific. Just create a shell script doing the autoreconnect instead of freerdp with the command line magic.