Lines Matching refs:card

31 es1370_ac97_get_mix(void *card, const void *cookie, int32 type, float *values) {
32 es1370_dev *dev = (es1370_dev*)card;
89 es1370_ac97_set_mix(void *card, const void *cookie, int32 type, float *values) {
90 es1370_dev *dev = (es1370_dev*)card;
189 es1370_get_mix(es1370_dev *card, multi_mix_value_info * mmvi)
195 if (id < 0 || (uint32)id >= card->multi.control_count) {
200 control = &card->multi.controls[id];
205 control->get(card, control->cookie, control->type, values);
215 control->get(card, control->cookie, control->type, values);
221 control->get(card, control->cookie, control->type, values);
229 es1370_set_mix(es1370_dev *card, multi_mix_value_info * mmvi)
235 if (id < 0 || (uint32)id >= card->multi.control_count) {
240 control = &card->multi.controls[id];
246 if (id < 0 || (uint32)id >= card->multi.control_count) {
250 control2 = &card->multi.controls[id];
269 control->set(card, control->cookie, control->type, values);
280 control->set(card, control->cookie, control->type, values);
287 control->set(card, control->cookie, control->type, values);
294 es1370_list_mix_controls(es1370_dev *card, multi_mix_control_info * mmci)
303 if (es1370_create_controls_list(&card->multi) < B_OK)
305 for (i = 0; i < card->multi.control_count; i++) {
306 mmc[i] = card->multi.controls[i].mix_control;
309 mmci->control_count = card->multi.control_count;
314 es1370_list_mix_connections(es1370_dev *card, multi_mix_connection_info * data)
320 es1370_list_mix_channels(es1370_dev *card, multi_mix_channel_info *data)
378 LIST_FOREACH(stream, &((es1370_dev*)multi->card)->streams, next) {
439 es1370_get_description(es1370_dev *card, multi_description *data)
449 data->output_channel_count = card->multi.output_channel_count;
450 data->input_channel_count = card->multi.input_channel_count;
451 data->output_bus_channel_count = card->multi.output_bus_channel_count;
452 data->input_bus_channel_count = card->multi.input_bus_channel_count;
453 data->aux_bus_channel_count = card->multi.aux_bus_channel_count;
455 size = card->multi.output_channel_count + card->multi.input_channel_count
456 + card->multi.output_bus_channel_count + card->multi.input_bus_channel_count
457 + card->multi.aux_bus_channel_count;
468 memcpy(data->channels, card->multi.chans, size * sizeof(card->multi.chans[0]));
492 es1370_get_enabled_channels(es1370_dev *card, multi_channel_enable *data)
511 es1370_set_enabled_channels(es1370_dev *card, multi_channel_enable *data)
523 es1370_get_global_format(es1370_dev *card, multi_format_info *data)
539 es1370_set_global_format(es1370_dev *card, multi_format_info *data)
549 es1370_get_buffers(es1370_dev *card, multi_buffer_list *data)
567 pchannels = card->pstream->channels;
568 rchannels = card->rstream->channels;
591 es1370_stream_get_nth_buffer(card->pstream, j, i,
612 es1370_stream_get_nth_buffer(card->rstream, j, i,
642 release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
661 release_sem_etc(stream->card->buffer_ready_sem, 1, B_DO_NOT_RESCHEDULE);
665 es1370_buffer_exchange(es1370_dev *card, multi_buffer_info *data)
680 if (!(card->pstream->state & ES1370_STATE_STARTED))
681 es1370_stream_start(card->pstream, es1370_play_inth, card->pstream);
683 if (!(card->rstream->state & ES1370_STATE_STARTED))
684 es1370_stream_start(card->rstream, es1370_record_inth, card->rstream);
686 if (acquire_sem_etc(card->buffer_ready_sem, 1, B_RELATIVE_TIMEOUT | B_CAN_INTERRUPT, 100000)
693 LIST_FOREACH(pstream, &card->streams, next) {
701 LIST_FOREACH(rstream, &card->streams, next) {
710 pstream = card->pstream;
712 rstream = card->rstream;
741 es1370_buffer_force_stop(es1370_dev *card)
743 //es1370_voice_halt(card->pvoice);
765 es1370_dev *card = (es1370_dev *)cookie;
767 return multi_audio_control_generic(card, op, data, length);
793 es1370_dev *card = NULL;
801 card = &cards[ix];
805 if (card == NULL) {
806 LOG(("open() card not found %s\n", name));
808 LOG(("open() card available %s\n", cards[ix].name));
813 LOG(("open() got card\n"));
815 if (card->pstream !=NULL)
817 if (card->rstream !=NULL)
820 *cookie = card;
821 card->multi.card = card;
850 card->rstream = es1370_stream_new(card, ES1370_USE_RECORD, current_settings.buffer_frames, current_settings.buffer_count);
851 card->pstream = es1370_stream_new(card, ES1370_USE_PLAY, current_settings.buffer_frames, current_settings.buffer_count);
853 card->buffer_ready_sem = create_sem(0, "pbuffer ready");
857 es1370_stream_set_audioparms(card->pstream, 2, true, current_settings.sample_rate);
858 es1370_stream_set_audioparms(card->rstream, 2, true, current_settings.sample_rate);
860 card->pstream->first_channel = 0;
861 card->rstream->first_channel = 2;
863 es1370_stream_commit_parms(card->pstream);
864 es1370_stream_commit_parms(card->rstream);
866 es1370_create_channels_list(&card->multi);
874 //es1370_dev *card = cookie;
883 es1370_dev *card = cookie;
887 if (card->buffer_ready_sem > B_OK)
888 delete_sem(card->buffer_ready_sem);
890 LIST_FOREACH(stream, &card->streams, next) {
894 while (!LIST_EMPTY(&card->streams)) {
895 es1370_stream_delete(LIST_FIRST(&card->streams));
898 card->pstream = NULL;
899 card->rstream = NULL;