Lines Matching refs:data

64 get_description(geode_controller* controller, multi_description* data)
66 data->interface_version = B_CURRENT_INTERFACE_VERSION;
67 data->interface_minimum = B_CURRENT_INTERFACE_VERSION;
69 strcpy(data->friendly_name, "Geode");
70 strcpy(data->vendor_info, "Haiku");
80 data->output_channel_count = outChannels;
81 data->output_bus_channel_count = outChannels;
82 data->input_channel_count = inChannels;
83 data->input_bus_channel_count = inChannels;
84 data->aux_bus_channel_count = 0;
86 dprintf("%s: request_channel_count: %" B_PRId32 "\n", __func__, data->request_channel_count);
88 if (data->request_channel_count >= (int)(sizeof(sChannels)
90 memcpy(data->channels, &sChannels, sizeof(sChannels));
94 data->output_rates = B_SR_48000;
95 data->input_rates = B_SR_48000;
98 if (data->output_rates == 0)
99 data->output_rates = B_SR_48000;
100 if (data->input_rates == 0)
101 data->input_rates = B_SR_48000;
103 data->max_cvsr_rate = 0;
104 data->min_cvsr_rate = 0;
106 data->output_formats = B_FMT_16BIT;
107 data->input_formats = B_FMT_16BIT;
108 data->lock_sources = B_MULTI_LOCK_INTERNAL;
109 data->timecode_sources = 0;
110 data->interface_flags = B_MULTI_INTERFACE_PLAYBACK | B_MULTI_INTERFACE_RECORD;
111 data->start_latency = 30000;
113 strcpy(data->control_panel, "");
120 get_enabled_channels(geode_controller* controller, multi_channel_enable* data)
122 B_SET_CHANNEL(data->enable_bits, 0, true);
123 B_SET_CHANNEL(data->enable_bits, 1, true);
124 B_SET_CHANNEL(data->enable_bits, 2, true);
125 B_SET_CHANNEL(data->enable_bits, 3, true);
126 data->lock_source = B_MULTI_LOCK_INTERNAL;
133 get_global_format(geode_controller* controller, multi_format_info* data)
135 data->output_latency = 0;
136 data->input_latency = 0;
137 data->timecode_kind = 0;
140 data->output.format = controller->playback_stream->sample_format;
141 data->output.rate = controller->playback_stream->sample_rate;
143 data->output.format = 0;
144 data->output.rate = 0;
148 data->input.format = controller->record_stream->sample_format;
149 data->input.rate = controller->record_stream->sample_format;
151 data->input.format = 0;
152 data->input.rate = 0;
160 set_global_format(geode_controller* controller, multi_format_info* data)
164 if ((data->output.format & audioGroup->supported_formats) == 0)
165 || (data->output.rate & audioGroup->supported_rates) == 0)
170 controller->playback_stream->sample_format = data->output.format;
171 controller->playback_stream->sample_rate = data->output.rate;
177 controller->record_stream->sample_rate = data->input.rate;
178 controller->record_stream->sample_format = data->input.format;
546 multi_mix_connection_info* data)
548 data->actual_count = 0;
554 list_mix_channels(geode_controller* controller, multi_mix_channel_info *data)
662 get_buffers(geode_controller* controller, multi_buffer_list* data)
665 data->request_playback_buffers, data->request_playback_channels,
666 data->request_playback_buffer_size);
668 data->request_record_buffers, data->request_record_channels,
669 data->request_record_buffer_size);
673 data->return_playback_buffers = data->request_playback_buffers;
674 data->return_playback_channels = data->request_playback_channels;
675 data->return_playback_buffer_size = data->request_playback_buffer_size;
676 data->return_record_buffers = data->request_record_buffers;
677 data->return_record_channels = data->request_record_channels;
678 data->return_record_buffer_size = data->request_record_buffer_size;
683 if (data->return_playback_buffers > STREAM_MAX_BUFFERS
684 || data->return_playback_buffers < STREAM_MIN_BUFFERS)
685 data->return_playback_buffers = STREAM_MIN_BUFFERS;
687 if (data->return_record_buffers > STREAM_MAX_BUFFERS
688 || data->return_record_buffers < STREAM_MIN_BUFFERS)
689 data->return_record_buffers = STREAM_MIN_BUFFERS;
691 if (data->return_playback_buffer_size == 0)
692 data->return_playback_buffer_size = DEFAULT_FRAMES_PER_BUFFER;
694 if (data->return_record_buffer_size == 0)
695 data->return_record_buffer_size = DEFAULT_FRAMES_PER_BUFFER;
700 data->flags = B_MULTI_BUFFER_PLAYBACK | B_MULTI_BUFFER_RECORD;
705 controller->playback_stream->num_buffers = data->return_playback_buffers;
706 controller->playback_stream->num_channels = data->return_playback_channels;
708 = data->return_playback_buffer_size;
720 controller->record_stream->num_buffers = data->return_record_buffers;
721 controller->record_stream->num_channels = data->return_record_channels;
723 = data->return_record_buffer_size;
734 /* Setup data structure for multi_audio API... */
739 for (int32 i = 0; i < data->return_playback_buffers; i++) {
741 channelIndex < data->return_playback_channels; channelIndex++) {
742 data->playback_buffers[i][channelIndex].base
745 data->playback_buffers[i][channelIndex].stride
746 = playbackSampleSize * data->return_playback_channels;
754 for (int32 i = 0; i < data->return_record_buffers; i++) {
756 channelIndex < data->return_record_channels; channelIndex++) {
757 data->record_buffers[i][channelIndex].base
760 data->record_buffers[i][channelIndex].stride
761 = recordSampleSize * data->return_record_channels;
772 buffer_exchange(geode_controller* controller, multi_buffer_info* data)
790 if (user_memcpy(&buffer_info, data, sizeof(buffer_info)) < B_OK)
793 memcpy(&buffer_info, data, sizeof(buffer_info));
825 if (user_memcpy(data, &buffer_info, sizeof(buffer_info)) < B_OK)
828 memcpy(data, &buffer_info, sizeof(buffer_info));