X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=rsdecoder.cpp;h=8a27896d8dedd70f2c3b8094e703a8c81eadd661;hb=f873d7fa08ab2f48e5ca96a5b6d1b41724874b09;hp=20297bf53230e77e84bfd9bd2f8aab98c114b9b6;hpb=02120e9414a6e613b17d6284891593271659b5d9;p=greproxy diff --git a/rsdecoder.cpp b/rsdecoder.cpp index 20297bf..8a27896 100644 --- a/rsdecoder.cpp +++ b/rsdecoder.cpp @@ -15,7 +15,10 @@ extern "C" { using namespace std; RSDecoder::RSDecoder(Sender *sender) - : sender(sender) {} + : sender(sender) +{ + rs = init_rs_char(RS_SYM_SIZE, RS_GF_POLY, 1, 1, RS_PARITY_SIZE, RS_PAD); +} void RSDecoder::send_packet(uint16_t proto, const std::string &data, int incoming_seq) { @@ -109,8 +112,7 @@ void RSDecoder::send_packet(uint16_t proto, const std::string &data, int incomin for (int j = 0; j < RS_GROUP_SIZE; ++j) { ch[j] = padded_packets[j][i]; } - int ret = decode_rs_8(ch, &missing_packets[0], missing_packets.size(), - RS_PAD); + int ret = decode_rs_char(rs, ch, &missing_packets[0], missing_packets.size()); if (ret == -1) { printf("Failed reconstruction!\n"); // We might get more data later, so don't remove it.