This generalizes the previous work on disposition printing.
Disposition flags are shown in a dedicated section, which should improve
output intellegibility, extensibility and filtering operations.
This breaks output syntax with the recently introduced disposition
printing.
Do not make use of ad-hoc "tags" code, introduce a new section flag
SECTION_FLAG_HAS_VARIABLE_FIELDS to deal with the tags in a
content-agnostic way.
This is required by the pending disposition change.
Do not build from scratch the section header for each section, but build
it using the previous level buffer, thus improving efficiency.
Also fix some few corner cases related to numbering which are exposed by
the pending disposition patch.
Do not build from scratch the section header for each section, but build
using the previous level buffer, thus improving efficiency and fix some
few corner cases which are exposed by the pending disposition patch.
Regular section fields nested in a regular section are now prefixed by
the nested section name.
This is required by the pending change related to disposition.
Regular section fields nested in a regular section are now prefixed by
the nested section name.
This is required by the pending change related to disposition.
Discard unflexible structure based on the root/chapter/section layout in
favor of a generalized concept of section.
This should allow to represent sections at a generic level of nesting,
and allow subsection fields selection.
Also, simplify the code.
Make writer_print_time() and writer_print_rational() always call
writer_print_int() or writer_print_string(). This way the checks for
determining if the value should be printed or not are consistently
performed in the low level functions.
writer_print_rational() is moved downward in order to avoid a forward
reference.
Simplify/amend the overall logic.
The c99-to-c89 converter (for MSVC support) doesn't currently handle
designated initializers or compound literals with nested unions or
structs.
This is apparently the only place where this construct is used in the
FFmpeg codebase.
Remove pointless default_print_footer() and
default_print_chapter_header() callbacks, also avoid to print an
empty line when noprint_wrappers is selected.
Add "data" and "extradata" attributes to the schema.
Add "tag" element in "streams".
Print extradata before tags to avoid closing the element.
Fix trac ticket #1588.