Fix warning:
ffprobe.c:1684:21: warning: ‘start’ may be used uninitialized in this function [-Wmaybe-uninitialized] end = start + interval->end;
The warning is a false positive, since the variable is accessed only if
has_start is set, and in that case start has been already set.
The option is used to sort the streams by program.
Signed-off-by: Florent Tribouilloy <florent.tribouilloy@smartjog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
This fixes rendering of sections containing nested elements followed by
an array, for example as in the case:
programs->streams->stream
enabled by the -show_programs option.
Without this fix, ffprobe would exit with a failure exit code if a stream
specifier is given that selects the last stream.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Avoid access to uninitialized values, which may result in a crash.
This happens for example in case of option parsing failure, since in that
case the internal AVBprint buffers are not initialized.
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.