SSブログ

CentOS 7上のxawtvでノイズが発生することへの対応 [Linux]

[ソフトウェアのバージョン]
・xawtv-3.105-2.el7.x86_64
・alsa-lib-1.1.6-2.el7.x86_64
・alsa-plugins-pulseaudio-1.1.6-1.el7.x86_64
・alsa-utils-1.1.6-1.el7.x86_64
・pulseaudio-10.0-5.el7.x86_64
・kernel-3.10.0-957.10.1.el7.x86_64
 (saa7134 モジュール、saa7134_alsa モジュールを使用)

1. 発生事象


xawtv の音声にノイズが発生する。

・起動直後にはノイズは発生しない。
・しばらく使用しているとノイズが発生する。
 (30〜60 分程度の連続使用で、音がこもる/割れる。)
・xawtv を再起動すると改善される。
・xawtv の機能により、ミュートの設定/解除を行うと改善される。
・改善された後も、しばらく使用していると再発する。
・ノイズが発生する場合には、下記のようなメッセージが出力される。
 ALSA lib pcm.c:8424:(snd_pcm_recover) overrun occurred
 (ただし、当該メッセージが出力されてもノイズが発生するとは限らない。)

(補足)
・/dev/mixer の存在しない状態で使用している。
・xawtv の画像に関しては、問題は発生していない。


2. 対処方法


現時点では、根本的な解決方法は不明である。
また、取り敢えず、下記の手順により対応可能である。

(1) ~/bin/xawtv-patch の作成


下記の処理を行うスクリプトを作成する。

(a) xawtv の機能により、mute の状態を取得する。

v4lctl show mute


(注意)
xawtv-remote に同じ引数(同じコマンド)を指定しても何も出力されない。


(b) mute されていない場合、xawtv の機能により mute/unmute を実施する。

xawtv-remote volume mute on
sleep 0.1
xawtv-remote volume mute off


・mute の実施により、一時的に音声出力が途切れる。
・mute と unmute の間に sleep を入れた方が、より効果が得られる。

(注意)
v4lctl に同じ引数(同じコマンド)を指定しても求める効果が得られない。


(2) cron への ~/bin/xawtv-patch を実行する設定の追加


・例えば、20 分毎に ~/bin/xawtv-patch を実行する。
・再発した場合には、手動で mute の設定/解除を実施することで対応する。


[備考]


nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。