Lines Matching refs:card

53 auich_ac97_get_mix(void *card, const void *cookie, int32 type, float *values) {
54 auich_dev *dev = (auich_dev*)card;
112 auich_ac97_set_mix(void *card, const void *cookie, int32 type, float *values) {
113 auich_dev *dev = (auich_dev*)card;
395 auich_get_mix(auich_dev *card, multi_mix_value_info * mmvi)
401 if (id < 0 || (uint32)id >= card->multi.control_count) {
406 control = &card->multi.controls[id];
411 control->get(card, control->cookie, control->type, values);
421 control->get(card, control->cookie, control->type, values);
427 control->get(card, control->cookie, control->type, values);
436 auich_set_mix(auich_dev *card, multi_mix_value_info * mmvi)
442 if (id < 0 || (uint32)id >= card->multi.control_count) {
447 control = &card->multi.controls[id];
453 if (id < 0 || (uint32)id >= card->multi.control_count) {
457 control2 = &card->multi.controls[id];
476 control->set(card, control->cookie, control->type, values);
487 control->set(card, control->cookie, control->type, values);
494 control->set(card, control->cookie, control->type, values);
502 auich_list_mix_controls(auich_dev *card, multi_mix_control_info * mmci)
511 if (auich_create_controls_list(&card->multi) < B_OK)
514 for (i = 0; i < card->multi.control_count; i++)
515 mmc[i] = card->multi.controls[i].mix_control;
517 mmci->control_count = card->multi.control_count;
523 auich_list_mix_connections(auich_dev *card, multi_mix_connection_info * data)
530 auich_list_mix_channels(auich_dev *card, multi_mix_channel_info *data)
588 LIST_FOREACH(stream, &((auich_dev*)multi->card)->streams, next) {
648 auich_get_description(auich_dev *card, multi_description *data)
655 switch(card->info.vendor_id) {
678 data->output_channel_count = card->multi.output_channel_count;
679 data->input_channel_count = card->multi.input_channel_count;
680 data->output_bus_channel_count = card->multi.output_bus_channel_count;
681 data->input_bus_channel_count = card->multi.input_bus_channel_count;
682 data->aux_bus_channel_count = card->multi.aux_bus_channel_count;
684 size = card->multi.output_channel_count + card->multi.input_channel_count
685 + card->multi.output_bus_channel_count + card->multi.input_bus_channel_count
686 + card->multi.aux_bus_channel_count;
696 memcpy(data->channels, card->multi.chans, size * sizeof(card->multi.chans[0]));
720 auich_get_enabled_channels(auich_dev *card, multi_channel_enable *data)
738 auich_get_global_format(auich_dev *card, multi_format_info *data)
759 auich_set_global_format(auich_dev *card, multi_format_info* data)
767 auich_get_buffers(auich_dev *card, multi_buffer_list *data)
779 pchannels = card->pstream->channels;
780 rchannels = card->rstream->channels;
805 auich_stream_get_nth_buffer(card->pstream, j, i,
825 auich_stream_get_nth_buffer(card->rstream, j, i,
854 //get_sem_count(stream->card->buffer_ready_sem, &count);
856 release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
876 //get_sem_count(stream->card->buffer_ready_sem, &count);
878 release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
883 auich_buffer_exchange(auich_dev *card, multi_buffer_info *data)
898 if (!(card->pstream->state & AUICH_STATE_STARTED))
899 auich_stream_start(card->pstream, auich_play_inth, card->pstream);
901 if (!(card->rstream->state & AUICH_STATE_STARTED))
902 auich_stream_start(card->rstream, auich_record_inth, card->rstream);
904 if (acquire_sem_etc(card->buffer_ready_sem, 1, B_RELATIVE_TIMEOUT | B_CAN_INTERRUPT, 50000)
911 LIST_FOREACH(pstream, &card->streams, next) {
919 LIST_FOREACH(rstream, &card->streams, next) {
928 pstream = card->pstream;
930 rstream = card->rstream;
960 auich_buffer_force_stop(auich_dev *card)
962 //auich_voice_halt(card->pvoice);
986 auich_dev *card = (auich_dev *)cookie;
988 return multi_audio_control_generic(card, op, arg, length);
1015 auich_dev *card = NULL;
1023 card = &cards[ix];
1027 if (card == NULL) {
1028 LOG(("open() card not found %s\n", name));
1030 LOG(("open() card available %s\n", cards[ix].name));
1035 LOG(("open() got card\n"));
1037 if (card->pstream !=NULL)
1039 if (card->rstream !=NULL)
1042 *cookie = card;
1043 card->multi.card = card;
1072 card->rstream = auich_stream_new(card, AUICH_USE_RECORD, current_settings.buffer_frames, current_settings.buffer_count);
1073 card->pstream = auich_stream_new(card, AUICH_USE_PLAY, current_settings.buffer_frames, current_settings.buffer_count);
1075 card->buffer_ready_sem = create_sem(0, "pbuffer ready");
1079 auich_stream_set_audioparms(card->pstream, 2, true, current_settings.sample_rate);
1080 auich_stream_set_audioparms(card->rstream, 2, true, current_settings.sample_rate);
1082 card->pstream->first_channel = 0;
1083 card->rstream->first_channel = 2;
1085 auich_stream_commit_parms(card->pstream);
1086 auich_stream_commit_parms(card->rstream);
1088 auich_create_channels_list(&card->multi);
1097 //auich_dev *card = cookie;
1107 auich_dev *card = cookie;
1111 if (card->buffer_ready_sem > B_OK)
1112 delete_sem(card->buffer_ready_sem);
1114 LIST_FOREACH(stream, &card->streams, next) {
1118 while (!LIST_EMPTY(&card->streams)) {
1119 auich_stream_delete(LIST_FIRST(&card->streams));
1122 card->pstream = NULL;
1123 card->rstream = NULL;