avprobe: restore pseudo-INI old style format for compatibility.

pull/59/head
Anton Khirnov 13 years ago
parent d30acfa94c
commit 8271f55bd7
  1. 3
      Changelog
  2. 50
      avprobe.c
  3. 13
      doc/avprobe.texi

@ -21,7 +21,8 @@ version <next>:
- add fps filter - add fps filter
- audio split filter - audio split filter
- audio mix filter - audio mix filter
- avprobe output is now standard INI or JSON. - avprobe output is now standard INI or JSON. The old format can still
be used with -of old.
version 0.8: version 0.8:

@ -280,6 +280,50 @@ static void json_print_string(const char *key, const char *value)
avio_w8(probe_out, '\"'); avio_w8(probe_out, '\"');
} }
/*
* old-style pseudo-INI
*/
static void old_print_object_header(const char *name)
{
char *str, *p;
if (!strcmp(name, "tags"))
return;
str = p = av_strdup(name);
while (*p) {
*p = toupper(*p);
p++;
}
avio_printf(probe_out, "[%s]\n", str);
av_freep(&str);
}
static void old_print_object_footer(const char *name)
{
char *str, *p;
if (!strcmp(name, "tags"))
return;
str = p = av_strdup(name);
while (*p) {
*p = toupper(*p);
p++;
}
avio_printf(probe_out, "[/%s]\n", str);
av_freep(&str);
}
static void old_print_string(const char *key, const char *value)
{
if (!strcmp(octx.prefix[octx.level - 1].name, "tags"))
avio_printf(probe_out, "TAG:");
ini_print_string(key, value);
}
/* /*
* Simple Formatter for single entries. * Simple Formatter for single entries.
*/ */
@ -783,6 +827,12 @@ static int opt_output_format(const char *opt, const char *arg)
print_integer = ini_print_integer; print_integer = ini_print_integer;
print_string = ini_print_string; print_string = ini_print_string;
} else if (!strcmp(arg, "old")) {
print_header = NULL;
print_object_header = old_print_object_header;
print_object_footer = old_print_object_footer;
print_string = old_print_string;
} else { } else {
av_log(NULL, AV_LOG_ERROR, "Unsupported formatter %s\n", arg); av_log(NULL, AV_LOG_ERROR, "Unsupported formatter %s\n", arg);
return AVERROR(EINVAL); return AVERROR(EINVAL);

@ -59,8 +59,17 @@ parsers.
Force format to use. Force format to use.
@item -of @var{formatter} @item -of @var{formatter}
Use a specific formatter to output the document, either @var{ini} or Use a specific formatter to output the document. The following
@var{json} available. formatters are available
@table @option
@item ini
@item json
@item old
Pseudo-INI format that used to be the only one available in old
avprobe versions.
@end table
@item -unit @item -unit
Show the unit of the displayed values. Show the unit of the displayed values.

Loading…
Cancel
Save