Commit Graph

262 Commits

Author SHA1 Message Date
Stefano Sabatini
ddaf33f5bb ffprobe: fix consistency checks in parse_read_intervals()
Move array size assert after the count increment, and avoid strchr() NULL
dereference on p.

Should fix FFmpeg coverity issue #1108581.
2013-10-21 13:33:06 +02:00
Stefano Sabatini
f5b27b6d5f ffprobe: print stream channel_layout when available
Fix trac ticket #3006.
2013-10-03 09:19:38 +02:00
Stefano Sabatini
7bac6e5cf8 ffprobe: fix uninitialized variable warning
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.
2013-09-23 14:16:34 +02:00
Stefano Sabatini
f0606a28de ffprobe: add -read_intervals option
This is also useful to test seeking on an input file.

This also addresses trac ticket #1437.
2013-09-19 10:10:30 +02:00
Stefano Sabatini
5d12ec8fb7 ffprobe: downgrade log level for non fatal errors in open_input_file()
Since the errors are not fatal, it is less confusing not to show them as
errors but as warnings.

Arbitrarily fixes trac ticket #2419.
2013-09-17 15:59:48 +02:00
Nicolas George
83635ac67b ffprobe: show bitmap subtitles size.
Fix trac ticket #2930.
2013-09-04 16:36:28 +02:00
Stefano Sabatini
291ad12ea2 ffprobe: show probe_score in the format section
Should address trac ticket #2621.
2013-09-01 11:34:18 +02:00
Florent Tribouilloy
2186a7e547 ffprobe: add -show_programs option
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>
2013-07-28 16:39:06 +02:00
Stefano Sabatini
2fcd400669 ffprobe: do not treat array elements as nested in the compact writer
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.
2013-07-28 16:38:50 +02:00
Michael Niedermayer
f982d006bb Merge commit '636ced8e1dc8248a1353b416240b93d70ad03edb'
* commit '636ced8e1dc8248a1353b416240b93d70ad03edb':
  cmdutils: wrap exit explicitly

Conflicts:
	avprobe.c
	cmdutils.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:34:11 +02:00
Stefano Sabatini
5c616fe48b ffprobe: always exit 1 in case of errors
This is consistent with the other ff* tools, and also avoids spurious
success reports when ret%256 = 0.
2013-06-27 00:20:36 +02:00
Stefano Sabatini
1fc626f8d0 ffprobe: reindent after previous commit 2013-06-27 00:20:28 +02:00
Nicolas George
a334b00cf6 ffprobe: fix exit code with stream specifiers
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>
2013-06-27 00:20:20 +02:00
Stefano Sabatini
205092bf47 ffprobe: simplify branching logic in probe_file() 2013-06-27 00:20:11 +02:00
Stefano Sabatini
4da5402256 ffprobe: show chapter and chapter metadata information
Address trac ticket #2636.
2013-06-06 16:49:53 +02:00
Stefano Sabatini
e292d75113 ffprobe: set writer context to 0 after allocation
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.
2013-03-19 18:00:34 +01:00
Stefano Sabatini
f7ab23b0d0 ffprobe: remove deprecated frame "reference" field 2013-03-17 00:27:48 +01:00
Stefano Sabatini
1019cef329 ffprobe: support codec options
Make ffprobe honour codec options, and support stream specifiers like it
is done in ffplay.

In particular, address Trac ticket #1859.
2013-03-13 00:34:36 +01:00
Michael Niedermayer
3ded235f59 ffprobe: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Clément Bœsch
d079d1d368 ffprobe: do not escape '"' between single quotes. 2013-01-01 13:32:51 +01:00
Stefano Sabatini
1a490df12f ffprobe: show pkt_size in frame
Fix trac ticket #2027.
2012-12-15 11:46:47 +01:00
Stefano Sabatini
9a7256e8e0 ffprobe: free dictionary in opt_show_entries()
Fix memleak.
2012-11-23 18:49:26 +01:00
Stefano Sabatini
c8a5365dcf ffprobe: implement -sections option 2012-11-22 14:19:29 +01:00
Stefano Sabatini
196765a7cc ffprobe: implement subsection field selection through the -show_entries option 2012-11-22 14:19:25 +01:00
Stefano Sabatini
64dc383de5 ffprobe: fix typo in a comment 2012-11-21 20:17:57 +01:00
Stefano Sabatini
6ca9c74cc6 ffprobe: add "," at the end of enum list 2012-11-21 20:17:57 +01:00
Stefano Sabatini
29d46d7bce ffprobe: fix potential NULL pointer dereference
Found by Coverity, should fix CID 733741.
2012-11-06 22:59:24 +01:00
Stefano Sabatini
a945607a78 ffprobe: add an array of section print buffers to the WriterContext
Allow to factorize buffers initialization/release, for all the writers
which use it. Simplify.
2012-10-24 23:40:21 +02:00
Michael Niedermayer
4334ba043e ffprobe: fix use of uninitialized pointer in av_strtok()
Fixes CID733837
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 03:37:43 +02:00
Stefano Sabatini
531872d763 ffprobe: reindent after previous commit 2012-10-05 23:58:23 +02:00
Stefano Sabatini
3d189d41c1 ffprobe: add -select_streams option 2012-10-05 23:58:18 +02:00
Michael Niedermayer
8f0168a3b9 fix exit_program() prototypes
This fixes 2 warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 21:55:31 +02:00
Michael Niedermayer
032ba74ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: fix Thumb PIC on Apple
  nut: add do {} while (0) to GET_V
  tiffenc: Check av_malloc() results.
  tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
  Use atexit() instead of defining a custom exit_program() interface.
  msvc: Fix detection of VFW & Avisynth required libs

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 19:48:54 +02:00
Stefano Sabatini
301f6da039 ffprobe: extend disposition printing support
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.
2012-09-30 12:22:19 +02:00
Stefano Sabatini
50efde6bcb ffprobe: generalize nesting model for the XML writer
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.
2012-09-30 12:07:47 +02:00
Stefano Sabatini
74bd0cf49c ffprobe: rework/fix ini writer
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.
2012-09-29 10:25:11 +02:00
Stefano Sabatini
01e4537f66 ffprobe: rework/fix flat writer
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.
2012-09-29 10:25:04 +02:00
Stefano Sabatini
06fd4c2dfa ffprobe: generalize nesting model for the compact writer
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.
2012-09-29 10:24:53 +02:00
Stefano Sabatini
44c1cc3f8e ffprobe: generalize nesting model for the default writer
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.
2012-09-29 10:24:45 +02:00
Stefano Sabatini
b6ea9c8765 ffprobe: drop SECTION_ENTRY macro
The use of the macro makes to add new optional fields somewhat harder.
2012-09-29 10:24:36 +02:00
Stefano Sabatini
23564a4a4a ffprobe: add support to library ident printing 2012-09-29 10:24:28 +02:00
Stefano Sabatini
ed2b69a4c3 ffprobe: remove unused "args" argument in writer init callback
The parameter is no longer used, since the arguments are parsed at the
framework level.
2012-09-28 16:37:27 +02:00
Stefano Sabatini
163f7afbe6 ffprobe: fix indentation of the first line of packets_and_frames sections in the json output 2012-09-27 01:10:46 +02:00
Stefano Sabatini
4552e9b56c ffprobe: generalize writer subsection nesting model
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.
2012-09-26 11:07:09 +02:00
Stefano Sabatini
2089f93300 ffprobe: drop pointless opaque parameter in writer init callback
The parameter was never used.
2012-09-25 11:02:52 +02:00
Stefano Sabatini
58e9025993 ffprobe: reindent after previous commit 2012-09-25 09:22:00 +02:00
Stefano Sabatini
4b370d6126 ffprobe: rework checking logic in writer_print_time() and writer_print_rational()
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.
2012-09-25 09:20:57 +02:00
Alexander Strasser
dde8068856 ffprobe: Consider the chosen separator when doing CSV escaping
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:34 +02:00
Alexander Strasser
dd83028374 ffprobe: Rename variable in csv_escape_str()
Sync to 3245be9 .

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:19 +02:00
Alexander Strasser
f70122dd57 ffprobe: Simplify CSV field quoting code
Sync with bac1b31 .

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:13 +02:00