Lines Matching refs:share
150 snd_pcm_share_t *share = list_entry(i, snd_pcm_share_t, list); in _snd_pcm_share_slave_forward() local
151 snd_pcm_t *pcm = share->pcm; in _snd_pcm_share_slave_forward()
152 switch (share->state) { in _snd_pcm_share_slave_forward()
166 if (share->state != SND_PCM_STATE_RUNNING) in _snd_pcm_share_slave_forward()
199 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_missing() local
200 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_missing()
209 switch (share->state) { in _snd_pcm_share_missing()
219 share->hw_ptr = slave->hw_ptr; 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()
253 switch (share->state) { in _snd_pcm_share_missing()
284 SNDERR("invalid shared PCM state %d", share->state); in _snd_pcm_share_missing()
289 if (ready != share->ready) { in _snd_pcm_share_missing()
293 read(share->slave_socket, buf, 1); in _snd_pcm_share_missing()
295 write(share->client_socket, buf, 1); in _snd_pcm_share_missing()
298 write(share->slave_socket, buf, 1); in _snd_pcm_share_missing()
300 read(share->client_socket, buf, 1); in _snd_pcm_share_missing()
302 share->ready = ready; in _snd_pcm_share_missing()
307 share->state == SND_PCM_STATE_DRAINING && in _snd_pcm_share_missing()
308 !share->drain_silenced) { in _snd_pcm_share_missing()
311 snd_pcm_uframes_t offset = share->appl_ptr % buffer_size; in _snd_pcm_share_missing()
325 share->drain_silenced = 1; in _snd_pcm_share_missing()
344 snd_pcm_share_t *share = list_entry(i, snd_pcm_share_t, list); in _snd_pcm_share_slave_missing() local
345 snd_pcm_t *pcm = share->pcm; in _snd_pcm_share_slave_missing()
421 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_update() local
422 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_update()
470 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_info() local
471 return snd_pcm_info(share->slave->pcm, info); in snd_pcm_share_info()
476 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_refine_cprepare() local
477 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_hw_refine_cprepare()
487 share->channels, 0); in snd_pcm_share_hw_refine_cprepare()
520 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_refine_sprepare() local
521 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_hw_refine_sprepare()
594 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_refine_slave() local
595 return snd_pcm_hw_refine(share->slave->pcm, params); in snd_pcm_share_hw_refine_slave()
600 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_params_slave() local
601 return _snd_pcm_hw_params_internal(share->slave->pcm, params); in snd_pcm_share_hw_params_slave()
616 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_params() local
617 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_hw_params()
663 share->state = SND_PCM_STATE_SETUP; in snd_pcm_share_hw_params()
672 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hw_free() local
673 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_hw_free()
679 share->state = SND_PCM_STATE_OPEN; in snd_pcm_share_hw_free()
691 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_status() local
692 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_status()
698 if (share->state != SND_PCM_STATE_RUNNING && in snd_pcm_share_status()
699 share->state != SND_PCM_STATE_DRAINING) in snd_pcm_share_status()
704 if (share->state != SND_PCM_STATE_RUNNING) in snd_pcm_share_status()
713 status->state = share->state; in snd_pcm_share_status()
716 status->trigger_tstamp = share->trigger_tstamp; in snd_pcm_share_status()
724 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_state() local
725 return share->state; in snd_pcm_share_state()
730 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_hwsync() local
731 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_hwsync()
732 switch (share->state) { in _snd_pcm_share_hwsync()
743 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_hwsync() local
744 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_hwsync()
754 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_delay() local
755 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_delay()
756 switch (share->state) { in _snd_pcm_share_delay()
773 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_delay() local
774 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_delay()
784 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_avail_update() local
785 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_avail_update()
788 if (share->state == SND_PCM_STATE_RUNNING) { in snd_pcm_share_avail_update()
794 share->hw_ptr = *slave->pcm->hw.ptr; in snd_pcm_share_avail_update()
806 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_htimestamp() local
807 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_htimestamp()
820 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_mmap_commit() local
821 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_mmap_commit()
826 share->state == SND_PCM_STATE_RUNNING) { in _snd_pcm_share_mmap_commit()
827 frames = *spcm->appl.ptr - share->appl_ptr; in _snd_pcm_share_mmap_commit()
840 if (share->state == SND_PCM_STATE_RUNNING) { in _snd_pcm_share_mmap_commit()
863 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_mmap_commit() local
864 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_mmap_commit()
874 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_prepare() local
875 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_prepare()
878 switch (share->state) { in snd_pcm_share_prepare()
897 share->hw_ptr = 0; in snd_pcm_share_prepare()
898 share->appl_ptr = 0; in snd_pcm_share_prepare()
899 share->state = SND_PCM_STATE_PREPARED; in snd_pcm_share_prepare()
907 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_reset() local
908 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_reset()
913 share->hw_ptr = *slave->pcm->hw.ptr; in snd_pcm_share_reset()
914 share->appl_ptr = share->hw_ptr; in snd_pcm_share_reset()
921 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_start() local
922 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_start()
925 if (share->state != SND_PCM_STATE_PREPARED) in snd_pcm_share_start()
928 share->state = SND_PCM_STATE_RUNNING; in snd_pcm_share_start()
945 assert(share->hw_ptr == 0); in snd_pcm_share_start()
946 share->hw_ptr = *spcm->hw.ptr; in snd_pcm_share_start()
947 share->appl_ptr = *spcm->appl.ptr; in snd_pcm_share_start()
979 gettimestamp(&share->trigger_tstamp, pcm->tstamp_type); in snd_pcm_share_start()
997 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_channel_info() local
998 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_channel_info()
1000 int c = share->slave_channels[channel]; in snd_pcm_share_channel_info()
1010 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_rewind() local
1011 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_rewind()
1013 switch (share->state) { in _snd_pcm_share_rewind()
1033 if (share->state == SND_PCM_STATE_RUNNING && frames > 0) { in _snd_pcm_share_rewind()
1046 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_rewindable() local
1047 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_rewindable()
1057 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_rewind() local
1058 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_rewind()
1068 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_forward() local
1069 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_forward()
1071 switch (share->state) { in _snd_pcm_share_forward()
1090 if (share->state == SND_PCM_STATE_RUNNING && frames > 0) { in _snd_pcm_share_forward()
1103 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_forwardable() local
1104 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_forwardable()
1114 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_forward() local
1115 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_forward()
1126 snd_pcm_share_t *share = pcm->private_data; in _snd_pcm_share_stop() local
1127 snd_pcm_share_slave_t *slave = share->slave; in _snd_pcm_share_stop()
1134 gettimestamp(&share->trigger_tstamp, pcm->tstamp_type); in _snd_pcm_share_stop()
1148 share->drain_silenced = 0; in _snd_pcm_share_stop()
1150 share->state = state; in _snd_pcm_share_stop()
1161 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_drain() local
1162 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_drain()
1165 switch (share->state) { in snd_pcm_share_drain()
1170 share->state = SND_PCM_STATE_SETUP; in snd_pcm_share_drain()
1178 switch (share->state) { in snd_pcm_share_drain()
1180 share->state = SND_PCM_STATE_SETUP; in snd_pcm_share_drain()
1184 share->state = SND_PCM_STATE_DRAINING; in snd_pcm_share_drain()
1195 switch (share->state) { in snd_pcm_share_drain()
1203 share->state = SND_PCM_STATE_SETUP; in snd_pcm_share_drain()
1205 share->state = SND_PCM_STATE_DRAINING; in snd_pcm_share_drain()
1219 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_drop() local
1220 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_drop()
1223 switch (share->state) { in snd_pcm_share_drop()
1231 share->state = SND_PCM_STATE_SETUP; in snd_pcm_share_drop()
1241 share->state = SND_PCM_STATE_SETUP; in snd_pcm_share_drop()
1248 share->appl_ptr = share->hw_ptr = 0; in snd_pcm_share_drop()
1256 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_close() local
1257 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_close()
1273 list_del(&share->list); in snd_pcm_share_close()
1275 list_del(&share->list); in snd_pcm_share_close()
1279 close(share->client_socket); in snd_pcm_share_close()
1280 close(share->slave_socket); in snd_pcm_share_close()
1281 free(share->slave_channels); in snd_pcm_share_close()
1282 free(share); in snd_pcm_share_close()
1298 snd_pcm_share_t *share = pcm->private_data; in snd_pcm_share_dump() local
1299 snd_pcm_share_slave_t *slave = share->slave; in snd_pcm_share_dump()
1303 for (k = 0; k < share->channels; ++k) in snd_pcm_share_dump()
1304 snd_output_printf(out, " %d: %d\n", k, share->slave_channels[k]); in snd_pcm_share_dump()
1380 snd_pcm_share_t *share; in snd_pcm_share_open() local
1404 share = calloc(1, sizeof(snd_pcm_share_t)); in snd_pcm_share_open()
1405 if (!share) in snd_pcm_share_open()
1408 share->channels = channels; in snd_pcm_share_open()
1409 share->slave_channels = calloc(channels, sizeof(*share->slave_channels)); in snd_pcm_share_open()
1410 if (!share->slave_channels) { in snd_pcm_share_open()
1411 free(share); in snd_pcm_share_open()
1414 memcpy(share->slave_channels, channels_map, channels * sizeof(*share->slave_channels)); in snd_pcm_share_open()
1418 free(share->slave_channels); in snd_pcm_share_open()
1419 free(share); in snd_pcm_share_open()
1425 free(share->slave_channels); in snd_pcm_share_open()
1426 free(share); in snd_pcm_share_open()
1451 free(share->slave_channels); in snd_pcm_share_open()
1452 free(share); in snd_pcm_share_open()
1472 free(share->slave_channels); in snd_pcm_share_open()
1473 free(share); in snd_pcm_share_open()
1485 free(share->slave_channels); in snd_pcm_share_open()
1486 free(share); in snd_pcm_share_open()
1515 free(share->slave_channels); in snd_pcm_share_open()
1516 free(share); in snd_pcm_share_open()
1523 share->slave = slave; in snd_pcm_share_open()
1524 share->pcm = pcm; in snd_pcm_share_open()
1525 share->client_socket = sd[0]; in snd_pcm_share_open()
1526 share->slave_socket = sd[1]; 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()
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()
1539 list_add_tail(&share->list, &slave->clients); in snd_pcm_share_open()