Mandriva Linux 2010.0のKDE4(Phonon)ではオーディオ出力先でPulseAudio以外を優先できない?(後半)
「Mandriva Linux 2010.0のKDE4(Phonon)ではオーディオ出力先でPulseAudio以外を優先できない?(前半)」の続き。
kcm_phonon.soを提供するパッケージにも修正を行ってビルド,インストール
問題の/usr/lib(64)/kde4/kcm_phonon.soはkdebase-runtime(パッケージ名「kdebase4-runtime」)が提供するため、このパッケージをビルドしてシステム上のパッケージ(kdebase4-runtime,kdebase4-runtime-devel)を置き換えることでこの問題も解決したが、こちらにもPulseAudioのパッチが当たっているため、該当のパッチの適用とPulseAudioへの依存を外すように修正してビルドし直したものをインストールする必要があった(単純に再ビルドしようとするとビルドエラーになる)。.specファイルの修正点
.specファイルの修正部分を差分形式で以下に貼り付ける。対象の(ソースRPM)パッケージは- phonon 4.3.50-18.2mdv2010.0
- kdebase4-runtime 4.3.2-10mdv2010.0
の2つ。
phononの.specファイルに対する修正
--- phonon.spec.orig +++ phonon.spec @@ -1,13 +1,13 @@ %define epoch_arts 30000001 %define rev 1030942 -%define subrel 2 +##%define subrel 2 Name: phonon Summary: KDE4 Multimedia Framework Version: 4.3.50 -Release: %mkrel 18 -Epoch: 2 +Release: %mkrel 19 +Epoch: 3 Url: http://phonon.kde.org/ License: LGPLv2+ Group: Graphical desktop/KDE @@ -17,7 +17,7 @@ Source1: %{name}-gstreamer.svg Patch0: phonon-4.2.0-ogg-mime-type.patch # (cg) For the latest version of the below patch see: http://colin.guthr.ie/git/phonon/log/?h=pulse -Patch2: phonon-4.3-pulseaudio.patch +#Patch2: phonon-4.3-pulseaudio.patch Patch3: phonon-4.3.50-phonon-allow-stop-empty-source.patch Patch4: phonon-4.3.50-gstreamer-fix-changing-CD-audio-track2.patch Patch5: phonon-4.3.50-gstreamer-fix-titles2.patch @@ -30,7 +30,7 @@ BuildRequires: glib2-devel BuildRequires: libxml2-devel BuildRequires: imagemagick -BuildRequires: pulseaudio-devel +#BuildRequires: pulseaudio-devel %description Phonon is the KDE4 Multimedia Framework @@ -90,7 +90,7 @@ Requires: gstreamer0.10-plugins-ugly Suggests: gstreamer0.10-ffmpeg Suggests: gstreamer0.10-soup -Suggests: gstreamer0.10-pulse +#Suggests: gstreamer0.10-pulse %if %mdkversion >= 201000 Obsoletes: arts < %epoch_arts:1.5.10-9 Obsoletes: arts3 < %epoch_arts:1.5.10-9 @@ -116,7 +116,7 @@ BuildRequires: libxine-devel Obsoletes: kde4-phonon-xine < 1:3.93.0-0.714129.2 Requires: xine-plugins -Suggests: xine-pulse +#Suggests: xine-pulse Provides: phonon-backend = %epoch:%version %description -n phonon-xine @@ -162,7 +162,7 @@ %prep %setup -q -n %name-%version %patch0 -p0 -%patch2 -p1 +#%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1
Suggestsパッケージ*1など、依存を外す必要はないかもしれないが、好みで外している(あまり深い意味はない)。
kdebase4-runtimeの.specファイルに対する修正
--- kdebase4-runtime.spec.orig +++ kdebase4-runtime.spec @@ -3,7 +3,7 @@ Name: kdebase4-runtime Summary: K Desktop Environment - Base Runtime Version: 4.3.2 -Release: %mkrel 10 +Release: %mkrel 11 Epoch: 1 Group: Graphical desktop/KDE License: GPL @@ -12,7 +12,7 @@ Patch0: kdebase-runtime-4.1.1-fix-htsearch-path.patch Patch1: kdebase-runtime-4.2.95-fix-desktop-files.patch # (cg) For the latest version of the below patch see: http://colin.guthr.ie/git/runtime/log/?h=pulse -Patch2: kdebase-runtime-4.3.1-backend-globalconfig.patch +#Patch2: kdebase-runtime-4.3.1-backend-globalconfig.patch Patch3: kdebase-runtime-nepomuk-strigi2.patch Patch4: kdebase-runtime-nepomuk-strigi-smartfile.patch Patch5: kdebase-runtime-4.3.2-knotify-fix-cpu-charge.patch @@ -54,7 +54,7 @@ BuildRequires: boost-devel BuildRequires: xrdb BuildRequires: qimageblitz-devel -BuildRequires: pulseaudio-devel +#BuildRequires: pulseaudio-devel BuildRequires: openslp-devel Requires: kdelibs4-core Requires: oxygen-icon-theme @@ -268,7 +268,7 @@ %patch0 -p1 %patch1 -p0 %if %mdkversion >= 201000 -%patch2 -p1 -b .pulseaudio +#%patch2 -p1 -b .pulseaudio %endif %patch3 -p1 -b .nepomuk %patch4 -p0 -b .nepomuk
修正後のパッケージを用いた後のJACKを優先させる設定
修正したパッケージをインストール後、システム設定の「マルチメディア」でバックエンド設定でXineを優先するようになっていることを確認して
JACKを一番上に持ってくる。その後「デバイスのリストを適用...」ボタンを押してそのまま設定を他のカテゴリに適用(コピー)する。
これでPulseAudioの動作状態に関わらずJACKを出力先として指定できるようになった。
使用したバージョン:
- phonon 4.3.50-18.2mdv2010.0
- kdebase4-runtime 4.3.2-10mdv2010.0
*1:必須ではなく、外すことも可能だが、緩い依存として基本的には一緒にインストールされるもの