[Armadillo:03825] Re: soundcard.h の SNDCTL_DSP_PROFILE について

Yasushi SHOJI email@hidden
2008年 12月 19日 (金) 10:28:10 JST


At Fri, 19 Dec 2008 09:53:46 +0900,
西 智哉 wrote:
> 
> soundcard.h の中に下記の定義があります。googleで検索しても
> 明確な説明が見付かりませんでした。

googleしなくても soundcard.hに書いてありますよ。

http://lxr.linux.no/linux+v2.6.26.8/include/linux/soundcard.h#L657

 657/*
 658 * Application's profile defines the way how playback underrun situations should be handled.
 659 * 
 660 *      APF_NORMAL (the default) and APF_NETWORK make the driver to cleanup the
 661 *      playback buffer whenever an underrun occurs. This consumes some time
 662 *      prevents looping the existing buffer.
 663 *      APF_CPUINTENS is intended to be set by CPU intensive applications which
 664 *      are likely to run out of time occasionally. In this mode the buffer cleanup is
 665 *      disabled which saves CPU time but also let's the previous buffer content to
 666 *      be played during the "pause" after the underrun.
 667 */

> > #define SNDCTL_DSP_PROFILE	_SIOW ('P', 23, int)
> > #define APF_NORMAL	0	/* Normal applications */
> > #define APF_NETWORK	1	/* Underruns probably caused by an "external" delay */
> > #define APF_CPUINTENS 2	/* Underruns probably caused by "overheating" the CPU */

OSSのころはアプリケーションの種類を指定していたようです。
alsaに代ってからは、使われていません。

alsa上の OSSレイヤを使っている場合は、無視されます。
   ↓
http://lxr.linux.no/linux+v2.6.26.8/sound/core/oss/pcm_oss.c#L2582
2582        case SNDCTL_DSP_PROFILE:
2583                return 0;       /* silently ignore */
-- 
          yashi



armadillo メーリングリストの案内