Я планирую создать поток при обнаружении нового входного индекса приемника в pulseaudio. Но когда я запускаю какое-то приложение, я обнаруживаю, что создается второй индекс приемника для того же клиента.
Система порождает поток и закрывает первый поток, который не имеет никакого отношения к текущей запущенной программе. Я прослеживаю это как ссылку, которая генерируется при запуске моего кода, который обнаруживает новый входной индекс приемника, сгенерированный, когда я запускаю игру openarena.
****Sink input Playback Stream with index 0 is detected hello**** =======[ Sink Input# 0 ]======= Name: Playback Stream client:11 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:160068 sink usec:210498 Driver:protocol-native.c client name :Warzone 2100 ****Removing sink input 0**** ****Sink input Playback Stream with index 1 is detected hello**** =======[ Sink Input# 1 ]======= Name: Playback Stream client:11 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:346689 sink usec:23883 Driver:protocol-native.c client name :Warzone 2100 ****Removing sink input 1**** ****Sink input Playback Stream with index 2 is detected hello**** =======[ Sink Input# 2 ]======= Name: Playback Stream client:13 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:160068 sink usec:210488 Driver:protocol-native.c client name :torcs-bin ****Removing sink input 2**** ****Sink input Playback Stream with index 3 is detected hello**** =======[ Sink Input# 3 ]======= Name: Playback Stream client:13 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:347052 sink usec:23997 Driver:protocol-native.c client name :torcs-bin ****Removing sink input 3**** ****Sink input Playback Stream with index 4 is detected hello**** =======[ Sink Input# 4 ]======= Name: Playback Stream client:20 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:160068 sink usec:210464 Driver:protocol-native.c client name :ioquake3 ****Removing sink input 4**** ****Sink input Playback Stream with index 5 is detected hello**** =======[ Sink Input# 5 ]======= Name: Playback Stream client:20 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:346507 sink usec:23980 Driver:protocol-native.c client name :ioquake3 ****Removing sink input 5**** ****Sink input Simple DirectMedia Layer with index 6 is detected hello**** =======[ Sink Input# 6 ]======= Name: Simple DirectMedia Layer client:24 sink:0 sample format:0 sample rate:11025 sample channels:1 owner module:7 buffer usec:265147 sink usec:105270 Driver:protocol-native.c client name :Test stream ****Removing sink input 6**** ****Sink input Playback Stream with index 7 is detected hello**** =======[ Sink Input# 7 ]======= Name: Playback Stream client:26 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:91133 sink usec:209540 Driver:protocol-native.c client name :MegaGlest ****Removing sink input 7**** ****Sink input Playback Stream with index 8 is detected hello**** =======[ Sink Input# 8 ]======= Name: Playback Stream client:26 sink:0 sample format:3 sample rate:44100 sample channels:2 owner module:7 buffer usec:347233 sink usec:22750 Driver:protocol-native.c client name :MegaGlest ****Removing sink input 8****
Единственное различие между этим индексом приемника 0 и 1 заключается в использовании буфера usec и приемника usec, который я нашел.
Я хочу знать, в чем причина этого. Почему каждый раз, когда я запускаю эту или любую другую игру, он создает входной индекс с двумя приемниками (я тоже пробовал другие игры и получал тот же результат).