平衡点
2011/11/22
_ MPD → PulseAudio → Bluetooth Headset でじたばた
その1:
PulseAudio 側ではきちんと Bluetooth Headset が見えているのだけれど, MPD からの出力を PulseAudio でつかまえられていなくて, しばし悩む.
per user session になっていたので, mpd の実行ユーザ(Debian では mpd) で pulseaudio が起動していたからだった. というわけで, localhost へ流せば良いよね, ということで.
その2:
paprefs で モジュールが有効にできない. しばし悩むが, BTS#531251 と同じですね
%> strace paprefs 2>&1 | grep /lib/pulse ~ access("/usr/lib/pulse-1.1.0/modules/module-esound-protocol-tcp.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-native-protocol-tcp.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-zeroconf-publish.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-zeroconf-discover.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-raop-discover.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-rtp-recv.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-rtp-send.so", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/pulse-1.1.0/modules/module-rygel-media-server.so", F_OK) = -1 ENOENT (No such file or directory)
モジュール実体は /usr/lib/pulse-1.0/modules 以下にあるわけで. とりあえず symlink はって, ネットワーク経由を有効化しておく.
その3:
paprefs のソースを見てみると pkg-config の結果は
%> pkg-config libpulse --variable modlibexecdir /usr/lib/pulse-1.0/modules
というわけで, これは正しいのだが. はて? 試しに rebuild してみても, やっぱり pulse-1.1.0 を探しに行く. んー...
ああ, debian/patches/0002-Dynamically-build-the-paths-to-the-modules.patch か. #include <pulse/version.h> でモジュールの場所を決める, と. でコレが間違っているわけだ.
とりあえず BTS するか.