[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:29910] Esound



本多です

あまりたいした投稿ではないのですが、multimedia関連が充実すると良いなと思いまして
(充実でなくともちゃんと動けばもちろん満足です)。
Change Logを見たところ、esdがlogin時に起動する設定になり また、esd自体も更新されたようですね。

私も個人的にesdを使ってきたのですが。
#pulseやjackは普通の設定だと音飛び等で使えないです。何か設定があるのですかね??

esdはいろいろ使っていると動かなくなりませんか?つまりある時点から音が出なくなる。
# KDE上だとsystem通知で"esdが動かないので代わりalsa(or pulse or jack)を使うと"
# 報せてきて、代替措置が働くのですが。。

で何が起きているかというと、audio_alsa09.cのesd_audio_flush()関数中の
snd_pcm_drain()の中でpolling stateの状態で止ってしまってesdのmain loopに戻ってこれなく
なっています
#手持ちのmachine全ての発生するので結構一般的ではないかと思います。
#ちなみにkernelは27->29全て、libasoud.soはplamo謹製の最新版で。

Sourcesを見てると、そもそもesd_audio_flush()が呼ばれる条件は再生数が0かつselectで0が返るという
変な状態の時ですから(in clients.c)、ここでdrainを呼びだす必要はないようです。
ですから、drainでなくてdropつまり 
snd_pcm_drain() => snd_pcm_drop()
で十分のようです。私はsnd_pcm_drop()に変更して以来この問題には悩まされなくなりました。
勿論、dropで音が終了時に突然消えるという事も経験していません。
参考まで。



Follow-Ups
[plamo:29911] Re: Esound, KOJIMA Mitsuhiro

[検索ページ] [メール一覧]
Plamo ML 公開システム