int i;
int err = 0;
+ if (!ctx->xfer.quiet) {
+ fprintf(stderr,
+ "%s: Format '%s', Rate %u Hz, Channels ",
+ snd_pcm_stream_name(direction),
+ snd_pcm_format_description(ctx->xfer.sample_format),
+ ctx->xfer.frames_per_second);
+ if (ctx->xfer.samples_per_frame == 1)
+ fprintf(stderr, "'monaural'");
+ else if (ctx->xfer.samples_per_frame == 2)
+ fprintf(stderr, "'Stereo'");
+ else
+ fprintf(stderr, "%u", ctx->xfer.samples_per_frame);
+ fprintf(stderr, "\n");
+ }
+
*actual_frame_count = 0;
while (!ctx->interrupted) {
struct container_context *cntr;
break;
}
+ if (!ctx->xfer.quiet) {
+ fprintf(stderr,
+ "%s: Expected %lu frames, Actual %lu frames\n",
+ snd_pcm_stream_name(direction), expected_frame_count,
+ *actual_frame_count);
+ if (ctx->interrupted) {
+ fprintf(stderr, "Aborted by signal: %s\n",
+ strsignal(ctx->signal));
+ return 0;
+ }
+ }
+
return err;
}
const struct xfer_data *data, int argc,
char *const *argv)
{
- static const char *short_opts = "CPhvf:c:r:t:I";
+ static const char *short_opts = "CPhvqf:c:r:t:I";
static const struct option long_opts[] = {
// For generic purposes.
{"capture", 0, 0, 'C'},
{"xfer-type", 1, 0, OPT_XFER_TYPE},
{"help", 0, 0, 'h'},
{"verbose", 0, 0, 'v'},
+ {"quiet", 0, 0, 'q'},
// For transfer backend.
{"format", 1, 0, 'f'},
{"channels", 1, 0, 'c'},
xfer->help = true;
else if (key == 'v')
++xfer->verbose;
+ else if (key == 'q')
+ xfer->quiet = true;
else if (key == 'f')
xfer->sample_format_literal = arg_duplicate_string(optarg, &err);
else if (key == 'c')
unsigned int frames_per_second;
unsigned int samples_per_frame;
bool help:1;
+ bool quiet:1;
bool multiple_cntrs:1; // For mapper.
snd_pcm_format_t sample_format;