From b07af90d0d1edf57252e607582235691c7d17156 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Sun, 20 Jul 2014 11:39:47 +0300 Subject: [PATCH] recv.py should loop only over decoding --- recv.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/recv.py b/recv.py index 80e51e2..708cd4d 100755 --- a/recv.py +++ b/recv.py @@ -179,7 +179,7 @@ def decode(bits_iterator): break result.write(block) - data = result.getvalue() + data = bytearray(result.getvalue()) data = ecc.decode(data) if data is None: log.warning('No blocks decoded!') @@ -215,10 +215,12 @@ def main(fname): data_bits = receive(x / amp, frequencies) bits = itertools.chain.from_iterable(data_bits) - data = decode(bits) + size = 0 + for chunk in decode(bits): + sys.stdout.write(chunk) + size = size + len(chunk) - log.info('Decoded %.3f kB', len(data) / 1e3) - sys.stdout.write(data) + log.info('Decoded %.3f kB', size / 1e3) if __name__ == '__main__': logging.basicConfig(level=logging.INFO,