[haiku-commits] haiku: hrev43583 - src/add-ons/kernel/drivers/audio/ac97/auvia

  • From: stpere@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 30 Dec 2011 06:11:49 +0100 (CET)

hrev43583 adds 1 changeset to branch 'master'
old head: c7199625ef1fe4ecdac7eefafb0ca78f32ecd17f
new head: fbbed9473f0f3445a0f5b430a995506a0f3a0c38

----------------------------------------------------------------------------

fbbed94: AC97 driver: replace some usage of strcpy() by strlcpy()
  
  CID 8921, CID 8920, CID 8919, CID 8922.  Also fixes some coding
  style issues.

                                [ Philippe Saint-Pierre <stpere@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev43583
Commit:      fbbed9473f0f3445a0f5b430a995506a0f3a0c38
URL:         http://cgit.haiku-os.org/haiku/commit/?id=fbbed94
Author:      Philippe Saint-Pierre <stpere@xxxxxxxxx>
Date:        Fri Dec 30 05:08:00 2011 UTC

----------------------------------------------------------------------------

1 files changed, 101 insertions(+), 73 deletions(-)
.../kernel/drivers/audio/ac97/auvia/multi.c        |  174 +++++++++-------

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/audio/ac97/auvia/multi.c 
b/src/add-ons/kernel/drivers/audio/ac97/auvia/multi.c
index 48086b1..0cfd2a1 100644
--- a/src/add-ons/kernel/drivers/audio/ac97/auvia/multi.c
+++ b/src/add-ons/kernel/drivers/audio/ac97/auvia/multi.c
@@ -43,6 +43,7 @@
 #include "util.h"
 #include "io.h"
 
+
 static void
 auvia_ac97_get_mix(void *card, const void *cookie, int32 type, float *values) {
        auvia_dev *dev = (auvia_dev*)card;
@@ -50,28 +51,28 @@ auvia_ac97_get_mix(void *card, const void *cookie, int32 
type, float *values) {
        uint16 value, mask;
        float gain;
 
-       switch(type) {
+       switch (type) {
                case B_MIX_GAIN:
                        value = auvia_codec_read(&dev->config, info->reg);
                        //PRINT(("B_MIX_GAIN value : %u\n", value));
-                       if(info->type & B_MIX_STEREO) {
+                       if (info->type & B_MIX_STEREO) {
                                mask = ((1 << (info->bits + 1)) - 1) << 8;
                                gain = ((value & mask) >> 8) * 
info->granularity;
-                               if(info->polarity == 1)
+                               if (info->polarity == 1)
                                        values[0] = info->max_gain - gain;
                                else
                                        values[0] = gain - info->min_gain;
 
                                mask = ((1 << (info->bits + 1)) - 1);
                                gain = (value & mask) * info->granularity;
-                               if(info->polarity == 1)
+                               if (info->polarity == 1)
                                        values[1] = info->max_gain - gain;
                                else
                                        values[1] = gain - info->min_gain;
                        } else {
                                mask = ((1 << (info->bits + 1)) - 1);
                                gain = (value & mask) * info->granularity;
-                               if(info->polarity == 1)
+                               if (info->polarity == 1)
                                        values[0] = info->max_gain - gain;
                                else
                                        values[0] = gain - info->min_gain;
@@ -108,14 +109,14 @@ auvia_ac97_set_mix(void *card, const void *cookie, int32 
type, float *values) {
        uint16 value, mask;
        float gain;
 
-       switch(type) {
+       switch (type) {
                case B_MIX_GAIN:
                        value = auvia_codec_read(&dev->config, info->reg);
-                       if(info->type & B_MIX_STEREO) {
+                       if (info->type & B_MIX_STEREO) {
                                mask = ((1 << (info->bits + 1)) - 1) << 8;
                                value &= ~mask;
 
-                               if(info->polarity == 1)
+                               if (info->polarity == 1)
                                        gain = info->max_gain - values[0];
                                else
                                        gain =  values[0] - info->min_gain;
@@ -123,7 +124,7 @@ auvia_ac97_set_mix(void *card, const void *cookie, int32 
type, float *values) {
 
                                mask = ((1 << (info->bits + 1)) - 1);
                                value &= ~mask;
-                               if(info->polarity == 1)
+                               if (info->polarity == 1)
                                        gain = info->max_gain - values[1];
                                else
                                        gain =  values[1] - info->min_gain;
@@ -131,7 +132,7 @@ auvia_ac97_set_mix(void *card, const void *cookie, int32 
type, float *values) {
                        } else {
                                mask = ((1 << (info->bits + 1)) - 1);
                                value &= ~mask;
-                               if(info->polarity == 1)
+                               if (info->polarity == 1)
                                        gain = info->max_gain - values[0];
                                else
                                        gain =  values[0] - info->min_gain;
@@ -145,7 +146,7 @@ auvia_ac97_set_mix(void *card, const void *cookie, int32 
type, float *values) {
                        value = auvia_codec_read(&dev->config, info->reg);
                        value &= ~mask;
                        value |= ((values[0] == 1.0 ? 1 : 0 ) << 15 & mask);
-                       if(info->reg == AC97_SURR_VOLUME) {
+                       if (info->reg == AC97_SURR_VOLUME) {
                                // there is a independent mute for each channel
                                mask = ((1 << 1) - 1) << 7;
                                value &= ~mask;
@@ -173,9 +174,11 @@ auvia_ac97_set_mix(void *card, const void *cookie, int32 
type, float *values) {
 
 }
 
+
 static int32
 auvia_create_group_control(multi_dev *multi, int32 *index, int32 parent,
-       int32 string, const char* name) {
+       int32 string, const char* name)
+{
        int32 i = *index;
        (*index)++;
        multi->controls[i].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + i;
@@ -183,12 +186,14 @@ auvia_create_group_control(multi_dev *multi, int32 
*index, int32 parent,
        multi->controls[i].mix_control.flags = B_MULTI_MIX_GROUP;
        multi->controls[i].mix_control.master = EMU_MULTI_CONTROL_MASTERID;
        multi->controls[i].mix_control.string = string;
-       if(name)
-               strcpy(multi->controls[i].mix_control.name, name);
+       if (name)
+               strlcpy(multi->controls[i].mix_control.name, name,
+                       sizeof(multi->controls[i].mix_control.name));
 
        return multi->controls[i].mix_control.id;
 }
 
+
 static status_t
 auvia_create_controls_list(multi_dev *multi)
 {
@@ -204,8 +209,8 @@ auvia_create_controls_list(multi_dev *multi)
 
        parent2 = auvia_create_group_control(multi, &index, parent, 0, 
info->name);
 
-       if(info->type & B_MIX_GAIN) {
-               if(info->type & B_MIX_MUTE) {
+       if (info->type & B_MIX_GAIN) {
+               if (info->type & B_MIX_MUTE) {
                        multi->controls[index].mix_control.id = 
EMU_MULTI_CONTROL_FIRSTID + index;
                        multi->controls[index].mix_control.flags = 
B_MULTI_MIX_ENABLE;
                        multi->controls[index].mix_control.master = 
EMU_MULTI_CONTROL_MASTERID;
@@ -222,7 +227,8 @@ auvia_create_controls_list(multi_dev *multi)
                multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;
                multi->controls[index].mix_control.master = 
EMU_MULTI_CONTROL_MASTERID;
                multi->controls[index].mix_control.parent = parent2;
-               strcpy(multi->controls[index].mix_control.name, info->name);
+               strlcpy(multi->controls[index].mix_control.name, info->name,
+                       sizeof(multi->controls[index].mix_control.name));
                multi->controls[index].mix_control.u.gain.min_gain = 
info->min_gain;
                multi->controls[index].mix_control.u.gain.max_gain = 
info->max_gain;
                multi->controls[index].mix_control.u.gain.granularity = 
info->granularity;
@@ -233,12 +239,13 @@ auvia_create_controls_list(multi_dev *multi)
                id = multi->controls[index].mix_control.id;
                index++;
 
-               if(info->type & B_MIX_STEREO) {
+               if (info->type & B_MIX_STEREO) {
                        multi->controls[index].mix_control.id = 
EMU_MULTI_CONTROL_FIRSTID + index;
                        multi->controls[index].mix_control.flags = 
B_MULTI_MIX_GAIN;
                        multi->controls[index].mix_control.master = id;
                        multi->controls[index].mix_control.parent = parent2;
-                       strcpy(multi->controls[index].mix_control.name, 
info->name);
+                       strlcpy(multi->controls[index].mix_control.name, 
info->name,
+                               
sizeof(multi->controls[index].mix_control.name));
                        multi->controls[index].mix_control.u.gain.min_gain = 
info->min_gain;
                        multi->controls[index].mix_control.u.gain.max_gain = 
info->max_gain;
                        multi->controls[index].mix_control.u.gain.granularity = 
info->granularity;
@@ -249,7 +256,7 @@ auvia_create_controls_list(multi_dev *multi)
                        index++;
                }
 
-               if(info->type & B_MIX_RECORDMUX) {
+               if (info->type & B_MIX_RECORDMUX) {
                        multi->controls[index].mix_control.id = 
EMU_MULTI_CONTROL_FIRSTID + index;
                        multi->controls[index].mix_control.flags = 
B_MULTI_MIX_MUX;
                        multi->controls[index].mix_control.parent = parent2;
@@ -309,14 +316,14 @@ auvia_create_controls_list(multi_dev *multi)
        count = source_info_size;
        count--;
 
-       for(i = 1; i < count ; i++) {
+       for (i = 1; i < count ; i++) {
                info = &source_info[i];
                PRINT(("name : %s\n", info->name));
 
                parent2 = auvia_create_group_control(multi, &index, parent, 0, 
info->name);
 
-               if(info->type & B_MIX_GAIN) {
-                       if(info->type & B_MIX_MUTE) {
+               if (info->type & B_MIX_GAIN) {
+                       if (info->type & B_MIX_MUTE) {
                                multi->controls[index].mix_control.id = 
EMU_MULTI_CONTROL_FIRSTID + index;
                                multi->controls[index].mix_control.flags = 
B_MULTI_MIX_ENABLE;
                                multi->controls[index].mix_control.master = 
EMU_MULTI_CONTROL_MASTERID;
@@ -333,7 +340,8 @@ auvia_create_controls_list(multi_dev *multi)
                        multi->controls[index].mix_control.flags = 
B_MULTI_MIX_GAIN;
                        multi->controls[index].mix_control.master = 
EMU_MULTI_CONTROL_MASTERID;
                        multi->controls[index].mix_control.parent = parent2;
-                       strcpy(multi->controls[index].mix_control.name, 
info->name);
+                       strlcpy(multi->controls[index].mix_control.name, 
info->name,
+                               
sizeof(multi->controls[index].mix_control.name));
                        multi->controls[index].mix_control.u.gain.min_gain = 
info->min_gain;
                        multi->controls[index].mix_control.u.gain.max_gain = 
info->max_gain;
                        multi->controls[index].mix_control.u.gain.granularity = 
info->granularity;
@@ -344,12 +352,13 @@ auvia_create_controls_list(multi_dev *multi)
                        id = multi->controls[index].mix_control.id;
                        index++;
 
-                       if(info->type & B_MIX_STEREO) {
+                       if (info->type & B_MIX_STEREO) {
                                multi->controls[index].mix_control.id = 
EMU_MULTI_CONTROL_FIRSTID + index;
                                multi->controls[index].mix_control.flags = 
B_MULTI_MIX_GAIN;
                                multi->controls[index].mix_control.master = id;
                                multi->controls[index].mix_control.parent = 
parent2;
-                               strcpy(multi->controls[index].mix_control.name, 
info->name);
+                               
strlcpy(multi->controls[index].mix_control.name, info->name,
+                                       
sizeof(multi->controls[index].mix_control.name));
                                
multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
                                
multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
                                
multi->controls[index].mix_control.u.gain.granularity = info->granularity;
@@ -367,7 +376,7 @@ auvia_create_controls_list(multi_dev *multi)
        /* AC97 20db Boost Mic */
        info = &source_info[6];
 
-       if(info->type & B_MIX_GAIN && info->type & B_MIX_MICBOOST) {
+       if (info->type & B_MIX_GAIN && info->type & B_MIX_MICBOOST) {
                multi->controls[index].mix_control.id = 
EMU_MULTI_CONTROL_FIRSTID + index;
                multi->controls[index].mix_control.flags = B_MULTI_MIX_ENABLE;
                multi->controls[index].mix_control.master = 
EMU_MULTI_CONTROL_MASTERID;
@@ -385,37 +394,38 @@ auvia_create_controls_list(multi_dev *multi)
        return B_OK;
 }
 
+
 static status_t
 auvia_get_mix(auvia_dev *card, multi_mix_value_info * mmvi)
 {
        int32 i, id;
        multi_mixer_control *control = NULL;
-       for(i = 0; i < mmvi->item_count; i++) {
+       for (i = 0; i < mmvi->item_count; i++) {
                id = mmvi->values[i].id - EMU_MULTI_CONTROL_FIRSTID;
-               if(id < 0 || id >= card->multi.control_count) {
+               if (id < 0 || id >= card->multi.control_count) {
                        PRINT(("auvia_get_mix : invalid control id requested : 
%li\n", id));
                        continue;
                }
                control = &card->multi.controls[id];
 
-               if(control->mix_control.flags & B_MULTI_MIX_GAIN) {
-                       if(control->get) {
+               if (control->mix_control.flags & B_MULTI_MIX_GAIN) {
+                       if (control->get) {
                                float values[2];
                                control->get(card, control->cookie, 
control->type, values);
-                               if(control->mix_control.master == 
EMU_MULTI_CONTROL_MASTERID)
+                               if (control->mix_control.master == 
EMU_MULTI_CONTROL_MASTERID)
                                        mmvi->values[i].u.gain = values[0];
                                else
                                        mmvi->values[i].u.gain = values[1];
                        }
                }
 
-               if(control->mix_control.flags & B_MULTI_MIX_ENABLE && 
control->get) {
+               if (control->mix_control.flags & B_MULTI_MIX_ENABLE && 
control->get) {
                        float values[1];
                        control->get(card, control->cookie, control->type, 
values);
                        mmvi->values[i].u.enable = (values[0] == 1.0);
                }
 
-               if(control->mix_control.flags & B_MULTI_MIX_MUX && 
control->get) {
+               if (control->mix_control.flags & B_MULTI_MIX_MUX && 
control->get) {
                        float values[1];
                        control->get(card, control->cookie, control->type, 
values);
                        mmvi->values[i].u.mux = (int32)values[0];
@@ -424,60 +434,61 @@ auvia_get_mix(auvia_dev *card, multi_mix_value_info * 
mmvi)
        return B_OK;
 }
 
+
 static status_t
 auvia_set_mix(auvia_dev *card, multi_mix_value_info * mmvi)
 {
        int32 i, id;
        multi_mixer_control *control = NULL;
-       for(i = 0; i < mmvi->item_count; i++) {
+       for (i = 0; i < mmvi->item_count; i++) {
                id = mmvi->values[i].id - EMU_MULTI_CONTROL_FIRSTID;
-               if(id < 0 || id >= card->multi.control_count) {
+               if (id < 0 || id >= card->multi.control_count) {
                        PRINT(("auvia_set_mix : invalid control id requested : 
%li\n", id));
                        continue;
                }
                control = &card->multi.controls[id];
 
-               if(control->mix_control.flags & B_MULTI_MIX_GAIN) {
+               if (control->mix_control.flags & B_MULTI_MIX_GAIN) {
                        multi_mixer_control *control2 = NULL;
-                       if(i+1<mmvi->item_count) {
+                       if (i + 1 < mmvi->item_count) {
                                id = mmvi->values[i + 1].id - 
EMU_MULTI_CONTROL_FIRSTID;
-                               if(id < 0 || id >= card->multi.control_count) {
+                               if (id < 0 || id >= card->multi.control_count) {
                                        PRINT(("auvia_set_mix : invalid control 
id requested : %li\n", id));
                                } else {
                                        control2 = &card->multi.controls[id];
-                                       if(control2->mix_control.master != 
control->mix_control.id)
+                                       if (control2->mix_control.master != 
control->mix_control.id)
                                                control2 = NULL;
                                }
                        }
 
-                       if(control->set) {
+                       if (control->set) {
                                float values[2];
                                values[0] = 0.0;
                                values[1] = 0.0;
 
-                               if(control->mix_control.master == 
EMU_MULTI_CONTROL_MASTERID)
+                               if (control->mix_control.master == 
EMU_MULTI_CONTROL_MASTERID)
                                        values[0] = mmvi->values[i].u.gain;
                                else
                                        values[1] = mmvi->values[i].u.gain;
 
-                               if(control2 && control2->mix_control.master != 
EMU_MULTI_CONTROL_MASTERID)
-                                       values[1] = mmvi->values[i+1].u.gain;
+                               if (control2 && control2->mix_control.master != 
EMU_MULTI_CONTROL_MASTERID)
+                                       values[1] = mmvi->values[i + 1].u.gain;
 
                                control->set(card, control->cookie, 
control->type, values);
                        }
 
-                       if(control2)
+                       if (control2)
                                i++;
                }
 
-               if(control->mix_control.flags & B_MULTI_MIX_ENABLE && 
control->set) {
+               if (control->mix_control.flags & B_MULTI_MIX_ENABLE && 
control->set) {
                        float values[1];
 
                        values[0] = mmvi->values[i].u.enable ? 1.0 : 0.0;
                        control->set(card, control->cookie, control->type, 
values);
                }
 
-               if(control->mix_control.flags & B_MULTI_MIX_MUX && 
control->set) {
+               if (control->mix_control.flags & B_MULTI_MIX_MUX && 
control->set) {
                        float values[1];
 
                        values[0] = (float)mmvi->values[i].u.mux;
@@ -487,6 +498,7 @@ auvia_set_mix(auvia_dev *card, multi_mix_value_info * mmvi)
        return B_OK;
 }
 
+
 static status_t
 auvia_list_mix_controls(auvia_dev *card, multi_mix_control_info * mmci)
 {
@@ -494,12 +506,12 @@ auvia_list_mix_controls(auvia_dev *card, 
multi_mix_control_info * mmci)
        int32 i;
 
        mmc = mmci->controls;
-       if(mmci->control_count < 24)
+       if (mmci->control_count < 24)
                return B_ERROR;
 
-       if(auvia_create_controls_list(&card->multi) < B_OK)
+       if (auvia_create_controls_list(&card->multi) < B_OK)
                return B_ERROR;
-       for(i = 0; i < card->multi.control_count; i++) {
+       for (i = 0; i < card->multi.control_count; i++) {
                mmc[i] = card->multi.controls[i].mix_control;
        }
 
@@ -507,12 +519,14 @@ auvia_list_mix_controls(auvia_dev *card, 
multi_mix_control_info * mmci)
        return B_OK;
 }
 
+
 static status_t
 auvia_list_mix_connections(auvia_dev *card, multi_mix_connection_info * data)
 {
        return B_ERROR;
 }
 
+
 static status_t
 auvia_list_mix_channels(auvia_dev *card, multi_mix_channel_info *data)
 {
@@ -570,18 +584,18 @@ auvia_create_channels_list(multi_dev *multi)
        chans = multi->chans;
        index = 0;
 
-       for(mode=AUVIA_USE_PLAY; mode!=-1;
+       for (mode = AUVIA_USE_PLAY; mode != -1;
                mode = (mode == AUVIA_USE_PLAY) ? AUVIA_USE_RECORD : -1) {
                LIST_FOREACH(stream, &((auvia_dev*)multi->card)->streams, next) 
{
                        if ((stream->use & mode) == 0)
                                continue;
 
-                       if(stream->channels == 2)
+                       if (stream->channels == 2)
                                designations = B_CHANNEL_STEREO_BUS;
                        else
                                designations = B_CHANNEL_SURROUND_BUS;
 
-                       for(i = 0; i < stream->channels; i++) {
+                       for (i = 0; i < stream->channels; i++) {
                                chans[index].channel_id = index;
                                chans[index].kind = (mode == AUVIA_USE_PLAY) ? 
B_MULTI_OUTPUT_CHANNEL : B_MULTI_INPUT_CHANNEL;
                                chans[index].designations = designations | 
chan_designations[i];
@@ -590,7 +604,7 @@ auvia_create_channels_list(multi_dev *multi)
                        }
                }
 
-               if(mode==AUVIA_USE_PLAY) {
+               if (mode == AUVIA_USE_PLAY) {
                        multi->output_channel_count = index;
                } else {
                        multi->input_channel_count = index - 
multi->output_channel_count;
@@ -639,10 +653,10 @@ auvia_get_description(auvia_dev *card, multi_description 
*data)
        data->interface_version = B_CURRENT_INTERFACE_VERSION;
        data->interface_minimum = B_CURRENT_INTERFACE_VERSION;
 
-       if(IS_686(&card->config))
+       if (IS_686(&card->config))
                strncpy(data->friendly_name, FRIENDLY_NAME_686, 32);
-       else if(IS_8233(&card->config)) {
-               switch(card->info.revision) {
+       else if (IS_8233(&card->config)) {
+               switch (card->info.revision) {
                        case VIATECH_8233_AC97_REV_8233_10:
                                strncpy(data->friendly_name, 
FRIENDLY_NAME_8233, 32);
                                break;
@@ -709,11 +723,12 @@ auvia_get_description(auvia_dev *card, multi_description 
*data)
        data->interface_flags = B_MULTI_INTERFACE_PLAYBACK | 
B_MULTI_INTERFACE_RECORD;
        data->start_latency = 3000;
 
-       strcpy(data->control_panel,"");
+       strcpy(data->control_panel, "");
 
        return B_OK;
 }
 
+
 static status_t
 auvia_get_enabled_channels(auvia_dev *card, multi_channel_enable *data)
 {
@@ -731,6 +746,7 @@ auvia_get_enabled_channels(auvia_dev *card, 
multi_channel_enable *data)
        return B_OK;
 }
 
+
 static status_t
 auvia_set_enabled_channels(auvia_dev *card, multi_channel_enable *data)
 {
@@ -741,6 +757,7 @@ auvia_set_enabled_channels(auvia_dev *card, 
multi_channel_enable *data)
        return B_OK;
 }
 
+
 static status_t
 auvia_get_global_format(auvia_dev *card, multi_format_info *data)
 {
@@ -762,6 +779,7 @@ auvia_get_global_format(auvia_dev *card, multi_format_info 
*data)
        return B_OK;
 }
 
+
 static status_t
 auvia_get_buffers(auvia_dev *card, multi_buffer_list *data)
 {
@@ -794,8 +812,8 @@ auvia_get_buffers(auvia_dev *card, multi_buffer_list *data)
        data->return_playback_channels = pchannels;             /* 
playback_buffers[][c] */
        data->return_playback_buffer_size = BUFFER_FRAMES;              /* 
frames */
 
-       for(i = 0; i < BUFFER_COUNT; i++)
-               for(j=0; j<pchannels; j++)
+       for (i = 0; i < BUFFER_COUNT; i++)
+               for (j = 0; j < pchannels; j++)
                        auvia_stream_get_nth_buffer(card->pstream, j, i,
                                &data->playback_buffers[i][j].base,
                                &data->playback_buffers[i][j].stride);
@@ -804,8 +822,8 @@ auvia_get_buffers(auvia_dev *card, multi_buffer_list *data)
        data->return_record_channels = rchannels;
        data->return_record_buffer_size = BUFFER_FRAMES;        /* frames */
 
-       for(i = 0; i < BUFFER_COUNT; i++)
-               for(j=0; j<rchannels; j++)
+       for (i = 0; i < BUFFER_COUNT; i++)
+               for (j = 0; j<rchannels; j++)
                        auvia_stream_get_nth_buffer(card->rstream, j, i,
                                &data->record_buffers[i][j].base,
                                &data->record_buffers[i][j].stride);
@@ -826,7 +844,7 @@ auvia_play_inth(void* inthparams)
        stream->real_time = system_time();
        stream->frames_count += BUFFER_FRAMES;
        stream->buffer_cycle = (stream->trigblk
-               + stream->blkmod -1) % stream->blkmod;
+               + stream->blkmod - 1) % stream->blkmod;
        stream->update_needed = true;
        release_spinlock(&slock);
 
@@ -835,6 +853,7 @@ auvia_play_inth(void* inthparams)
                release_sem_etc(stream->card->buffer_ready_sem, 1, 
B_DO_NOT_RESCHEDULE);
 }
 
+
 static void
 auvia_record_inth(void* inthparams)
 {
@@ -847,7 +866,7 @@ auvia_record_inth(void* inthparams)
        stream->real_time = system_time();
        stream->frames_count += BUFFER_FRAMES;
        stream->buffer_cycle = (stream->trigblk
-               + stream->blkmod -1) % stream->blkmod;
+               + stream->blkmod - 1) % stream->blkmod;
        stream->update_needed = true;
        release_spinlock(&slock);
 
@@ -856,6 +875,7 @@ auvia_record_inth(void* inthparams)
                release_sem_etc(stream->card->buffer_ready_sem, 1, 
B_DO_NOT_RESCHEDULE);
 }
 
+
 static status_t
 auvia_buffer_exchange(auvia_dev *card, multi_buffer_info *data)
 {
@@ -878,7 +898,7 @@ auvia_buffer_exchange(auvia_dev *card, multi_buffer_info 
*data)
        if (!(card->rstream->state & AUVIA_STATE_STARTED))
                auvia_stream_start(card->rstream, auvia_record_inth, 
card->rstream);
 
-       if(acquire_sem_etc(card->buffer_ready_sem, 1, B_RELATIVE_TIMEOUT | 
B_CAN_INTERRUPT, 50000)
+       if (acquire_sem_etc(card->buffer_ready_sem, 1, B_RELATIVE_TIMEOUT | 
B_CAN_INTERRUPT, 50000)
                == B_TIMED_OUT) {
                LOG(("buffer_exchange timeout ff\n"));
        }
@@ -889,7 +909,7 @@ auvia_buffer_exchange(auvia_dev *card, multi_buffer_info 
*data)
                if ((pstream->use & AUVIA_USE_PLAY) == 0 ||
                        (pstream->state & AUVIA_STATE_STARTED) == 0)
                        continue;
-               if(pstream->update_needed)
+               if (pstream->update_needed)
                        break;
        }
 
@@ -897,13 +917,13 @@ auvia_buffer_exchange(auvia_dev *card, multi_buffer_info 
*data)
                if ((rstream->use & AUVIA_USE_RECORD) == 0 ||
                        (rstream->state & AUVIA_STATE_STARTED) == 0)
                        continue;
-               if(rstream->update_needed)
+               if (rstream->update_needed)
                        break;
        }
 
-       if(!pstream)
+       if (!pstream)
                pstream = card->pstream;
-       if(!rstream)
+       if (!rstream)
                rstream = card->rstream;
 
        /* do playback */
@@ -932,6 +952,7 @@ auvia_buffer_exchange(auvia_dev *card, multi_buffer_info 
*data)
        return B_OK;
 }
 
+
 static status_t
 auvia_buffer_force_stop(auvia_dev *card)
 {
@@ -939,6 +960,7 @@ auvia_buffer_force_stop(auvia_dev *card)
        return B_OK;
 }
 
+
 static status_t
 auvia_multi_control(void *cookie, uint32 op, void *data, size_t length)
 {
@@ -1032,6 +1054,7 @@ device_hooks multi_hooks = {
        NULL                                    /* scatter-gather write to the 
device */
 };
 
+
 static status_t
 auvia_open(const char *name, uint32 flags, void** cookie)
 {
@@ -1046,7 +1069,7 @@ auvia_open(const char *name, uint32 flags, void** cookie)
                }
        }
 
-       if(card == NULL) {
+       if (card == NULL) {
                LOG(("open() card not found %s\n", name));
                for (ix=0; ix<num_cards; ix++) {
                        LOG(("open() card available %s\n", cards[ix].name));
@@ -1056,9 +1079,9 @@ auvia_open(const char *name, uint32 flags, void** cookie)
 
        LOG(("open() got card\n"));
 
-       if(card->pstream !=NULL)
+       if (card->pstream !=NULL)
                return B_ERROR;
-       if(card->rstream !=NULL)
+       if (card->rstream !=NULL)
                return B_ERROR;
 
        *cookie = card;
@@ -1087,6 +1110,7 @@ auvia_open(const char *name, uint32 flags, void** cookie)
        return B_OK;
 }
 
+
 static status_t
 auvia_close(void* cookie)
 {
@@ -1096,6 +1120,7 @@ auvia_close(void* cookie)
        return B_OK;
 }
 
+
 static status_t
 auvia_free(void* cookie)
 {
@@ -1110,7 +1135,7 @@ auvia_free(void* cookie)
                auvia_stream_halt(stream);
        }
 
-       while(!LIST_EMPTY(&card->streams)) {
+       while (!LIST_EMPTY(&card->streams)) {
                auvia_stream_delete(LIST_FIRST(&card->streams));
        }
 
@@ -1120,12 +1145,14 @@ auvia_free(void* cookie)
        return B_OK;
 }
 
+
 static status_t
 auvia_control(void* cookie, uint32 op, void* arg, size_t len)
 {
        return auvia_multi_control(cookie, op, arg, len);
 }
 
+
 static status_t
 auvia_read(void* cookie, off_t position, void *buf, size_t* num_bytes)
 {
@@ -1133,6 +1160,7 @@ auvia_read(void* cookie, off_t position, void *buf, 
size_t* num_bytes)
        return B_IO_ERROR;
 }
 
+
 static status_t
 auvia_write(void* cookie, off_t position, const void* buffer, size_t* 
num_bytes)
 {


Other related posts:

  • » [haiku-commits] haiku: hrev43583 - src/add-ons/kernel/drivers/audio/ac97/auvia - stpere