mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +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
|
- 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:
|
||||||
|
|
||||||
|
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, '\"');
|
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…
x
Reference in New Issue
Block a user