null_audio: fix warnings, enable -Werror

Change-Id: I83630f697cfb3d12bf8bea35b24dbdfd93b38ef1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7595
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Adrien Destugues
2024-04-06 20:35:18 +00:00
committed by waddlesplash
parent fa2e76a142
commit 4d058c90a6
3 changed files with 27 additions and 34 deletions
+1 -1
View File
@@ -681,7 +681,7 @@ rule ArchitectureSetupWarnings architecture
EnableWerror src add-ons kernel drivers audio generic ; EnableWerror src add-ons kernel drivers audio generic ;
# EnableWerror src add-ons kernel drivers audio hda ; # EnableWerror src add-ons kernel drivers audio hda ;
EnableWerror src add-ons kernel drivers audio ice1712 ; EnableWerror src add-ons kernel drivers audio ice1712 ;
# EnableWerror src add-ons kernel drivers audio null ; EnableWerror src add-ons kernel drivers audio null ;
# EnableWerror src add-ons kernel drivers audio sb16 ; # EnableWerror src add-ons kernel drivers audio sb16 ;
EnableWerror src add-ons kernel drivers audio usb ; EnableWerror src add-ons kernel drivers audio usb ;
EnableWerror src add-ons kernel drivers audio virtio ; EnableWerror src add-ons kernel drivers audio virtio ;
@@ -11,7 +11,7 @@
status_t status_t
null_hw_create_virtual_buffers(device_stream_t* stream, const char* name) null_hw_create_virtual_buffers(device_stream_t* stream, const char* name)
{ {
int i; uint32 i;
int buffer_size; int buffer_size;
int area_size; int area_size;
uint8* buffer; uint8* buffer;
@@ -50,7 +50,7 @@ get_description(void* cookie, multi_description* data)
{ {
multi_description description; multi_description description;
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
if (user_memcpy(&description, data, sizeof(multi_description)) != B_OK) { if (user_memcpy(&description, data, sizeof(multi_description)) != B_OK) {
return B_BAD_ADDRESS; return B_BAD_ADDRESS;
@@ -86,8 +86,7 @@ get_description(void* cookie, multi_description* data)
if (user_memcpy(data, &description, sizeof(multi_description)) != B_OK) if (user_memcpy(data, &description, sizeof(multi_description)) != B_OK)
return B_BAD_ADDRESS; return B_BAD_ADDRESS;
if (description.request_channel_count if ((size_t)description.request_channel_count >= B_COUNT_OF(channel_descriptions)) {
>= sizeof(channel_descriptions) / sizeof(channel_descriptions[0])) {
if (user_memcpy(data->channels, if (user_memcpy(data->channels,
&channel_descriptions, sizeof(channel_descriptions)) != B_OK) &channel_descriptions, sizeof(channel_descriptions)) != B_OK)
return B_BAD_ADDRESS; return B_BAD_ADDRESS;
@@ -100,7 +99,7 @@ get_description(void* cookie, multi_description* data)
static status_t static status_t
get_enabled_channels(void* cookie, multi_channel_enable* data) get_enabled_channels(void* cookie, multi_channel_enable* data)
{ {
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
// By default we say, that all channels are enabled // By default we say, that all channels are enabled
// and that this cannot be changed // and that this cannot be changed
B_SET_CHANNEL(data->enable_bits, 0, true); B_SET_CHANNEL(data->enable_bits, 0, true);
@@ -116,7 +115,7 @@ set_global_format(device_t* device, multi_format_info* data)
{ {
// The media kit asks us to set our streams // The media kit asks us to set our streams
// according to its settings // according to its settings
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
device->playback_stream.format = data->output.format; device->playback_stream.format = data->output.format;
device->playback_stream.rate = data->output.rate; device->playback_stream.rate = data->output.rate;
@@ -130,7 +129,7 @@ set_global_format(device_t* device, multi_format_info* data)
static status_t static status_t
get_global_format(device_t* device, multi_format_info* data) get_global_format(device_t* device, multi_format_info* data)
{ {
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
// Zero latency is unlikely to happen, so we fake some // Zero latency is unlikely to happen, so we fake some
// additional latency // additional latency
data->output_latency = 30; data->output_latency = 30;
@@ -147,8 +146,8 @@ get_global_format(device_t* device, multi_format_info* data)
static int32 static int32
create_group_control(multi_mix_control* multi, int32 idx, int32 parent, create_group_control(multi_mix_control* multi, int32 idx, int32 parent, int32 string,
int32 string, const char* name) const char* name)
{ {
multi->id = MULTI_AUDIO_BASE_ID + idx; multi->id = MULTI_AUDIO_BASE_ID + idx;
multi->parent = parent; multi->parent = parent;
@@ -165,11 +164,10 @@ create_group_control(multi_mix_control* multi, int32 idx, int32 parent,
static status_t static status_t
list_mix_controls(device_t* device, multi_mix_control_info * data) list_mix_controls(device_t* device, multi_mix_control_info * data)
{ {
int32 parent; dprintf("null_audio: %s\n", __func__ );
dprintf("null_audio: %s\n" , __func__ );
parent = create_group_control(data->controls +0, 0, 0, 0, "Record"); create_group_control(data->controls + 0, 0, 0, 0, "Record");
parent = create_group_control(data->controls +1, 1, 0, 0, "Playback"); create_group_control(data->controls + 1, 1, 0, 0, "Playback");
data->control_count = 2; data->control_count = 2;
return B_OK; return B_OK;
@@ -179,7 +177,7 @@ list_mix_controls(device_t* device, multi_mix_control_info * data)
static status_t static status_t
list_mix_connections(void* cookie, multi_mix_connection_info* connection_info) list_mix_connections(void* cookie, multi_mix_connection_info* connection_info)
{ {
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
return B_ERROR; return B_ERROR;
} }
@@ -187,7 +185,7 @@ list_mix_connections(void* cookie, multi_mix_connection_info* connection_info)
static status_t static status_t
list_mix_channels(void* cookie, multi_mix_channel_info* channel_info) list_mix_channels(void* cookie, multi_mix_channel_info* channel_info)
{ {
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
return B_ERROR; return B_ERROR;
} }
@@ -195,27 +193,22 @@ list_mix_channels(void* cookie, multi_mix_channel_info* channel_info)
static status_t static status_t
get_buffers(device_t* device, multi_buffer_list* data) get_buffers(device_t* device, multi_buffer_list* data)
{ {
uint32 playback_sample_size uint32 playback_sample_size = format_to_sample_size(device->playback_stream.format);
= format_to_sample_size(device->playback_stream.format); uint32 record_sample_size = format_to_sample_size(device->record_stream.format);
uint32 record_sample_size int32 bidx;
= format_to_sample_size(device->record_stream.format); int32 cidx;
uint32 cidx, bidx; status_t result;
status_t result;
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
// Workaround for Haiku multi_audio API, since it prefers // Workaround for Haiku multi_audio API, since it prefers
// to let the driver pick values, while the BeOS multi_audio // to let the driver pick values, while the BeOS multi_audio
// actually gives the user's defaults. // actually gives the user's defaults.
if (data->request_playback_buffers > STRMAXBUF if (data->request_playback_buffers > STRMAXBUF || data->request_playback_buffers < STRMINBUF)
|| data->request_playback_buffers < STRMINBUF) {
data->request_playback_buffers = STRMINBUF; data->request_playback_buffers = STRMINBUF;
}
if (data->request_record_buffers > STRMAXBUF if (data->request_record_buffers > STRMAXBUF || data->request_record_buffers < STRMINBUF)
|| data->request_record_buffers < STRMINBUF) {
data->request_record_buffers = STRMINBUF; data->request_record_buffers = STRMINBUF;
}
if (data->request_playback_buffer_size == 0) if (data->request_playback_buffer_size == 0)
data->request_playback_buffer_size = FRAMES_PER_BUFFER; data->request_playback_buffer_size = FRAMES_PER_BUFFER;
@@ -260,7 +253,7 @@ get_buffers(device_t* device, multi_buffer_list* data)
for (bidx = 0; bidx < data->return_playback_buffers; bidx++) { for (bidx = 0; bidx < data->return_playback_buffers; bidx++) {
for (cidx = 0; cidx < data->return_playback_channels; cidx++) { for (cidx = 0; cidx < data->return_playback_channels; cidx++) {
data->playback_buffers[bidx][cidx].base data->playback_buffers[bidx][cidx].base
= device->playback_stream.buffers[bidx] + (playback_sample_size * cidx); = (char*)device->playback_stream.buffers[bidx] + (playback_sample_size * cidx);
data->playback_buffers[bidx][cidx].stride data->playback_buffers[bidx][cidx].stride
= playback_sample_size * data->return_playback_channels; = playback_sample_size * data->return_playback_channels;
} }
@@ -273,7 +266,7 @@ get_buffers(device_t* device, multi_buffer_list* data)
for (bidx = 0; bidx < data->return_record_buffers; bidx++) { for (bidx = 0; bidx < data->return_record_buffers; bidx++) {
for (cidx = 0; cidx < data->return_record_channels; cidx++) { for (cidx = 0; cidx < data->return_record_channels; cidx++) {
data->record_buffers[bidx][cidx].base data->record_buffers[bidx][cidx].base
= device->record_stream.buffers[bidx] + (record_sample_size * cidx); = (char*)device->record_stream.buffers[bidx] + (record_sample_size * cidx);
data->record_buffers[bidx][cidx].stride data->record_buffers[bidx][cidx].stride
= record_sample_size * data->return_record_channels; = record_sample_size * data->return_record_channels;
} }
@@ -286,7 +279,7 @@ get_buffers(device_t* device, multi_buffer_list* data)
static status_t static status_t
buffer_exchange(device_t* device, multi_buffer_info* info) buffer_exchange(device_t* device, multi_buffer_info* info)
{ {
//dprintf("null_audio: %s\n" , __func__ ); //dprintf("null_audio: %s\n", __func__ );
static int debug_buffers_exchanged = 0; static int debug_buffers_exchanged = 0;
cpu_status status; cpu_status status;
status_t result; status_t result;
@@ -342,7 +335,7 @@ buffer_exchange(device_t* device, multi_buffer_info* info)
static status_t static status_t
buffer_force_stop(device_t* device) buffer_force_stop(device_t* device)
{ {
dprintf("null_audio: %s\n" , __func__ ); dprintf("null_audio: %s\n", __func__ );
if (device == NULL) if (device == NULL)
return B_ERROR; return B_ERROR;
@@ -386,7 +379,7 @@ multi_audio_control(void* cookie, uint32 op, void* arg, size_t len)
case B_MULTI_BUFFER_FORCE_STOP: return buffer_force_stop(cookie); case B_MULTI_BUFFER_FORCE_STOP: return buffer_force_stop(cookie);
} }
dprintf("null_audio: %s - unknown op\n" , __func__); dprintf("null_audio: %s - unknown op\n", __func__);
return B_BAD_VALUE; return B_BAD_VALUE;
} }