pierr3 / VectorAudio

An Audio-For-VATSIM ATC Client for macOS, Linux and Windows
GNU General Public License v3.0
48 stars 11 forks source link

stderr/stdout contains many "ContinuePoll: Stopping poll for playback" and audio related entries #17

Closed jonaseberle closed 2 years ago

jonaseberle commented 2 years ago

Hey, I've just had a longer session and it went beautifully! Some more and I'll be confident enough with the audio to also book stations :)

Just at the very beginning I was not able to receive/send voice. But since I was already connected and pilots where waiting I restarted VectorAudio, reconnected and haven't had a closer look what might have caused it. Sorry! From there on I had stable and beautiful voice, including monitoring surrounding frequencies. Absolutely fantastic! Thank you!

I prefer to start ./vector_audio from the console (actually sometimes with gdb debugger). I always build from current main.

The console output contains just too many lines in my opinion. The extreme was shown during my first sessions: I always had problems after some time running ./vector_audio until I found out that my /tmp tmpfs has grown to the point where it was full (by default it is half of the RAM, so 8 GB in my case). I looked at the code and couldn't find anything related to it. Then I realized that my terminal was set to have an unlimited scrolling buffer and that it used /tmp... After setting that to max. 100.000 lines I haven't had that problem any more.

Types of log messages

ContinuePoll

During normal controlling, I have a lot of:

ContinuePoll: Stopping poll for playback

Audio device detection

When opening the audio settings and opening any of the dropdown boxes image it gets absolutely insane and is constantly outputting a huge stream of text (like several MB/s). Here's a sample:

ALSA version (build): 1.2.6.1
ALSA version (runtime): 1.2.6.1
BuildDeviceList: Found device [0]: HDA Intel PCH: CX20753/4 Analog (hw:0,0)
BuildDeviceList: Found device [1]: HDA Intel PCH: HDMI 0 (hw:0,3)
BuildDeviceList: Found device [2]: HDA Intel PCH: HDMI 1 (hw:0,7)
BuildDeviceList: Found device [3]: HDA Intel PCH: HDMI 2 (hw:0,8)
BuildDeviceList: Found device [4]: HDA Intel PCH: HDMI 3 (hw:0,9)
BuildDeviceList: Found device [5]: HDA Intel PCH: HDMI 4 (hw:0,10)
BuildDeviceList: Found device [6]: X-USB: USB Audio (hw:1,0)
BuildDeviceList: Ignoring ALSA plugin device [hw] of type [hw]
BuildDeviceList: Ignoring ALSA plugin device [plughw] of type [plug]
BuildDeviceList: Ignoring ALSA plugin device [plug] of type [plug]
BuildDeviceList: Ignoring ALSA plugin device [shm] of type [shm]
BuildDeviceList: Ignoring ALSA plugin device [tee] of type [file]
BuildDeviceList: Ignoring ALSA plugin device [file] of type [file]
BuildDeviceList: Ignoring ALSA plugin device [null] of type [null]
BuildDeviceList: Ignoring ALSA plugin device [cards] of type [unknown]
BuildDeviceList: Found plugin [sysdefault] of type [unknown]
BuildDeviceList: Found plugin [front] of type [unknown]
BuildDeviceList: Found plugin [rear] of type [unknown]
BuildDeviceList: Found plugin [center_lfe] of type [unknown]
BuildDeviceList: Found plugin [side] of type [unknown]
BuildDeviceList: Found plugin [surround21] of type [unknown]
BuildDeviceList: Found plugin [surround40] of type [unknown]
BuildDeviceList: Found plugin [surround41] of type [unknown]
BuildDeviceList: Found plugin [surround50] of type [unknown]
BuildDeviceList: Found plugin [surround51] of type [unknown]
BuildDeviceList: Found plugin [surround71] of type [unknown]
BuildDeviceList: Found plugin [iec958] of type [unknown]
BuildDeviceList: Found plugin [spdif] of type [unknown]
BuildDeviceList: Found plugin [hdmi] of type [unknown]
BuildDeviceList: Found plugin [dmix] of type [unknown]
BuildDeviceList: Ignoring ALSA plugin device [dsnoop] of type [unknown]
BuildDeviceList: Found plugin [modem] of type [unknown]
BuildDeviceList: Found plugin [phoneline] of type [unknown]
BuildDeviceList: Found plugin [lavrate] of type [rate]
BuildDeviceList: Found plugin [samplerate] of type [rate]
BuildDeviceList: Found plugin [speexrate] of type [rate]
BuildDeviceList: Found plugin [jack] of type [jack]
BuildDeviceList: Found plugin [oss] of type [oss]
BuildDeviceList: Found plugin [pipewire] of type [pipewire]
BuildDeviceList: Found plugin [pulse] of type [pulse]
BuildDeviceList: Found plugin [a52] of type [a52]
BuildDeviceList: Found plugin [speex] of type [speex]
BuildDeviceList: Found plugin [upmix] of type [upmix]
BuildDeviceList: Found plugin [vdownmix] of type [vdownmix]
BuildDeviceList: Found plugin [usbstream] of type [usb_stream]
BuildDeviceList: Found plugin [default] of type [pulse]
BuildDeviceList: Filling device info for 37 devices
FillInDevInfo: Filling device info for: HDA Intel PCH: CX20753/4 Analog (hw:0,0)
GropeDevice: collecting info ..
GropeDevice: collecting info ..
Default input device: HDA Intel PCH: CX20753/4 Analog (hw:0,0)
Default output device: HDA Intel PCH: CX20753/4 Analog (hw:0,0)
FillInDevInfo: Adding device HDA Intel PCH: CX20753/4 Analog (hw:0,0): 0
FillInDevInfo: Filling device info for: HDA Intel PCH: HDMI 0 (hw:0,3)
GropeDevice: collecting info ..
FillInDevInfo: Adding device HDA Intel PCH: HDMI 0 (hw:0,3): 1
FillInDevInfo: Filling device info for: HDA Intel PCH: HDMI 1 (hw:0,7)
GropeDevice: collecting info ..
FillInDevInfo: Adding device HDA Intel PCH: HDMI 1 (hw:0,7): 2
FillInDevInfo: Filling device info for: HDA Intel PCH: HDMI 2 (hw:0,8)
GropeDevice: collecting info ..
FillInDevInfo: Adding device HDA Intel PCH: HDMI 2 (hw:0,8): 3
FillInDevInfo: Filling device info for: HDA Intel PCH: HDMI 3 (hw:0,9)
GropeDevice: collecting info ..
FillInDevInfo: Adding device HDA Intel PCH: HDMI 3 (hw:0,9): 4
FillInDevInfo: Filling device info for: HDA Intel PCH: HDMI 4 (hw:0,10)
GropeDevice: collecting info ..
FillInDevInfo: Adding device HDA Intel PCH: HDMI 4 (hw:0,10): 5
FillInDevInfo: Filling device info for: X-USB: USB Audio (hw:1,0)
GropeDevice: collecting info ..
GropeDevice: collecting info ..
FillInDevInfo: Adding device X-USB: USB Audio (hw:1,0): 6
FillInDevInfo: Filling device info for: sysdefault
GropeDevice: collecting info ..
GropeDevice: Limiting number of plugin channels to 128
GropeDevice: collecting info ..
GropeDevice: Limiting number of plugin channels to 128
FillInDevInfo: Adding device sysdefault: 7
FillInDevInfo: Filling device info for: front
GropeDevice: collecting info ..
FillInDevInfo: Adding device front: 8
FillInDevInfo: Filling device info for: rear
ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
OpenPcm: Opened device 'rear' ptr[(nil)] - result: [-2:No such file or directory]
...

Could we clean this up a bit or make it go to a .log file instead?

(Linux 5.17, Manjaro)

pierr3 commented 2 years ago

Good catch, I think afv-native is struggling a bit with the immediate GUI use case, as we're calling those APIs 60 times per second. I will see if I can cache a lot of this stuff when the popup is created to just avoid the calls altogether.

pierr3 commented 2 years ago

Feel free to reopen if this has not actually been fixed!