• Home
  • Raw
  • Download

Lines Matching refs:pcm

77 	snd_pcm_t *pcm;  member
103 snd_pcm_t *pcm; member
119 static void _snd_pcm_share_stop(snd_pcm_t *pcm, snd_pcm_state_t state);
124 snd_pcm_t *pcm = slave->pcm; in snd_pcm_share_slave_avail() local
125 avail = slave->hw_ptr - *pcm->appl.ptr; in snd_pcm_share_slave_avail()
126 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) in snd_pcm_share_slave_avail()
127 avail += pcm->buffer_size; in snd_pcm_share_slave_avail()
129 avail += pcm->boundary; in snd_pcm_share_slave_avail()
130 else if ((snd_pcm_uframes_t) avail >= pcm->boundary) in snd_pcm_share_slave_avail()
131 avail -= pcm->boundary; in snd_pcm_share_slave_avail()
146 buffer_size = slave->pcm->buffer_size; in _snd_pcm_share_slave_forward()
151 snd_pcm_t *pcm = share->pcm; in _snd_pcm_share_slave_forward() local
156 if (pcm->stream != SND_PCM_STREAM_PLAYBACK) in _snd_pcm_share_slave_forward()
162 avail = snd_pcm_mmap_avail(pcm); in _snd_pcm_share_slave_forward()
197 static snd_pcm_uframes_t _snd_pcm_share_missing(snd_pcm_t *pcm) in _snd_pcm_share_missing() argument
199 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_missing()
201 snd_pcm_t *spcm = slave->pcm; in _snd_pcm_share_missing()
213 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) in _snd_pcm_share_missing()
220 avail = snd_pcm_mmap_avail(pcm); in _snd_pcm_share_missing()
221 if (avail >= pcm->stop_threshold) { in _snd_pcm_share_missing()
222 …_snd_pcm_share_stop(pcm, share->state == SND_PCM_STATE_DRAINING ? SND_PCM_STATE_SETUP : SND_PCM_ST… in _snd_pcm_share_missing()
255 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) { in _snd_pcm_share_missing()
257 _snd_pcm_share_stop(pcm, SND_PCM_STATE_SETUP); in _snd_pcm_share_missing()
267 if (avail >= pcm->stop_threshold) { in _snd_pcm_share_missing()
268 _snd_pcm_share_stop(pcm, SND_PCM_STATE_XRUN); in _snd_pcm_share_missing()
271 snd_pcm_uframes_t xrun_missing = pcm->stop_threshold - avail; in _snd_pcm_share_missing()
275 ready_missing = pcm->avail_min - avail; in _snd_pcm_share_missing()
291 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) { in _snd_pcm_share_missing()
306 if (pcm->stream == SND_PCM_STREAM_PLAYBACK && in _snd_pcm_share_missing()
319 snd_pcm_areas_silence(pcm->running_areas, offset, pcm->channels, frames, pcm->format); in _snd_pcm_share_missing()
341 /* snd_pcm_sframes_t avail = */ snd_pcm_avail_update(slave->pcm); in _snd_pcm_share_slave_missing()
342 slave->hw_ptr = *slave->pcm->hw.ptr; in _snd_pcm_share_slave_missing()
345 snd_pcm_t *pcm = share->pcm; in _snd_pcm_share_slave_missing() local
346 snd_pcm_uframes_t m = _snd_pcm_share_missing(pcm); in _snd_pcm_share_slave_missing()
356 snd_pcm_t *spcm = slave->pcm; in snd_pcm_share_thread()
419 static void _snd_pcm_share_update(snd_pcm_t *pcm) in _snd_pcm_share_update() argument
421 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_update()
423 snd_pcm_t *spcm = slave->pcm; in _snd_pcm_share_update()
426 slave->hw_ptr = *slave->pcm->hw.ptr; in _snd_pcm_share_update()
427 missing = _snd_pcm_share_missing(pcm); in _snd_pcm_share_update()
458 static int snd_pcm_share_nonblock(snd_pcm_t *pcm ATTRIBUTE_UNUSED, int nonblock ATTRIBUTE_UNUSED) in snd_pcm_share_nonblock()
463 static int snd_pcm_share_async(snd_pcm_t *pcm ATTRIBUTE_UNUSED, int sig ATTRIBUTE_UNUSED, pid_t pid… in snd_pcm_share_async()
468 static int snd_pcm_share_info(snd_pcm_t *pcm, snd_pcm_info_t *info) in snd_pcm_share_info() argument
470 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_info()
471 return snd_pcm_info(share->slave->pcm, info); in snd_pcm_share_info()
474 static int snd_pcm_share_hw_refine_cprepare(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) in snd_pcm_share_hw_refine_cprepare() argument
476 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_refine_cprepare()
518 static int snd_pcm_share_hw_refine_sprepare(snd_pcm_t *pcm, snd_pcm_hw_params_t *sparams) in snd_pcm_share_hw_refine_sprepare() argument
520 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_refine_sprepare()
531 static int snd_pcm_share_hw_refine_schange(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_hw_params_t *pa… in snd_pcm_share_hw_refine_schange()
561 static int snd_pcm_share_hw_refine_cchange(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_hw_params_t *pa… in snd_pcm_share_hw_refine_cchange()
592 static int snd_pcm_share_hw_refine_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) in snd_pcm_share_hw_refine_slave() argument
594 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_refine_slave()
595 return snd_pcm_hw_refine(share->slave->pcm, params); in snd_pcm_share_hw_refine_slave()
598 static int snd_pcm_share_hw_params_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) in snd_pcm_share_hw_params_slave() argument
600 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_params_slave()
601 return _snd_pcm_hw_params_internal(share->slave->pcm, params); in snd_pcm_share_hw_params_slave()
604 static int snd_pcm_share_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) in snd_pcm_share_hw_refine() argument
606 return snd_pcm_hw_refine_slave(pcm, params, in snd_pcm_share_hw_refine()
614 static int snd_pcm_share_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params) in snd_pcm_share_hw_params() argument
616 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_params()
618 snd_pcm_t *spcm = slave->pcm; in snd_pcm_share_hw_params()
647 err = snd_pcm_hw_params_slave(pcm, params, in snd_pcm_share_hw_params()
654 snd_pcm_sw_params_current(slave->pcm, &slave->sw_params); in snd_pcm_share_hw_params()
656 slave->safety_threshold = slave->pcm->rate * 30 / 1000; in snd_pcm_share_hw_params()
657 slave->safety_threshold += slave->pcm->period_size - 1; in snd_pcm_share_hw_params()
658 slave->safety_threshold -= slave->safety_threshold % slave->pcm->period_size; in snd_pcm_share_hw_params()
660 if (slave->pcm->stream == SND_PCM_STREAM_PLAYBACK) in snd_pcm_share_hw_params()
661 …snd_pcm_areas_silence(slave->pcm->running_areas, 0, slave->pcm->channels, slave->pcm->buffer_size,… in snd_pcm_share_hw_params()
670 static int snd_pcm_share_hw_free(snd_pcm_t *pcm) in snd_pcm_share_hw_free() argument
672 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_free()
678 err = snd_pcm_hw_free(slave->pcm); in snd_pcm_share_hw_free()
684 static int snd_pcm_share_sw_params(snd_pcm_t *pcm ATTRIBUTE_UNUSED, snd_pcm_sw_params_t *params ATT… in snd_pcm_share_sw_params()
689 static int snd_pcm_share_status(snd_pcm_t *pcm, snd_pcm_status_t *status) in snd_pcm_share_status() argument
691 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_status()
696 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) { in snd_pcm_share_status()
697 status->avail = snd_pcm_mmap_playback_avail(pcm); in snd_pcm_share_status()
701 d = pcm->buffer_size - status->avail; in snd_pcm_share_status()
703 status->avail = snd_pcm_mmap_capture_avail(pcm); in snd_pcm_share_status()
708 err = snd_pcm_delay(slave->pcm, &sd); in snd_pcm_share_status()
714 status->appl_ptr = *pcm->appl.ptr; in snd_pcm_share_status()
715 status->hw_ptr = *pcm->hw.ptr; in snd_pcm_share_status()
722 static snd_pcm_state_t snd_pcm_share_state(snd_pcm_t *pcm) in snd_pcm_share_state() argument
724 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_state()
728 static int _snd_pcm_share_hwsync(snd_pcm_t *pcm) in _snd_pcm_share_hwsync() argument
730 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_hwsync()
738 return snd_pcm_hwsync(slave->pcm); in _snd_pcm_share_hwsync()
741 static int snd_pcm_share_hwsync(snd_pcm_t *pcm) in snd_pcm_share_hwsync() argument
743 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hwsync()
747 err = _snd_pcm_share_hwsync(pcm); in snd_pcm_share_hwsync()
752 static int _snd_pcm_share_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp) in _snd_pcm_share_delay() argument
754 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_delay()
762 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) in _snd_pcm_share_delay()
768 return snd_pcm_delay(slave->pcm, delayp); in _snd_pcm_share_delay()
771 static int snd_pcm_share_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp) in snd_pcm_share_delay() argument
773 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_delay()
777 err = _snd_pcm_share_delay(pcm, delayp); in snd_pcm_share_delay()
782 static snd_pcm_sframes_t snd_pcm_share_avail_update(snd_pcm_t *pcm) in snd_pcm_share_avail_update() argument
784 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_avail_update()
789 avail = snd_pcm_avail_update(slave->pcm); in snd_pcm_share_avail_update()
794 share->hw_ptr = *slave->pcm->hw.ptr; in snd_pcm_share_avail_update()
797 avail = snd_pcm_mmap_avail(pcm); in snd_pcm_share_avail_update()
798 if ((snd_pcm_uframes_t)avail > pcm->buffer_size) in snd_pcm_share_avail_update()
803 static int snd_pcm_share_htimestamp(snd_pcm_t *pcm, snd_pcm_uframes_t *avail, in snd_pcm_share_htimestamp() argument
806 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_htimestamp()
810 err = snd_pcm_htimestamp(slave->pcm, avail, tstamp); in snd_pcm_share_htimestamp()
816 static snd_pcm_sframes_t _snd_pcm_share_mmap_commit(snd_pcm_t *pcm, in _snd_pcm_share_mmap_commit() argument
820 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_mmap_commit()
822 snd_pcm_t *spcm = slave->pcm; in _snd_pcm_share_mmap_commit()
825 if (pcm->stream == SND_PCM_STREAM_PLAYBACK && in _snd_pcm_share_mmap_commit()
828 if (frames > (snd_pcm_sframes_t)pcm->buffer_size) in _snd_pcm_share_mmap_commit()
829 frames -= pcm->boundary; in _snd_pcm_share_mmap_commit()
830 else if (frames < -(snd_pcm_sframes_t)pcm->buffer_size) in _snd_pcm_share_mmap_commit()
831 frames += pcm->boundary; in _snd_pcm_share_mmap_commit()
839 snd_pcm_mmap_appl_forward(pcm, size); in _snd_pcm_share_mmap_commit()
854 _snd_pcm_share_update(pcm); in _snd_pcm_share_mmap_commit()
859 static snd_pcm_sframes_t snd_pcm_share_mmap_commit(snd_pcm_t *pcm, in snd_pcm_share_mmap_commit() argument
863 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_mmap_commit()
867 ret = _snd_pcm_share_mmap_commit(pcm, offset, size); in snd_pcm_share_mmap_commit()
872 static int snd_pcm_share_prepare(snd_pcm_t *pcm) in snd_pcm_share_prepare() argument
874 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_prepare()
892 err = snd_pcm_prepare(slave->pcm); in snd_pcm_share_prepare()
905 static int snd_pcm_share_reset(snd_pcm_t *pcm) in snd_pcm_share_reset() argument
907 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_reset()
912 snd_pcm_areas_silence(pcm->running_areas, 0, pcm->channels, pcm->buffer_size, pcm->format); in snd_pcm_share_reset()
913 share->hw_ptr = *slave->pcm->hw.ptr; in snd_pcm_share_reset()
919 static int snd_pcm_share_start(snd_pcm_t *pcm) in snd_pcm_share_start() argument
921 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_start()
923 snd_pcm_t *spcm = slave->pcm; in snd_pcm_share_start()
929 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) { in snd_pcm_share_start()
930 snd_pcm_uframes_t hw_avail = snd_pcm_mmap_playback_hw_avail(pcm); in snd_pcm_share_start()
950 snd_pcm_uframes_t offset = snd_pcm_mmap_offset(pcm); in snd_pcm_share_start()
951 snd_pcm_uframes_t cont = pcm->buffer_size - offset; in snd_pcm_share_start()
954 if (pcm->stopped_areas != NULL) in snd_pcm_share_start()
955 snd_pcm_areas_copy(pcm->running_areas, offset, in snd_pcm_share_start()
956 pcm->stopped_areas, xfer, in snd_pcm_share_start()
957 pcm->channels, frames, in snd_pcm_share_start()
958 pcm->format); in snd_pcm_share_start()
961 snd_pcm_mmap_appl_forward(pcm, hw_avail); in snd_pcm_share_start()
978 _snd_pcm_share_update(pcm); in snd_pcm_share_start()
979 gettimestamp(&share->trigger_tstamp, pcm->tstamp_type); in snd_pcm_share_start()
985 static int snd_pcm_share_pause(snd_pcm_t *pcm ATTRIBUTE_UNUSED, int enable ATTRIBUTE_UNUSED) in snd_pcm_share_pause()
990 static int snd_pcm_share_resume(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_share_resume()
995 static int snd_pcm_share_channel_info(snd_pcm_t *pcm, snd_pcm_channel_info_t *info) in snd_pcm_share_channel_info() argument
997 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_channel_info()
1003 err = snd_pcm_channel_info(slave->pcm, info); in snd_pcm_share_channel_info()
1008 static snd_pcm_sframes_t _snd_pcm_share_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t frames) in _snd_pcm_share_rewind() argument
1010 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_rewind()
1017 if (pcm->stream != SND_PCM_STREAM_PLAYBACK) in _snd_pcm_share_rewind()
1021 if (pcm->stream != SND_PCM_STREAM_CAPTURE) in _snd_pcm_share_rewind()
1029 n = snd_pcm_mmap_hw_avail(pcm); in _snd_pcm_share_rewind()
1034 snd_pcm_sframes_t ret = snd_pcm_rewind(slave->pcm, frames); in _snd_pcm_share_rewind()
1039 snd_pcm_mmap_appl_backward(pcm, frames); in _snd_pcm_share_rewind()
1040 _snd_pcm_share_update(pcm); in _snd_pcm_share_rewind()
1044 static snd_pcm_sframes_t snd_pcm_share_rewindable(snd_pcm_t *pcm) in snd_pcm_share_rewindable() argument
1046 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_rewindable()
1050 ret = snd_pcm_rewindable(slave->pcm); in snd_pcm_share_rewindable()
1055 static snd_pcm_sframes_t snd_pcm_share_rewind(snd_pcm_t *pcm, snd_pcm_uframes_t frames) in snd_pcm_share_rewind() argument
1057 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_rewind()
1061 ret = _snd_pcm_share_rewind(pcm, frames); in snd_pcm_share_rewind()
1066 static snd_pcm_sframes_t _snd_pcm_share_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames) in _snd_pcm_share_forward() argument
1068 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_forward()
1075 if (pcm->stream != SND_PCM_STREAM_PLAYBACK) in _snd_pcm_share_forward()
1079 if (pcm->stream != SND_PCM_STREAM_CAPTURE) in _snd_pcm_share_forward()
1087 n = snd_pcm_mmap_avail(pcm); in _snd_pcm_share_forward()
1091 snd_pcm_sframes_t ret = INTERNAL(snd_pcm_forward)(slave->pcm, frames); in _snd_pcm_share_forward()
1096 snd_pcm_mmap_appl_forward(pcm, frames); in _snd_pcm_share_forward()
1097 _snd_pcm_share_update(pcm); in _snd_pcm_share_forward()
1101 static snd_pcm_sframes_t snd_pcm_share_forwardable(snd_pcm_t *pcm) in snd_pcm_share_forwardable() argument
1103 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_forwardable()
1107 ret = snd_pcm_forwardable(slave->pcm); in snd_pcm_share_forwardable()
1112 static snd_pcm_sframes_t snd_pcm_share_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames) in snd_pcm_share_forward() argument
1114 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_forward()
1118 ret = _snd_pcm_share_forward(pcm, frames); in snd_pcm_share_forward()
1124 static void _snd_pcm_share_stop(snd_pcm_t *pcm, snd_pcm_state_t state) in _snd_pcm_share_stop() argument
1126 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_stop()
1129 if (!pcm->mmap_channels) { in _snd_pcm_share_stop()
1134 gettimestamp(&share->trigger_tstamp, pcm->tstamp_type); in _snd_pcm_share_stop()
1135 if (pcm->stream == SND_PCM_STREAM_CAPTURE) { in _snd_pcm_share_stop()
1136 snd_pcm_areas_copy(pcm->stopped_areas, 0, in _snd_pcm_share_stop()
1137 pcm->running_areas, 0, in _snd_pcm_share_stop()
1138 pcm->channels, pcm->buffer_size, in _snd_pcm_share_stop()
1139 pcm->format); in _snd_pcm_share_stop()
1143 snd_pcm_areas_silence(pcm->running_areas, 0, pcm->channels, in _snd_pcm_share_stop()
1144 pcm->buffer_size, pcm->format); in _snd_pcm_share_stop()
1145 err = snd_pcm_delay(slave->pcm, &delay); in _snd_pcm_share_stop()
1147 snd_pcm_rewind(slave->pcm, delay); in _snd_pcm_share_stop()
1154 int err = snd_pcm_drop(slave->pcm); in _snd_pcm_share_stop()
1159 static int snd_pcm_share_drain(snd_pcm_t *pcm) in snd_pcm_share_drain() argument
1161 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_drain()
1177 if (pcm->stream == SND_PCM_STREAM_PLAYBACK) { in snd_pcm_share_drain()
1185 _snd_pcm_share_update(pcm); in snd_pcm_share_drain()
1187 if (!(pcm->mode & SND_PCM_NONBLOCK)) in snd_pcm_share_drain()
1188 snd_pcm_wait(pcm, -1); in snd_pcm_share_drain()
1197 _snd_pcm_share_stop(pcm, SND_PCM_STATE_DRAINING); in snd_pcm_share_drain()
1198 _snd_pcm_share_update(pcm); in snd_pcm_share_drain()
1202 if (snd_pcm_mmap_capture_avail(pcm) <= 0) in snd_pcm_share_drain()
1217 static int snd_pcm_share_drop(snd_pcm_t *pcm) in snd_pcm_share_drop() argument
1219 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_drop()
1230 if (pcm->stream == SND_PCM_STREAM_CAPTURE) { in snd_pcm_share_drop()
1236 _snd_pcm_share_stop(pcm, SND_PCM_STATE_SETUP); in snd_pcm_share_drop()
1237 _snd_pcm_share_update(pcm); in snd_pcm_share_drop()
1254 static int snd_pcm_share_close(snd_pcm_t *pcm) in snd_pcm_share_close() argument
1256 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_close()
1268 err = snd_pcm_close(slave->pcm); in snd_pcm_share_close()
1286 static int snd_pcm_share_mmap(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_share_mmap()
1291 static int snd_pcm_share_munmap(snd_pcm_t *pcm ATTRIBUTE_UNUSED) in snd_pcm_share_munmap()
1296 static void snd_pcm_share_dump(snd_pcm_t *pcm, snd_output_t *out) in snd_pcm_share_dump() argument
1298 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_dump()
1305 if (pcm->setup) { in snd_pcm_share_dump()
1307 snd_pcm_dump_setup(pcm, out); in snd_pcm_share_dump()
1310 snd_pcm_dump(slave->pcm, out); in snd_pcm_share_dump()
1379 snd_pcm_t *pcm; in snd_pcm_share_open() local
1416 err = snd_pcm_new(&pcm, SND_PCM_TYPE_SHARE, name, stream, mode); in snd_pcm_share_open()
1424 snd_pcm_free(pcm); in snd_pcm_share_open()
1450 snd_pcm_free(pcm); in snd_pcm_share_open()
1459 if (s->pcm->name && strcmp(s->pcm->name, sname) == 0) { in snd_pcm_share_open()
1471 snd_pcm_free(pcm); in snd_pcm_share_open()
1484 snd_pcm_free(pcm); in snd_pcm_share_open()
1490 slave->pcm = spcm; in snd_pcm_share_open()
1514 snd_pcm_free(pcm); in snd_pcm_share_open()
1524 share->pcm = pcm; in snd_pcm_share_open()
1528 pcm->mmap_rw = 1; in snd_pcm_share_open()
1529 pcm->ops = &snd_pcm_share_ops; in snd_pcm_share_open()
1530 pcm->fast_ops = &snd_pcm_share_fast_ops; in snd_pcm_share_open()
1531 pcm->private_data = share; in snd_pcm_share_open()
1532 pcm->poll_fd = share->client_socket; in snd_pcm_share_open()
1533 pcm->poll_events = stream == SND_PCM_STREAM_PLAYBACK ? POLLOUT : POLLIN; in snd_pcm_share_open()
1534 pcm->tstamp_type = slave->pcm->tstamp_type; in snd_pcm_share_open()
1535 snd_pcm_set_hw_ptr(pcm, &share->hw_ptr, -1, 0); in snd_pcm_share_open()
1536 snd_pcm_set_appl_ptr(pcm, &share->appl_ptr, -1, 0); in snd_pcm_share_open()
1543 *pcmp = pcm; in snd_pcm_share_open()