1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

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

This commit is contained in:
Anton Khirnov 2012-05-26 08:54:25 +02:00
parent d30acfa94c
commit 8271f55bd7
3 changed files with 63 additions and 3 deletions

View File

@ -21,7 +21,8 @@ version <next>:
- add fps filter
- audio split 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:

View File

@ -280,6 +280,50 @@ static void json_print_string(const char *key, const char *value)
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.
*/
@ -783,6 +827,12 @@ static int opt_output_format(const char *opt, const char *arg)
print_integer = ini_print_integer;
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 {
av_log(NULL, AV_LOG_ERROR, "Unsupported formatter %s\n", arg);
return AVERROR(EINVAL);

View File

@ -59,8 +59,17 @@ parsers.
Force format to use.
@item -of @var{formatter}
Use a specific formatter to output the document, either @var{ini} or
@var{json} available.
Use a specific formatter to output the document. The following
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
Show the unit of the displayed values.