Lines Matching refs:pcm
50 static int snd_pcm_null_close(snd_pcm_t *pcm) in snd_pcm_null_close() argument
52 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_close()
58 static int snd_pcm_null_nonblock(snd_pcm_t *pcm ATTRIBUTE_UNUSED, int nonblock ATTRIBUTE_UNUSED) in snd_pcm_null_nonblock()
63 static int snd_pcm_null_async(snd_pcm_t *pcm ATTRIBUTE_UNUSED, int sig ATTRIBUTE_UNUSED, pid_t pid … in snd_pcm_null_async()
68 static int snd_pcm_null_info(snd_pcm_t *pcm, snd_pcm_info_t * info) in snd_pcm_null_info() argument
71 info->stream = pcm->stream; in snd_pcm_null_info()
73 if (pcm->name) { in snd_pcm_null_info()
74 snd_strlcpy((char *)info->id, pcm->name, sizeof(info->id)); in snd_pcm_null_info()
75 snd_strlcpy((char *)info->name, pcm->name, sizeof(info->name)); in snd_pcm_null_info()
76 snd_strlcpy((char *)info->subname, pcm->name, sizeof(info->subname)); in snd_pcm_null_info()
82 static snd_pcm_sframes_t snd_pcm_null_avail_update(snd_pcm_t *pcm) in snd_pcm_null_avail_update() argument
84 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_avail_update()
88 return snd_pcm_mmap_avail(pcm); in snd_pcm_null_avail_update()
90 return pcm->buffer_size; in snd_pcm_null_avail_update()
93 static int snd_pcm_null_status(snd_pcm_t *pcm, snd_pcm_status_t * status) in snd_pcm_null_status() argument
95 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_status()
99 status->appl_ptr = *pcm->appl.ptr; in snd_pcm_null_status()
100 status->hw_ptr = *pcm->hw.ptr; in snd_pcm_null_status()
101 gettimestamp(&status->tstamp, pcm->tstamp_type); in snd_pcm_null_status()
102 status->avail = snd_pcm_null_avail_update(pcm); in snd_pcm_null_status()
103 status->avail_max = pcm->buffer_size; in snd_pcm_null_status()
107 static snd_pcm_state_t snd_pcm_null_state(snd_pcm_t *pcm) in snd_pcm_null_state() argument
109 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_state()
113 static int snd_pcm_null_hwsync(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_null_hwsync()
118 static int snd_pcm_null_delay(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_sframes_t *delayp) in snd_pcm_null_delay()
124 static int snd_pcm_null_reset(snd_pcm_t *pcm) in snd_pcm_null_reset() argument
126 *pcm->appl.ptr = 0; in snd_pcm_null_reset()
127 *pcm->hw.ptr = 0; in snd_pcm_null_reset()
131 static int snd_pcm_null_prepare(snd_pcm_t *pcm) in snd_pcm_null_prepare() argument
133 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_prepare()
135 return snd_pcm_null_reset(pcm); in snd_pcm_null_prepare()
138 static int snd_pcm_null_start(snd_pcm_t *pcm) in snd_pcm_null_start() argument
140 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_start()
143 if (pcm->stream == SND_PCM_STREAM_CAPTURE) in snd_pcm_null_start()
144 *pcm->hw.ptr = *pcm->appl.ptr + pcm->buffer_size; in snd_pcm_null_start()
146 *pcm->hw.ptr = *pcm->appl.ptr; in snd_pcm_null_start()
150 static int snd_pcm_null_drop(snd_pcm_t *pcm) in snd_pcm_null_drop() argument
152 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_drop()
158 static int snd_pcm_null_drain(snd_pcm_t *pcm) in snd_pcm_null_drain() argument
160 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_drain()
166 static int snd_pcm_null_pause(snd_pcm_t *pcm, int enable) in snd_pcm_null_pause() argument
168 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_pause()
181 static snd_pcm_sframes_t snd_pcm_null_rewindable(snd_pcm_t *pcm) in snd_pcm_null_rewindable() argument
183 return pcm->buffer_size; in snd_pcm_null_rewindable()
186 static snd_pcm_sframes_t snd_pcm_null_forwardable(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_null_forwardable()
192 static snd_pcm_sframes_t snd_pcm_null_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t frames) in snd_pcm_null_rewind() argument
194 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_rewind()
197 snd_pcm_mmap_hw_backward(pcm, frames); in snd_pcm_null_rewind()
200 snd_pcm_mmap_appl_backward(pcm, frames); in snd_pcm_null_rewind()
207 static snd_pcm_sframes_t snd_pcm_null_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames) in snd_pcm_null_forward() argument
209 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_forward()
212 snd_pcm_mmap_hw_forward(pcm, frames); in snd_pcm_null_forward()
215 snd_pcm_mmap_appl_forward(pcm, frames); in snd_pcm_null_forward()
222 static int snd_pcm_null_resume(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_null_resume()
227 static snd_pcm_sframes_t snd_pcm_null_xfer_areas(snd_pcm_t *pcm, in snd_pcm_null_xfer_areas() argument
232 snd_pcm_mmap_appl_forward(pcm, size); in snd_pcm_null_xfer_areas()
233 snd_pcm_mmap_hw_forward(pcm, size); in snd_pcm_null_xfer_areas()
237 static snd_pcm_sframes_t snd_pcm_null_writei(snd_pcm_t *pcm, const void *buffer ATTRIBUTE_UNUSED, s… in snd_pcm_null_writei() argument
239 return snd_pcm_write_areas(pcm, NULL, 0, size, snd_pcm_null_xfer_areas); in snd_pcm_null_writei()
242 static snd_pcm_sframes_t snd_pcm_null_writen(snd_pcm_t *pcm, void **bufs ATTRIBUTE_UNUSED, snd_pcm_… in snd_pcm_null_writen() argument
244 return snd_pcm_write_areas(pcm, NULL, 0, size, snd_pcm_null_xfer_areas); in snd_pcm_null_writen()
247 static snd_pcm_sframes_t snd_pcm_null_readi(snd_pcm_t *pcm, void *buffer ATTRIBUTE_UNUSED, snd_pcm_… in snd_pcm_null_readi() argument
249 return snd_pcm_read_areas(pcm, NULL, 0, size, snd_pcm_null_xfer_areas); in snd_pcm_null_readi()
252 static snd_pcm_sframes_t snd_pcm_null_readn(snd_pcm_t *pcm, void **bufs ATTRIBUTE_UNUSED, snd_pcm_u… in snd_pcm_null_readn() argument
254 return snd_pcm_read_areas(pcm, NULL, 0, size, snd_pcm_null_xfer_areas); in snd_pcm_null_readn()
257 static snd_pcm_sframes_t snd_pcm_null_mmap_commit(snd_pcm_t *pcm, in snd_pcm_null_mmap_commit() argument
261 return snd_pcm_null_forward(pcm, size); in snd_pcm_null_mmap_commit()
264 static int snd_pcm_null_hw_refine(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_hw_params_t *params) in snd_pcm_null_hw_refine()
276 err = snd_pcm_hw_refine_soft(pcm, params); in snd_pcm_null_hw_refine()
283 static int snd_pcm_null_hw_params(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_hw_params_t * params ATT… in snd_pcm_null_hw_params()
288 static int snd_pcm_null_hw_free(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_null_hw_free()
293 static int snd_pcm_null_sw_params(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_sw_params_t * params ATT… in snd_pcm_null_sw_params()
298 static snd_pcm_chmap_query_t **snd_pcm_null_query_chmaps(snd_pcm_t *pcm) in snd_pcm_null_query_chmaps() argument
300 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_query_chmaps()
307 static snd_pcm_chmap_t *snd_pcm_null_get_chmap(snd_pcm_t *pcm) in snd_pcm_null_get_chmap() argument
309 snd_pcm_null_t *null = pcm->private_data; in snd_pcm_null_get_chmap()
312 return _snd_pcm_choose_fixed_chmap(pcm, null->chmap); in snd_pcm_null_get_chmap()
316 static void snd_pcm_null_dump(snd_pcm_t *pcm, snd_output_t *out) in snd_pcm_null_dump() argument
319 if (pcm->setup) { in snd_pcm_null_dump()
321 snd_pcm_dump_setup(pcm, out); in snd_pcm_null_dump()
381 snd_pcm_t *pcm; in snd_pcm_null_open() local
407 err = snd_pcm_new(&pcm, SND_PCM_TYPE_NULL, name, stream, mode); in snd_pcm_null_open()
413 pcm->ops = &snd_pcm_null_ops; in snd_pcm_null_open()
414 pcm->fast_ops = &snd_pcm_null_fast_ops; in snd_pcm_null_open()
415 pcm->private_data = null; in snd_pcm_null_open()
416 pcm->poll_fd = fd; in snd_pcm_null_open()
417 pcm->poll_events = stream == SND_PCM_STREAM_PLAYBACK ? POLLOUT : POLLIN; in snd_pcm_null_open()
418 snd_pcm_set_hw_ptr(pcm, &null->hw_ptr, -1, 0); in snd_pcm_null_open()
419 snd_pcm_set_appl_ptr(pcm, &null->appl_ptr, -1, 0); in snd_pcm_null_open()
420 *pcmp = pcm; in snd_pcm_null_open()