" --log=# file that both stdout and strerr redirecting to\n"
" --file=# file for playback\n"
" --saveplay=# file that storing playback content, for debug\n"
+" --readcapture=# file with previously captured content. File data\n"
+" is used for analysis instead of capturing it.\n"
" --local internal loop, set to bypass pcm hardware devices\n"
" --standalone standalone mode, to bypass analysis\n"
" --roundtriplatency round trip latency mode\n"
{"roundtriplatency", 0, 0, OPT_ROUNDTRIPLATENCY},
{"snr-db", 1, 0, OPT_SNRTHD_DB},
{"snr-pc", 1, 0, OPT_SNRTHD_PC},
+ {"readcapture", 1, 0, OPT_READCAPTURE},
{0, 0, 0, 0}
};
case OPT_SAVEPLAY:
bat->debugplay = optarg;
break;
+ case OPT_READCAPTURE:
+ bat->capturefile = optarg;
+ bat->capture.mode = MODE_ANALYZE_ONLY;
+ bat->playback.mode = MODE_ANALYZE_ONLY;
+ break;
case OPT_LOCAL:
bat->local = true;
break;
goto analyze;
}
+ if (bat.capture.mode == MODE_ANALYZE_ONLY && bat.capturefile) {
+ bat.capture.file = strdup(bat.capturefile);
+ fprintf(bat.log,
+ _("Using data from file %s for analysis\n"),
+ bat.capture.file);
+ fprintf(bat.log, _("Skipping playback and capture\n"));
+ goto analyze;
+ }
+
/* loopback thread: playback and capture in a loop */
if (bat.local == false)
test_loopback(&bat);
#define OPT_ROUNDTRIPLATENCY (OPT_BASE + 6)
#define OPT_SNRTHD_DB (OPT_BASE + 7)
#define OPT_SNRTHD_PC (OPT_BASE + 8)
+#define OPT_READCAPTURE (OPT_BASE + 9)
#define COMPOSE(a, b, c, d) ((a) | ((b)<<8) | ((c)<<16) | ((d)<<24))
#define WAV_RIFF COMPOSE('R', 'I', 'F', 'F')
MODE_UNKNOWN = -1,
MODE_SINGLE = 0,
MODE_LOOPBACK,
+ MODE_ANALYZE_ONLY,
MODE_LAST
};
char *narg; /* argument string of duration */
char *logarg; /* path name of log file */
char *debugplay; /* path name to store playback signal */
+ char *capturefile; /* path name for previously saved recording */
bool standalone; /* enable to bypass analysis */
bool roundtriplatency; /* enable round trip latency */