# HG changeset patch # User rtognimp # Date 1104199223 0 # Node ID 710b223604fa68775e378d468fecd11ed64f3c18 # Parent 7f3c14830dcd006ad7e417cb31ecc9035cd9d890 100l use right mask type when checking for input format diff -r 7f3c14830dcd -r 710b223604fa libaf/af_format.c --- a/libaf/af_format.c Tue Dec 28 01:59:12 2004 +0000 +++ b/libaf/af_format.c Tue Dec 28 02:00:23 2004 +0000 @@ -281,22 +281,19 @@ endian(c->audio,c->audio,len,c->bps); // Conversion table - switch(c->format & ~AF_FORMAT_END_MASK){ - case(AF_FORMAT_MU_LAW): + if((c->format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_MU_LAW) { from_ulaw(c->audio, l->audio, len, l->bps, l->format&AF_FORMAT_POINT_MASK); if(AF_FORMAT_A_LAW == (l->format&AF_FORMAT_SPECIAL_MASK)) to_ulaw(l->audio, l->audio, len, 1, AF_FORMAT_SI); if((l->format&AF_FORMAT_SIGN_MASK) == AF_FORMAT_US) si2us(l->audio,l->audio,len,l->bps); - break; - case(AF_FORMAT_A_LAW): + } else if((c->format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_A_LAW) { from_alaw(c->audio, l->audio, len, l->bps, l->format&AF_FORMAT_POINT_MASK); if(AF_FORMAT_A_LAW == (l->format&AF_FORMAT_SPECIAL_MASK)) to_alaw(l->audio, l->audio, len, 1, AF_FORMAT_SI); if((l->format&AF_FORMAT_SIGN_MASK) == AF_FORMAT_US) si2us(l->audio,l->audio,len,l->bps); - break; - case(AF_FORMAT_F): + } else if((c->format & AF_FORMAT_POINT_MASK) == AF_FORMAT_F) { switch(l->format&AF_FORMAT_SPECIAL_MASK){ case(AF_FORMAT_MU_LAW): to_ulaw(c->audio, l->audio, len, c->bps, c->format&AF_FORMAT_POINT_MASK); @@ -310,8 +307,7 @@ si2us(l->audio,l->audio,len,l->bps); break; } - break; - default: + } else { // Input must be int // Change signed/unsigned @@ -340,7 +336,6 @@ memcpy(l->audio,c->audio,len*c->bps); break; } - break; } // Switch from cpu native endian to the correct endianess