diff options
Diffstat (limited to 'src/lib/formats/fm7_cas.cpp')
-rw-r--r-- | src/lib/formats/fm7_cas.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/formats/fm7_cas.cpp b/src/lib/formats/fm7_cas.cpp index 63032336518..54a5095547a 100644 --- a/src/lib/formats/fm7_cas.cpp +++ b/src/lib/formats/fm7_cas.cpp @@ -6,6 +6,8 @@ #include "fm7_cas.h" +#include "multibyte.h" + #include <cstring> #define WAVE_HIGH 0x5a9e @@ -13,9 +15,8 @@ static int cas_size; // FIXME: global variable prevents multiple instances -static int fm7_fill_wave(int16_t* buffer, uint8_t high, uint8_t low, int sample_pos) +static int fm7_fill_wave(int16_t* buffer, uint16_t data, int sample_pos) { - uint16_t data = (high << 8) + low; int sample_count = 0; int x = 0; int count = (data & 0x7fff); @@ -51,7 +52,7 @@ static int fm7_handle_t77(int16_t* buffer, const uint8_t* casdata) while(data_pos < cas_size) { - sample_count += fm7_fill_wave(buffer,casdata[data_pos],casdata[data_pos+1],sample_count); + sample_count += fm7_fill_wave(buffer,get_u16be(&casdata[data_pos]),sample_count); data_pos+=2; } |