*参照元 [#kd1a2f5f] #backlinks *説明 [#ec0830ca] -パス: [[linux-2.6.33/include/sound/pcm.h]] -FIXME: これは何? --説明 **参考 [#g8baeaba] *実装 [#f4cb0586] struct snd_pcm_runtime { /* -- Status -- */ struct snd_pcm_substream *trigger_master; - --[[linux-2.6.33/snd_pcm_substream]] struct timespec trigger_tstamp; /* trigger timestamp */ - --[[linux-2.6.33/timespec]] int overrange; snd_pcm_uframes_t avail_max; - --[[linux-2.6.33/snd_pcm_uframes_t]] snd_pcm_uframes_t hw_ptr_base; /* Position at buffer restart */ snd_pcm_uframes_t hw_ptr_interrupt; /* Position at interrupt time */ unsigned long hw_ptr_jiffies; /* Time when hw_ptr is updated */ snd_pcm_sframes_t delay; /* extra delay; typically FIFO size */ - --[[linux-2.6.33/snd_pcm_sframes_t]] /* -- HW params -- */ snd_pcm_access_t access; /* access mode */ - --[[linux-2.6.33/snd_pcm_access_t]] snd_pcm_format_t format; /* SNDRV_PCM_FORMAT_* */ - --[[linux-2.6.33/snd_pcm_format_t]] snd_pcm_subformat_t subformat; /* subformat */ - --[[linux-2.6.33/snd_pcm_subformat_t]] unsigned int rate; /* rate in Hz */ unsigned int channels; /* channels */ snd_pcm_uframes_t period_size; /* period size */ unsigned int periods; /* periods */ snd_pcm_uframes_t buffer_size; /* buffer size */ snd_pcm_uframes_t min_align; /* Min alignment for the format */ size_t byte_align; unsigned int frame_bits; unsigned int sample_bits; unsigned int info; unsigned int rate_num; unsigned int rate_den; /* -- SW params -- */ int tstamp_mode; /* mmap timestamp is updated */ unsigned int period_step; snd_pcm_uframes_t start_threshold; snd_pcm_uframes_t stop_threshold; snd_pcm_uframes_t silence_threshold; /* Silence filling happens when noise is nearest than this */ snd_pcm_uframes_t silence_size; /* Silence filling size */ snd_pcm_uframes_t boundary; /* pointers wrap point */ snd_pcm_uframes_t silence_start; /* starting pointer to silence area */ snd_pcm_uframes_t silence_filled; /* size filled with silence */ union snd_pcm_sync_id sync; /* hardware synchronization ID */ - --[[linux-2.6.33/snd_pcm_sync_id]] /* -- mmap -- */ struct snd_pcm_mmap_status *status; - --[[linux-2.6.33/snd_pcm_mmap_status]] struct snd_pcm_mmap_control *control; - --[[linux-2.6.33/snd_pcm_mmap_control]] /* -- locking / scheduling -- */ wait_queue_head_t sleep; - --[[linux-2.6.33/wait_queue_head_t]] struct fasync_struct *fasync; - --[[linux-2.6.33/fasync_struct]] /* -- private section -- */ void *private_data; void (*private_free)(struct snd_pcm_runtime *runtime); /* -- hardware description -- */ struct snd_pcm_hardware hw; - --[[linux-2.6.33/snd_pcm_hardware]] struct snd_pcm_hw_constraints hw_constraints; - --[[linux-2.6.33/snd_pcm_hw_constraints]] /* -- interrupt callbacks -- */ void (*transfer_ack_begin)(struct snd_pcm_substream *substream); void (*transfer_ack_end)(struct snd_pcm_substream *substream); /* -- timer -- */ unsigned int timer_resolution; /* timer resolution */ int tstamp_type; /* timestamp type */ /* -- DMA -- */ unsigned char *dma_area; /* DMA area */ dma_addr_t dma_addr; /* physical bus address (not accessible from main CPU) */ - --[[linux-2.6.33/dma_addr_t]] size_t dma_bytes; /* size of DMA area */ struct snd_dma_buffer *dma_buffer_p; /* allocated buffer */ - --[[linux-2.6.33/snd_dma_buffer]] #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE) - --[[linux-2.6.33/CONFIG_SND_PCM_OSS]] - --[[linux-2.6.33/CONFIG_SND_PCM_OSS_MODULE]] /* -- OSS things -- */ struct snd_pcm_oss_runtime oss; - --[[linux-2.6.33/snd_pcm_oss_runtime]] #endif }; *コメント [#s11dbb18]