*参照元 [#a5c8dcf3]
#backlinks

*説明 [#s5ea5bde]
-パス: [[linux-4.4.1/include/sound/pcm.h]]

-FIXME: これは何?
--説明


**参考 [#m2be7b9e]


*実装 [#d70571e2]
 struct snd_pcm_runtime {
         /* -- Status -- */
         struct snd_pcm_substream *trigger_master;
         struct timespec trigger_tstamp; /* trigger timestamp */
         bool trigger_tstamp_latched;     /* trigger timestamp latched in low-level driver/hardware */
-
--[[linux-4.4.1/snd_pcm_substream]]
--[[linux-4.4.1/timespec]]

         int overrange;
         snd_pcm_uframes_t avail_max;
         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 */
         unsigned long hw_ptr_buffer_jiffies; /* buffer time in jiffies */
         snd_pcm_sframes_t delay;        /* extra delay; typically FIFO size */
         u64 hw_ptr_wrap;                /* offset for hw_ptr due to boundary wrap-around */
 
-
--[[linux-4.4.1/snd_pcm_uframes_t]]
--[[linux-4.4.1/snd_pcm_sframes_t]]

         /* -- HW params -- */
         snd_pcm_access_t access;        /* access mode */
         snd_pcm_format_t format;        /* SNDRV_PCM_FORMAT_* */
         snd_pcm_subformat_t subformat;  /* subformat */
-
--[[linux-4.4.1/snd_pcm_access_t]]
--[[linux-4.4.1/snd_pcm_format_t]]
--[[linux-4.4.1/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;
         unsigned int no_period_wakeup: 1;
 
         /* -- 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-4.4.1/snd_pcm_sync_id]]

         /* -- mmap -- */
         struct snd_pcm_mmap_status *status;
         struct snd_pcm_mmap_control *control;
 
-
--[[linux-4.4.1/snd_pcm_mmap_status]]
--[[linux-4.4.1/snd_pcm_mmap_control]]

         /* -- locking / scheduling -- */
         snd_pcm_uframes_t twake;        /* do transfer (!poll) wakeup if non-zero */
         wait_queue_head_t sleep;        /* poll sleep */
         wait_queue_head_t tsleep;       /* transfer sleep */
         struct fasync_struct *fasync;
 
-
--[[linux-4.4.1/wait_queue_head_t]]
--[[linux-4.4.1/fasync_struct]]

         /* -- private section -- */
         void *private_data;
         void (*private_free)(struct snd_pcm_runtime *runtime);
 
-
--[[linux-4.4.1/snd_pcm_runtime]]

         /* -- hardware description -- */
         struct snd_pcm_hardware hw;
         struct snd_pcm_hw_constraints hw_constraints;
 
-
--[[linux-4.4.1/snd_pcm_hardware]]
--[[linux-4.4.1/snd_pcm_hw_constraints]]

         /* -- 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) */
         size_t dma_bytes;               /* size of DMA area */
 
         struct snd_dma_buffer *dma_buffer_p;    /* allocated buffer */
 
-
--[[linux-4.4.1/dma_addr_t]]
--[[linux-4.4.1/snd_dma_buffer]]

         /* -- audio timestamp config -- */
         struct snd_pcm_audio_tstamp_config audio_tstamp_config;
         struct snd_pcm_audio_tstamp_report audio_tstamp_report;
         struct timespec driver_tstamp;
 
-
--[[linux-4.4.1/snd_pcm_audio_tstamp_config]]
--[[linux-4.4.1/snd_pcm_audio_tstamp_report]]

 #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE)
-
--[[linux-4.4.1/CONFIG_SND_PCM_OSS]]
--[[linux-4.4.1/CONFIG_SND_PCM_OSS_MODULE]]

         /* -- OSS things -- */
         struct snd_pcm_oss_runtime oss;
-
--[[linux-4.4.1/snd_pcm_oss_runtime]]

 #endif
 };


*コメント [#b883d353]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS