diff options
Diffstat (limited to 'tools/rbspeex/rbspeex.c')
-rw-r--r-- | tools/rbspeex/rbspeex.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/rbspeex/rbspeex.c b/tools/rbspeex/rbspeex.c index 5d96ad8ab9..b72ff381d9 100644 --- a/tools/rbspeex/rbspeex.c +++ b/tools/rbspeex/rbspeex.c | |||
@@ -136,6 +136,7 @@ bool encode_file(FILE *fin, FILE *fout, float quality, int complexity, | |||
136 | int i, tmp, target_sr, numchan, bps, sr, numsamples, frame_size, lookahead; | 136 | int i, tmp, target_sr, numchan, bps, sr, numsamples, frame_size, lookahead; |
137 | int nbytes; | 137 | int nbytes; |
138 | bool ret = true; | 138 | bool ret = true; |
139 | int a; | ||
139 | 140 | ||
140 | if (!get_wave_metadata(fin, &numchan, &bps, &sr, &numsamples)) { | 141 | if (!get_wave_metadata(fin, &numchan, &bps, &sr, &numsamples)) { |
141 | snprintf(errstr, errlen, "invalid WAV file"); | 142 | snprintf(errstr, errlen, "invalid WAV file"); |
@@ -179,7 +180,15 @@ bool encode_file(FILE *fin, FILE *fout, float quality, int complexity, | |||
179 | snprintf(errstr, errlen, "could not read input file data"); | 180 | snprintf(errstr, errlen, "could not read input file data"); |
180 | ret = false; | 181 | ret = false; |
181 | goto finish; | 182 | goto finish; |
182 | } | 183 | } |
184 | #if defined(__BIG_ENDIAN__) | ||
185 | /* byteswap read bytes to host endianess. */ | ||
186 | a = numsamples; | ||
187 | while(a--) { | ||
188 | *(in + a) = ((unsigned short)(*(in + a)) >> 8) & 0x00ff | ||
189 | | ((unsigned short)(*(in + a)) << 8) & 0xff00; | ||
190 | } | ||
191 | #endif | ||
183 | 192 | ||
184 | if (volume != 1.0f) { | 193 | if (volume != 1.0f) { |
185 | for (i = 0; i < numsamples; ++i) | 194 | for (i = 0; i < numsamples; ++i) |