}
/*
+ * 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.
*/
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);
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.