Conversions for Lucent modems that generate anything
other than Linear 16bit seem to be broken. The function
int lintopvf (FILE *fd_in, FILE *fd_out, pvf_header
*header_out,
int is_signed, int bits16, int intel)
has a flag that indicates if the input is 16 bits or
not. The code in rmdtopvf.c incorrectly calls this
with the number of bits rather than a zero/non-zero flag...
at or near line 394:
if (strcmp(modem_type, "Lucent") == 0 &&
compression == 1)
{
if (lintopvf(fd_in, fd_out, &header_out, 0,
8, 0) == OK)
exit(OK);
};
if (strcmp(modem_type, "Lucent") == 0 &&
compression == 2)
{
if (lintopvf(fd_in, fd_out, &header_out, 0,
16, 0) == OK)
exit(OK);
};
As written, 8 bit linear output for Lucent is always
16bit, even though the rmd headers says it is 8 bit.
This causes the ZOOM 2920 to be unsupported, as it is
broken and currently seems to support only Lucent 1
mode (AT+VSM=128,8000) once any AT+VSM has been issued
(even though the default mode is Lucent 2!
(AT+VSM=129,8000)