minimodem fix bugged shift calcs
This commit is contained in:
parent
0a47a37a06
commit
fe52354af9
|
@ -273,8 +273,8 @@ reprocess_audio:
|
||||||
|
|
||||||
if ( nframes == nsamples ) {
|
if ( nframes == nsamples ) {
|
||||||
#if 1
|
#if 1
|
||||||
/* shift by 1/2 the width of one data bit */
|
/* shift by a fraction of the width of one data bit
|
||||||
// any of these could work ...
|
* any of these could work ... */
|
||||||
// nframes = nsamples / 2;
|
// nframes = nsamples / 2;
|
||||||
// nframes = nsamples / 4;
|
// nframes = nsamples / 4;
|
||||||
// nframes = nsamples / 8;
|
// nframes = nsamples / 8;
|
||||||
|
@ -293,14 +293,23 @@ reprocess_audio:
|
||||||
if ( nframes ) {
|
if ( nframes ) {
|
||||||
size_t framesize = nchannels * sizeof(float);
|
size_t framesize = nchannels * sizeof(float);
|
||||||
size_t nbytes = nframes * framesize;
|
size_t nbytes = nframes * framesize;
|
||||||
size_t reuse_bytes = nsamples*framesize - nbytes;
|
size_t reuse_bytes = (nsamples-nframes)*framesize;
|
||||||
memmove(fftin, fftin+nbytes, reuse_bytes);
|
void *in = fftin;
|
||||||
void *in = fftin + reuse_bytes;
|
memmove(in, in+nbytes, reuse_bytes);
|
||||||
|
in += reuse_bytes;
|
||||||
|
/* read samples directly into fftin */
|
||||||
if ((ret=simpleaudio_read(sa, in, nframes)) <= 0)
|
if ((ret=simpleaudio_read(sa, in, nframes)) <= 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
carrier_nsamples += nframes;
|
carrier_nsamples += nframes;
|
||||||
|
|
||||||
|
if ( textscope ) {
|
||||||
|
int one_line_mode = 0;
|
||||||
|
int show_maxmag = 1;
|
||||||
|
tscope_print(fftout, show_nbands, magscalar,
|
||||||
|
one_line_mode, show_maxmag);
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
goto reprocess_audio;
|
goto reprocess_audio;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue