Changeset 1959:06366789e3a5 in roaraudio for libroarlight


Ignore:
Timestamp:
06/11/09 13:14:06 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

small optimations, wrote roar_roardmx_message_get_chanval() and roar_roardmx_message_numchannels()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroarlight/roardmx.c

    r1958 r1959  
    132132 
    133133int roar_roardmx_message_add_chanval(struct roar_roardmx_message * mes, uint16_t channel, unsigned char val) { 
    134  uint16_t * chan; 
     134 register uint16_t * chan; 
    135135 
    136136 BCHK(mes); 
     
    139139  return -1; 
    140140 
    141  chan = (uint16_t *) ((unsigned char*)&(mes->data[mes->length])+3); 
     141 chan = (uint16_t *) &(mes->data[mes->length + 3]); 
    142142 
    143143 *chan = ROAR_HOST2NET16(channel); 
     
    150150} 
    151151 
    152 int roar_roardmx_message_get_chanval(struct roar_roardmx_message * mes, uint16_t * channel, unsigned char * val, int index); 
    153 int roar_roardmx_message_numchannels(struct roar_roardmx_message * mes); 
     152int roar_roardmx_message_get_chanval(struct roar_roardmx_message * mes, uint16_t * channel, unsigned char * val, int index) { 
     153 register uint16_t * chan; 
     154 
     155 BCHK(mes); 
     156 
     157 if ( index < 0 ) 
     158  return -1; 
     159 
     160 if ( mes->version != 0 ) 
     161  return -1; 
     162 
     163 switch (mes->type) { 
     164  case ROAR_ROARDMX_TYPE_SSET: 
     165  case ROAR_ROARDMX_TYPE_INC8S: 
     166    if ( index >= (ROAR_ROARDMX_DATA_LENGTH/3) ) 
     167     return -1; 
     168 
     169    *val     = mes->data[3 * index + 2 + 3]; 
     170    chan     = (uint16_t *) &(mes->data[3 + 3 * index]); 
     171    *channel = ROAR_NET2HOST16(*chan); 
     172   break; 
     173 } 
     174 
     175 return -1; 
     176} 
     177 
     178int roar_roardmx_message_numchannels(struct roar_roardmx_message * mes) { 
     179 BCHK(mes); 
     180 
     181 if ( mes->version != 0 ) 
     182  return -1; 
     183 
     184 switch (mes->type) { 
     185  case ROAR_ROARDMX_TYPE_SSET: 
     186  case ROAR_ROARDMX_TYPE_INC8S: 
     187    return mes->length /  3; 
     188   break; 
     189  case ROAR_ROARDMX_TYPE_IPO1: 
     190    return mes->length /  6; 
     191   break; 
     192  case ROAR_ROARDMX_TYPE_IPO4: 
     193    return mes->length / 12; 
     194   break; 
     195 } 
     196 
     197 return -1; 
     198} 
    154199 
    155200//ll 
Note: See TracChangeset for help on using the changeset viewer.