prefix_string = decimal_unit_prefixes[index];
}
- snprintf(buf, buf_size, "%.3f %s%s", val, prefix_string, show_value_unit ? unit : "");
+ snprintf(buf, buf_size, "%.3f%s%s%s", val, prefix_string || show_value_unit ? " " : "",
+ prefix_string, show_value_unit ? unit : "");
} else {
- snprintf(buf, buf_size, "%f %s", val, show_value_unit ? unit : "");
+ snprintf(buf, buf_size, "%f%s%s", val, show_value_unit ? " " : "",
+ show_value_unit ? unit : "");
}
return buf;
static const char *media_type_string(enum AVMediaType media_type)
{
- switch (media_type) {
- case AVMEDIA_TYPE_VIDEO: return "video";
- case AVMEDIA_TYPE_AUDIO: return "audio";
- case AVMEDIA_TYPE_DATA: return "data";
- case AVMEDIA_TYPE_SUBTITLE: return "subtitle";
- case AVMEDIA_TYPE_ATTACHMENT: return "attachment";
- default: return "unknown";
- }
+ const char *s = av_get_media_type_string(media_type);
+ return s ? s : "unknown";
}
static void show_packet(AVFormatContext *fmt_ctx, AVPacket *pkt)
}
printf("pix_fmt=%s\n", dec_ctx->pix_fmt != PIX_FMT_NONE ?
av_pix_fmt_descriptors[dec_ctx->pix_fmt].name : "unknown");
+ printf("level=%d\n", dec_ctx->level);
break;
case AVMEDIA_TYPE_AUDIO:
static void show_usage(void)
{
printf("Simple multimedia streams analyzer\n");
- printf("usage: ffprobe [OPTIONS] [INPUT_FILE]\n");
+ printf("usage: %s [OPTIONS] [INPUT_FILE]\n", program_name);
printf("\n");
}
if (!input_filename) {
show_usage();
fprintf(stderr, "You have to specify one input file.\n");
- fprintf(stderr, "Use -h to get full help or, even better, run 'man ffprobe'.\n");
+ fprintf(stderr, "Use -h to get full help or, even better, run 'man %s'.\n", program_name);
exit(1);
}