Lines Matching refs:share

150 		snd_pcm_share_t *share = list_entry(i, snd_pcm_share_t, list);
151 snd_pcm_t *pcm = share->pcm;
152 switch (share->state) {
166 if (share->state != SND_PCM_STATE_RUNNING)
199 snd_pcm_share_t *share = pcm->private_data;
200 snd_pcm_share_slave_t *slave = share->slave;
209 // printf("state=%s hw_ptr=%ld appl_ptr=%ld slave appl_ptr=%ld safety=%ld silence=%ld\n", snd_pcm_state_name(share->state), slave->hw_ptr, share->appl_ptr, *slave->pcm->appl_ptr, slave->safety_threshold, slave->silence_frames);
210 switch (share->state) {
220 share->hw_ptr = slave->hw_ptr;
223 _snd_pcm_share_stop(pcm, share->state == SND_PCM_STATE_DRAINING ? SND_PCM_STATE_SETUP : SND_PCM_STATE_XRUN);
254 switch (share->state) {
285 SNDERR("invalid shared PCM state %d", share->state);
290 if (ready != share->ready) {
295 s = read(share->slave_socket, buf, 1);
297 s = write(share->client_socket, buf, 1);
300 s = write(share->slave_socket, buf, 1);
302 s = read(share->client_socket, buf, 1);
311 share->ready = ready;
316 share->state == SND_PCM_STATE_DRAINING &&
317 !share->drain_silenced) {
320 snd_pcm_uframes_t offset = share->appl_ptr % buffer_size;
334 share->drain_silenced = 1;
353 snd_pcm_share_t *share = list_entry(i, snd_pcm_share_t, list);
354 snd_pcm_t *pcm = share->pcm;
430 snd_pcm_share_t *share = pcm->private_data;
431 snd_pcm_share_slave_t *slave = share->slave;
479 snd_pcm_share_t *share = pcm->private_data;
480 return snd_pcm_info(share->slave->pcm, info);
485 snd_pcm_share_t *share = pcm->private_data;
486 snd_pcm_share_slave_t *slave = share->slave;
496 share->channels, 0);
529 snd_pcm_share_t *share = pcm->private_data;
530 snd_pcm_share_slave_t *slave = share->slave;
603 snd_pcm_share_t *share = pcm->private_data;
604 return snd_pcm_hw_refine(share->slave->pcm, params);
609 snd_pcm_share_t *share = pcm->private_data;
610 return _snd_pcm_hw_params_internal(share->slave->pcm, params);
625 snd_pcm_share_t *share = pcm->private_data;
626 snd_pcm_share_slave_t *slave = share->slave;
672 share->state = SND_PCM_STATE_SETUP;
681 snd_pcm_share_t *share = pcm->private_data;
682 snd_pcm_share_slave_t *slave = share->slave;
688 share->state = SND_PCM_STATE_OPEN;
700 snd_pcm_share_t *share = pcm->private_data;
701 snd_pcm_share_slave_t *slave = share->slave;
707 if (share->state != SND_PCM_STATE_RUNNING &&
708 share->state != SND_PCM_STATE_DRAINING)
713 if (share->state != SND_PCM_STATE_RUNNING)
722 status->state = share->state;
725 status->trigger_tstamp = share->trigger_tstamp;
733 snd_pcm_share_t *share = pcm->private_data;
734 return share->state;
739 snd_pcm_share_t *share = pcm->private_data;
740 snd_pcm_share_slave_t *slave = share->slave;
741 switch (share->state) {
752 snd_pcm_share_t *share = pcm->private_data;
753 snd_pcm_share_slave_t *slave = share->slave;
763 snd_pcm_share_t *share = pcm->private_data;
764 snd_pcm_share_slave_t *slave = share->slave;
765 switch (share->state) {
782 snd_pcm_share_t *share = pcm->private_data;
783 snd_pcm_share_slave_t *slave = share->slave;
793 snd_pcm_share_t *share = pcm->private_data;
794 snd_pcm_share_slave_t *slave = share->slave;
797 if (share->state == SND_PCM_STATE_RUNNING) {
803 share->hw_ptr = *slave->pcm->hw.ptr;
815 snd_pcm_share_t *share = pcm->private_data;
816 snd_pcm_share_slave_t *slave = share->slave;
829 snd_pcm_share_t *share = pcm->private_data;
830 snd_pcm_share_slave_t *slave = share->slave;
835 share->state == SND_PCM_STATE_RUNNING) {
836 frames = *spcm->appl.ptr - share->appl_ptr;
849 if (share->state == SND_PCM_STATE_RUNNING) {
872 snd_pcm_share_t *share = pcm->private_data;
873 snd_pcm_share_slave_t *slave = share->slave;
883 snd_pcm_share_t *share = pcm->private_data;
884 snd_pcm_share_slave_t *slave = share->slave;
887 switch (share->state) {
906 share->hw_ptr = 0;
907 share->appl_ptr = 0;
908 share->state = SND_PCM_STATE_PREPARED;
916 snd_pcm_share_t *share = pcm->private_data;
917 snd_pcm_share_slave_t *slave = share->slave;
922 share->hw_ptr = *slave->pcm->hw.ptr;
923 share->appl_ptr = share->hw_ptr;
930 snd_pcm_share_t *share = pcm->private_data;
931 snd_pcm_share_slave_t *slave = share->slave;
934 if (share->state != SND_PCM_STATE_PREPARED)
937 share->state = SND_PCM_STATE_RUNNING;
954 assert(share->hw_ptr == 0);
955 share->hw_ptr = *spcm->hw.ptr;
956 share->appl_ptr = *spcm->appl.ptr;
988 gettimestamp(&share->trigger_tstamp, pcm->tstamp_type);
1006 snd_pcm_share_t *share = pcm->private_data;
1007 snd_pcm_share_slave_t *slave = share->slave;
1009 int c = share->slave_channels[channel];
1019 snd_pcm_share_t *share = pcm->private_data;
1020 snd_pcm_share_slave_t *slave = share->slave;
1022 switch (share->state) {
1042 if (share->state == SND_PCM_STATE_RUNNING && frames > 0) {
1055 snd_pcm_share_t *share = pcm->private_data;
1056 snd_pcm_share_slave_t *slave = share->slave;
1066 snd_pcm_share_t *share = pcm->private_data;
1067 snd_pcm_share_slave_t *slave = share->slave;
1077 snd_pcm_share_t *share = pcm->private_data;
1078 snd_pcm_share_slave_t *slave = share->slave;
1080 switch (share->state) {
1099 if (share->state == SND_PCM_STATE_RUNNING && frames > 0) {
1112 snd_pcm_share_t *share = pcm->private_data;
1113 snd_pcm_share_slave_t *slave = share->slave;
1123 snd_pcm_share_t *share = pcm->private_data;
1124 snd_pcm_share_slave_t *slave = share->slave;
1135 snd_pcm_share_t *share = pcm->private_data;
1136 snd_pcm_share_slave_t *slave = share->slave;
1143 gettimestamp(&share->trigger_tstamp, pcm->tstamp_type);
1157 share->drain_silenced = 0;
1159 share->state = state;
1170 snd_pcm_share_t *share = pcm->private_data;
1171 snd_pcm_share_slave_t *slave = share->slave;
1174 switch (share->state) {
1179 share->state = SND_PCM_STATE_SETUP;
1187 switch (share->state) {
1189 share->state = SND_PCM_STATE_SETUP;
1193 share->state = SND_PCM_STATE_DRAINING;
1204 switch (share->state) {
1212 share->state = SND_PCM_STATE_SETUP;
1214 share->state = SND_PCM_STATE_DRAINING;
1228 snd_pcm_share_t *share = pcm->private_data;
1229 snd_pcm_share_slave_t *slave = share->slave;
1232 switch (share->state) {
1240 share->state = SND_PCM_STATE_SETUP;
1250 share->state = SND_PCM_STATE_SETUP;
1257 share->appl_ptr = share->hw_ptr = 0;
1265 snd_pcm_share_t *share = pcm->private_data;
1266 snd_pcm_share_slave_t *slave = share->slave;
1282 list_del(&share->list);
1284 list_del(&share->list);
1288 close(share->client_socket);
1289 close(share->slave_socket);
1290 free(share->slave_channels);
1291 free(share);
1307 snd_pcm_share_t *share = pcm->private_data;
1308 snd_pcm_share_slave_t *slave = share->slave;
1312 for (k = 0; k < share->channels; ++k)
1313 snd_output_printf(out, " %d: %d\n", k, share->slave_channels[k]);
1389 snd_pcm_share_t *share;
1413 share = calloc(1, sizeof(snd_pcm_share_t));
1414 if (!share)
1417 share->channels = channels;
1418 share->slave_channels = calloc(channels, sizeof(*share->slave_channels));
1419 if (!share->slave_channels) {
1420 free(share);
1423 memcpy(share->slave_channels, channels_map, channels * sizeof(*share->slave_channels));
1427 free(share->slave_channels);
1428 free(share);
1434 free(share->slave_channels);
1435 free(share);
1460 free(share->slave_channels);
1461 free(share);
1481 free(share->slave_channels);
1482 free(share);
1494 free(share->slave_channels);
1495 free(share);
1524 free(share->slave_channels);
1525 free(share);
1532 share->slave = slave;
1533 share->pcm = pcm;
1534 share->client_socket = sd[0];
1535 share->slave_socket = sd[1];
1540 pcm->private_data = share;
1541 pcm->poll_fd = share->client_socket;
1544 snd_pcm_set_hw_ptr(pcm, &share->hw_ptr, -1, 0);
1545 snd_pcm_set_appl_ptr(pcm, &share->appl_ptr, -1, 0);
1548 list_add_tail(&share->list, &slave->clients);
1567 share plugin requires the server program "aserver", while dshare plugin
1572 type share # Share PCM