the file number, starting at 1. When this option is specified,
intermediate directories for the output file are created automatically.
This option has no effect if \-\-separate\-channels is specified.
+.TP
+\fI\-\-dump\-hw\-params\fP
+Dump hw_params of the device preconfigured status to stderr. The dump
+lists capabilities of the selected device such as supported formats,
+sampling rates, numbers of channels, period and buffer bytes/sizes/times.
+For raw device hw:X this option basically lists hardware capabilities of
+the soundcard.
.SH SIGNALS
When recording, SIGINT, SIGTERM and SIGABRT will close the output
static int use_strftime = 0;
volatile static int recycle_capture_file = 0;
static long term_c_lflag = -1;
+static int dump_hw_params = 0;
static int fd = -1;
static off64_t pbrec_count = LLONG_MAX, fdcount;
" --max-file-time=# start another output file when the old file has recorded\n"
" for this many seconds\n"
" --process-id-file write the process ID here\n"
-" --use-strftime apply the strftime facility to the output file name\n")
+" --use-strftime apply the strftime facility to the output file name\n"
+" --dump-hw-params dump hw_params of the device\n")
, command);
printf(_("Recognized sample formats are:"));
for (k = 0; k < SND_PCM_FORMAT_LAST; ++k) {
OPT_TEST_NOWAIT,
OPT_MAX_FILE_TIME,
OPT_PROCESS_ID_FILE,
- OPT_USE_STRFTIME
+ OPT_USE_STRFTIME,
+ OPT_DUMP_HWPARAMS
};
int main(int argc, char *argv[])
{"process-id-file", 1, 0, OPT_PROCESS_ID_FILE},
{"use-strftime", 0, 0, OPT_USE_STRFTIME},
{"interactive", 0, 0, 'i'},
+ {"dump-hw-params", 0, 0, OPT_DUMP_HWPARAMS},
{0, 0, 0, 0}
};
char *pcm_name = "default";
case OPT_USE_STRFTIME:
use_strftime = 1;
break;
+ case OPT_DUMP_HWPARAMS:
+ dump_hw_params = 1;
+ break;
default:
fprintf(stderr, _("Try `%s --help' for more information.\n"), command);
return 1;
error(_("Broken configuration for this PCM: no configurations available"));
prg_exit(EXIT_FAILURE);
}
+ if (dump_hw_params) {
+ fprintf(stderr, _("HW Params of device \"%s\":\n"),
+ snd_pcm_name(handle));
+ fprintf(stderr, "--------------------\n");
+ snd_pcm_hw_params_dump(params, log);
+ fprintf(stderr, "--------------------\n");
+ }
if (mmap_flag) {
snd_pcm_access_mask_t *mask = alloca(snd_pcm_access_mask_sizeof());
snd_pcm_access_mask_none(mask);