# HG changeset patch # User rfelker # Date 1109263698 0 # Node ID df515839c8a9c267ed10dd3410ffc8b90d971b5c # Parent fa645382285fe8b35b649fb653ac0d4b1f3788de 100l for me, lrintf is better. now fixed so it should be prototyped, and should work even if there is no prototype diff -r fa645382285f -r df515839c8a9 libaf/af_format.c --- a/libaf/af_format.c Thu Feb 24 15:22:04 2005 +0000 +++ b/libaf/af_format.c Thu Feb 24 16:48:18 2005 +0000 @@ -3,6 +3,9 @@ AFMT_U16_LE, AFMT_U16_BE, AFMT_S32_LE and AFMT_S32_BE. */ +// Must be defined before any libc headers are included! +#define _ISOC9X_SOURCE + #include #include #include @@ -14,6 +17,14 @@ #include "../bswap.h" #include "../libvo/fastmemcpy.h" +// Integer to float conversion through lrintf() +#ifdef HAVE_LRINTF +#include +long int lrintf(float); +#else +#define lrintf(x) ((int)(x)) +#endif + /* Functions used by play to convert the input audio to the correct format */ @@ -31,9 +42,9 @@ // Change the number of bits per sample static void change_bps(void* in, void* out, int len, int inbps, int outbps); // From float to int signed -static void float2int(void* in, void* out, int len, int bps); +static void float2int(float* in, void* out, int len, int bps); // From signed int to float -static void int2float(void* in, void* out, int len, int bps); +static void int2float(void* in, float* out, int len, int bps); static af_data_t* play(struct af_instance_s* af, af_data_t* data); static af_data_t* play_swapendian(struct af_instance_s* af, af_data_t* data); @@ -488,48 +499,48 @@ } } -static void float2int(void* in, void* out, int len, int bps) +static void float2int(float* in, void* out, int len, int bps) { register int i; switch(bps){ case(1): for(i=0;i