PulseAudioにシステムdbusが必要なのはなぜですか?

PulseAudioにシステムdbusが必要なのはなぜですか?

このシングルユーザーFreeBSDデスクトップでは、さまざまなデスクトップコンポーネントが独自のdbusインスタンスを使用して通信します。

しかし、pulseaudio 返品システム全体と会話しようとしましたがdbus(アクティブではありません)、アクセスできず、次のメッセージでログをスパムしました。

Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

dbus-serviceを手動で起動すると、pulseaudio次のように記録されます。

... : [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
... : [(null)] oss-util.c: '/dev/dsp1' doesn't support full duplex
... : [(null)] oss-util.c: '/dev/dsp2' doesn't support full duplex
... : [(null)] oss-util.c: '/dev/dsp3' doesn't support full duplex

それから黙って。なぜシステム全体と通信するのですかdbus?システム全体のサービスを有効にすると、何が得られますか?

ベストアンサー1

システム全体のdbusと通信する必要があるのはなぜですか?

高い優先順位とリアルタイム設定のために、システム全体のdbusと通信を試みます。

望むより:

https://github.com/pulseaudio/pulseaudio/blob/v13.0/src/pulsecore/core-util.c#L706-L717

https://github.com/pulseaudio/pulseaudio/blob/v13.0/src/pulse/util.c#L406-L417

https://github.com/pulseaudio/pulseaudio/blob/v13.0/src/pulsecore/rtkit.c

システム全体のサービスを有効にすると、何が得られますか?

FreeBSDには何もありません。私が知っている限り、RealTimeKitはFreeBSDでは利用できません。 (コードではそうしようとしますが、実際には「必要」はありません。)追加情報にはLinuxが必要であることがわかります。

https://git.0pointer.net/rtkit.git/tree/README#n217

dbusに接続できない場合は再試行しているように見えますが、dbusに接続できず、優先順位/リアルタイムを設定できない場合はエラーを返して再試行しません。

おすすめ記事