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:
parent
d30acfa94c
commit
8271f55bd7
@ -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:
|
||||
|
||||
|
50
avprobe.c
50
avprobe.c
@ -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);
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user