Michael Niedermayer
2dcaa1b9d1
avformat/utils: detect MPEG streams with faulty DTS and discard affected DTS
...
Fixes issue2.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 02:27:07 +01:00
Michael Niedermayer
3c096751ff
avformat/utils: compute_pkt_fields: Fix DTS for the case where has_b_frames is too large but the correct one is constant
...
Fixes issue1.m2ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 14:31:23 +01:00
Michael Niedermayer
d4dfa97ae3
avformat/utils: reset pts_buffer in estimate_timings_from_pts()
...
This fixes the first few dts after find_stream_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 14:31:23 +01:00
Michael Niedermayer
f288e1b67c
avformat/utils: factorize h264/hevc checks out in compute_pkt_fields()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 14:31:23 +01:00
Carl Eugen Hoyos
f5fe6a4f79
Do not warn about missing start time for unknown streams.
2014-02-21 17:27:37 +01:00
Carl Eugen Hoyos
1f7e9be0b0
Only complain about missing frame rate for video streams.
2014-02-21 17:27:20 +01:00
Michael Niedermayer
2969fb4393
avformat/utils: av_guess_frame_rate() favor avg_frame_rate if r_frame_rate has a comparably unlikely value
...
Fixes Ticket3399
Fixes Ticket2958
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-19 18:40:27 +01:00
Michael Niedermayer
480af3a35c
avformat/utils: skip the MPEG-2 style dts/pts code for HEVC
...
This extends the exception from H264 to H264 + HEVC
Fixes Ticket3385
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 20:51:10 +01:00
Marton Balint
6421111b52
lavf: allow av_find_best_stream to return AV_DISPOSITION_*_IMPAIRED wanted_streams
...
Previously these type of streams were not returned even if wanted stream was
set to a stream of such. Now they are only skipped if they are not wanted
streams.
Fixes ffplay -sst <stream number> out.ts where stream number is a *_IMPAIRED stream.
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-10 12:58:59 +01:00
Michael Niedermayer
073e771c9c
Merge commit '33c859c142ef3f49b7a6227014ad92a680cf4d74'
...
* commit '33c859c142ef3f49b7a6227014ad92a680cf4d74':
lavf: ignore attachment streams for interleaving purposes
Conflicts:
libavformat/avformat.h
libavformat/internal.h
libavformat/mux.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-04 15:37:05 +01:00
Anton Khirnov
33c859c142
lavf: ignore attachment streams for interleaving purposes
...
Those streams should never get any packets by definition.
2014-02-04 11:17:06 +01:00
Ståle Kristoffersen
8658390336
libavformat/utils.c: Cosmetics: Fix incorrect comma placement
2014-02-03 11:35:19 +01:00
Michael Niedermayer
1bc2fa447c
avformat: use AVPROBE_SCORE_STREAM_RETRY, instead of AVPROBE_SCORE_RETRY - 1
...
This makes the code clearer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-02 23:50:00 +01:00
Voyager1
9f6f4962fb
avformat/utils: dvd still frames read thru libdvdnav ended up in internal lavf buffer
...
This is the solution we've been using in XBMC for over 2 years for dvd still frames.
The problem is that the demuxer asks for probing of the codec in the mpeg stream.
This causes lavf to read the whole menu structure into internal buffers.
After which, it won't read from input stream anymore and no events triggers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-02 23:40:06 +01:00
Ståle Kristoffersen
16097efb8c
Auto-detect hevc in mpeg-ts.
...
Fixes decoding of files without PMT/PAT.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2014-01-31 19:05:08 +01:00
Michael Niedermayer
e53ec2fe38
Merge commit '78987a88a88b28d93d03ed6c228bcb33f178444f'
...
* commit '78987a88a88b28d93d03ed6c228bcb33f178444f':
lavf: include 60 fps in guessed standard frame rates
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-31 14:58:28 +01:00
Janne Grunau
78987a88a8
lavf: include 60 fps in guessed standard frame rates
...
Due to what looks like an off-by-one error 60 * 12 * 1001 / 12 * 1001
is not tested as standard frame rate in avformat_find_stream_info().
2014-01-31 11:09:10 +01:00
Michael Niedermayer
72afa381b3
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avformat: utils: Refactor duplicated PRINT macro
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-29 23:40:51 +01:00
Diego Biurrun
d67cfdeb53
avformat: utils: Refactor duplicated PRINT macro
2014-01-29 17:04:35 +01:00
Lukasz Marek
102bd64168
lavd: add avdevice_dev_to_app_control_message API
...
New API allows to send messages from devices to application.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-01-27 15:18:17 +01:00
Michael Niedermayer
896d6a7736
Merge commit '50ecf15712354a1d5b3f4dc9a57ff90ed7ee9654'
...
* commit '50ecf15712354a1d5b3f4dc9a57ff90ed7ee9654':
avformat: utils: K&R formatting cosmetics
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-26 23:35:38 +01:00
Diego Biurrun
50ecf15712
avformat: utils: K&R formatting cosmetics
...
Also adjust some comment wording / spelling and reorder header #includes.
2014-01-26 18:09:00 +01:00
James Darnley
86bee7984e
AVFormatContext: add metadata_header_padding field
...
This field is used to store the number of bytes that should be written
as padding to a metadata header of a file. For example:
- The FLAC format's METADATA_BLOCK_PADDING [1]
- The ID3v2 tag format's padding [2]
[1] http://xiph.org/flac/format.html#metadata_block_padding
[2] http://id3.org/id3v2.3.0#ID3v2_overview
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-24 22:33:21 +01:00
Carl Eugen Hoyos
cb36e441de
Never favour an audio stream with 0 channels in av_find_best_stream().
...
Fixes ticket #3311 .
2014-01-16 00:36:27 +01:00
Michael Niedermayer
05c78f345b
avformat/utils: av_probe_input_buffer2 decrease difference to libav
...
This removes the initialization of 2 unused fields
The change was part of c1868e7ee7
but wasnt merged as the fields could still be used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 01:59:11 +01:00
Michael Niedermayer
05886c9d4e
avformat/utils/av_probe_input_buffer2: fix buffer passed to ffio_rewind_with_probe_data()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 22:24:30 +01:00
Michael Niedermayer
8c3b026a0e
avformat/utils/av_probe_input_buffer2: fix offset check
...
The check could fail if avio_read() read less than requested
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 22:23:40 +01:00
Michael Niedermayer
6a2064820b
avformat/utils/av_probe_input_buffer2: Fix pd.buf_size
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 22:14:02 +01:00
Michael Niedermayer
220f0927b8
Merge commit '8b76362836f3c373c3aadc544522edcbef16dd5f'
...
* commit '8b76362836f3c373c3aadc544522edcbef16dd5f':
lavf: use a fixed width type
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 21:34:42 +01:00
Anton Khirnov
2115a35974
lavf: make av_probe_input_buffer more robust
...
Always use the actually read size as the offset instead of making
possibly invalid assumptions.
Addresses: CVE-2012-6618
2014-01-13 15:00:09 +01:00
Anton Khirnov
8b76362836
lavf: use a fixed width type
...
It's shorter and more consistent with the rest of the code.
2014-01-13 15:00:09 +01:00
Anton Khirnov
c1868e7ee7
lavf: simplify handling of offset in av_probe_input_buuffer()
2014-01-13 15:00:09 +01:00
Michael Niedermayer
76c63bc5d8
Merge commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f'
...
* commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f':
lavf: remove a pointless check
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:34:45 +01:00
Anton Khirnov
3867f3718b
lavf: remove a pointless check
...
AVStream.codec is always non-NULL
2014-01-06 08:21:53 +01:00
Michael Niedermayer
863f4c3c71
avformat/utils: fix rounding error accumulation for generated dts in compute_pkt_fields()
...
This only updates the case where there is no B frame reordering delay.
Tested-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 15:10:44 +01:00
Michael Niedermayer
5047849584
avformat/utils: fix order of buffers in timestamp update code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-03 23:27:28 +01:00
Michael Niedermayer
4bfcedb33f
avformat: dont run update_initial_duration() twice
...
This should avoid floods of first_dts not matching debug messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-31 14:13:51 +01:00
Michael Niedermayer
ee4e805093
avformat: add ff_get_extradata()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-25 17:14:32 +01:00
Michael Niedermayer
d600b18f22
avformat/utils: limit rfps to values larger than fps
...
This avoids some nonsense values being produced by totally corrupted input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 21:43:19 +01:00
Michael Niedermayer
f6cd447bf1
avformat/utils: treat flv like mov with timestamp discarding
...
This prevents a regression when using an avparser with flv h264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 04:18:13 +01:00
Michael Niedermayer
0506cc2cc3
Merge commit '281a40e18f923510f2067d05c5b0cf08cc49dfee'
...
* commit '281a40e18f923510f2067d05c5b0cf08cc49dfee':
lavf: remove an unneeded call to avcodec_get_frame_defaults().
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 00:14:21 +01:00
Michael Niedermayer
4cbf3eb9e6
Merge commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9'
...
* commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9':
Replace all uses of avcodec_free_frame with av_frame_free().
Conflicts:
doc/examples/decoding_encoding.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:18:51 +01:00
Anton Khirnov
281a40e18f
lavf: remove an unneeded call to avcodec_get_frame_defaults().
...
avcodec_decode_*() resets the frame itself.
2013-12-11 20:39:55 +01:00
Anton Khirnov
eb891b3114
Replace all uses of avcodec_free_frame with av_frame_free().
2013-12-11 20:39:54 +01:00
Michael Niedermayer
81c1197494
avformat/utils: Check avcodec_open2() return code in av_find_stream_info()
...
Fixes CID1135750
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 20:32:05 +01:00
Michael Niedermayer
7f763775aa
avformat/utils: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 11:59:53 +01:00
Michael Niedermayer
1770da18f7
avformat/utils: reject poorly fitting rfps values earlier
...
This avoids collecting statistics for rfps values that very likely
will get rejected later.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 04:20:05 +01:00
Michael Niedermayer
1565a9a9e9
avformat/utils: factor rfps calculation out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 17:30:13 +01:00
Michael Niedermayer
dc1b0a54f9
avformat/utils: provide more IO statistics in debug output at start and end of av_find_streaminfo()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 16:09:11 +01:00
Michael Niedermayer
f3008f30fb
avformat/utils: move update_wrap_reference() up
...
simplifies code
also remove extra {}
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 14:36:36 +01:00
Michael Niedermayer
34b16e2d36
avformat/utils: reorder operations in update_wrap_reference()
...
prevents a integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 14:36:35 +01:00
Michael Niedermayer
394b0c830a
avformat/utils: correct for timestamp wrap earlier
...
This uses dts & pts as reference instead of first_dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 02:18:04 +01:00
Michael Niedermayer
d7ead9ad44
avformat/utils: also fix wrapping of start_time in update_initial_timestamps()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 02:18:04 +01:00
Michael Niedermayer
dd5f925927
avformat/utils: Fix pts_wrap_behavior calculation with negative first_dts
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 02:18:04 +01:00
Michael Niedermayer
ccdfa3e271
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Add missing #includes for *INT64_MAX and *INT64_C
Conflicts:
ffmpeg.c
ffmpeg_filter.c
ffplay.c
libavformat/assdec.c
libavformat/avidec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:21:19 +01:00
Diego Biurrun
8f8bc92365
Add missing #includes for *INT64_MAX and *INT64_C
2013-11-23 21:55:52 +01:00
Michael Niedermayer
f0f75dfa34
avformat/utils: inject audio skip side data before the side data merge code
...
This ensures that its handled the same way as other side data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-21 03:21:23 +01:00
Michael Niedermayer
98fc81b20d
avformat/utils: move side data merge after parser
...
merging before the parser can conflict with the parser, also
future changes depend on it being done later
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-21 01:02:11 +01:00
Michael Niedermayer
a8dec360c5
avformat/utils: dont count attached pics toward the probesize
...
Such pics behave more like headers which we also dont count.
Fixes Ticket3146
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-18 03:02:36 +01:00
Michael Niedermayer
0ee905e243
Merge commit '5b9c3b4505206143d85398c1410949319fa1180f'
...
* commit '5b9c3b4505206143d85398c1410949319fa1180f':
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
Conflicts:
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
libavcodec/alacenc.c
libavcodec/libopenjpegenc.c
libavcodec/libvpxenc.c
libavcodec/pcm.c
libavcodec/xbmenc.c
libavcodec/xwdenc.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:54:10 +01:00
Anton Khirnov
5b9c3b4505
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
2013-11-16 12:44:20 +01:00
Michael Niedermayer
074bae745d
Merge commit 'ecf442a58b09bdb1dc1d2c3904b82ac5f79b2878'
...
* commit 'ecf442a58b09bdb1dc1d2c3904b82ac5f79b2878':
lavf: improve support for AVC-Intra files.
Conflicts:
libavformat/internal.h
libavformat/isom.c
libavformat/mxfdec.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 21:04:44 +01:00
Reimar Döffinger
ecf442a58b
lavf: improve support for AVC-Intra files.
...
Generate extradata with SPS/PPS based on container dimensions.
Authors of this commit are: Reimar and Thomas Mundt
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-14 18:59:39 +01:00
Michael Niedermayer
676bc505f7
avformat/utils: disabled debug code to collect format probing statistics
...
This allows collecting statistics on probing scores and the amount of data
probing needed for various files and formats.
For example it can be used to find out which formats tend to need more
data for probing or which files are probed with less certain/lower scores
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-11 13:06:36 +01:00
Michael Niedermayer
8b73a3f6f6
avformat/utils: never decrease has_b_frames in compute_pkt_fields()
...
The intent of the original check was to increase has_b_frames when
it was incorrectly set to 0. Later codecs allowed larger values
Found-by: divVerent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-03 21:36:10 +01:00
Anton Khirnov
d1c229cdbc
lavf: do not use int to store an int64
2013-11-01 21:01:32 +01:00
Anton Khirnov
4eb49fdde8
lavf: remove unreliable timestamp guessing heuristic
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 20:10:41 +01:00
Anton Khirnov
2ba68dd044
lavf: remove unreliable timestamp guessing heuristic
2013-10-28 09:28:19 +01:00
Michael Niedermayer
4307026243
avformat/utils: make "first_dts not matching first dts in the queue" message more informative
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 17:41:06 +01:00
Michael Niedermayer
1e5271a9fd
avformat/utils: do not override pts in h264 when they are provided from the demuxer
...
Fixes Ticket2143
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 02:27:45 +02:00
Michael Niedermayer
210afae0ba
avformat/utils: Check size argument in ff_add_index_entry()
...
Fixes infinite loop
Fixes Ticket3061
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 12:58:09 +02:00
Michael Niedermayer
88d4ff4b5f
avformat/utils: Check av_packet_new_side_data() return before using it
...
Fixes null pointer dereference
Fixes CID1108592
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 18:33:53 +02:00
Paul B Mahol
a807c68253
avformat: use ff_alloc_extradata()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 20:13:38 +00:00
Paul B Mahol
3fd79833e2
avformat: add ff_alloc_extradata() helper
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 20:13:38 +00:00
Michael Niedermayer
5082fcc0e2
avformat: add support to force specific AVCodecs
...
previously only codec_ids could be forced, which did not allow
forcing a specific implementation like libopenjpeg vs jpeg2000.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Michael Niedermayer
f4aec34805
avformat/utils: pass AVFormatContext to find_decoder()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Michael Niedermayer
a63b479d11
avformat/utils: factor find_decoder() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 18:11:13 +02:00
Michael Niedermayer
ef7e8efc6b
Merge commit 'ce67f442be0f6c4a8794272873852e256b5b8ee4'
...
* commit 'ce67f442be0f6c4a8794272873852e256b5b8ee4':
lavf: Avoid setting avg_frame_rate if delta_dts is negative
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:19:13 +02:00
Martin Storsjö
ce67f442be
lavf: Avoid setting avg_frame_rate if delta_dts is negative
...
This avoids setting avg_frame_rate to invalid (negative)
values.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Michael Niedermayer
49515cb840
avformat: remove duplicate includes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02:00
Michael Niedermayer
15672e832f
avformat/utils: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 23:19:29 +02:00
Michael Niedermayer
20dfab33f5
Merge commit '5626f994f273af80fb100d4743b963304de9e05c'
...
* commit '5626f994f273af80fb100d4743b963304de9e05c':
avformat: Use av_reallocp() where suitable
Conflicts:
libavformat/avidec.c
libavformat/avienc.c
libavformat/aviobuf.c
libavformat/oggparsevorbis.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 11:01:26 +02:00
Alexandra Khirnova
5626f994f2
avformat: Use av_reallocp() where suitable
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-18 18:28:38 +02:00
Michael Niedermayer
e960b3e27e
avformat/utils: Print warning if reallocating probe buffer failed
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 13:09:24 +02:00
Michael Niedermayer
3f760214b4
Merge commit '68b467742092364f9306283f40effde2c12efe08'
...
* commit '68b467742092364f9306283f40effde2c12efe08':
lavf: Make probe_codec return an error code
Conflicts:
libavformat/utils.c
A failure to reallocate should not free the array as it is used
to probe the codec. And failure to reallocate if the following
probe succeeds isnt a fatal error for probe_codec(). Thus this
is only partially merged to ensure probing still is attempted
with the data available.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:44:31 +02:00
Carl Eugen Hoyos
5c2be81b39
Do not suggest to increase probesize for image2 files.
2013-09-17 00:08:12 +02:00
Alexandra Khirnova
68b4677420
lavf: Make probe_codec return an error code
...
This allows handling errors from av_realloc properly.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:28:23 +03:00
Michael Niedermayer
2a1c24a267
avformat/utils: use av_realloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:38:53 +02:00
Michael Niedermayer
8c9d6ee4f2
avformat/utils: functions that add entries should not destroy the whole list on failure
...
The caller does not expect this, and in case of adding new streams would then
not even be able to deallocate them anymore.
This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:21:21 +02:00
Michael Niedermayer
cbe47b1e84
Merge commit 'f369b9356c4606cd4d713d60f7db5de119d901fa'
...
* commit 'f369b9356c4606cd4d713d60f7db5de119d901fa':
avformat: Use av_reallocp_array() where suitable
Conflicts:
libavformat/asfenc.c
libavformat/gxfenc.c
libavformat/mov.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 11:23:40 +02:00
Alexandra Khirnova
f369b9356c
avformat: Use av_reallocp_array() where suitable
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-10 12:38:32 +02:00
Michael Niedermayer
53fb52ac85
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavf: fix the comparison in an overflow check
Conflicts:
libavformat/utils.c
See: a5d67bc796
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 12:29:07 +02:00
Anton Khirnov
26f027fba1
lavf: fix the comparison in an overflow check
...
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-07 11:52:40 +02:00
Clément Bœsch
36cd017acd
avformat: make avformat_close_input() more tolerant.
...
The purpose of this commit is to make error management simpler and less
error prone, just like av_free() which is safe with NULL.
2013-09-04 22:06:38 +02:00
Michael Niedermayer
e5c338ba7a
avformat/utils: assert position monotonicity in ff_find_last_ts()
...
This ensures that no read timestamp functions finds packets before the search window in ff_find_last_ts()
which could cause an infinite loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:45:13 +02:00
Michael Niedermayer
a5d67bc796
avformat/utils: Fix bitrate overflow check
...
The check added in df33a58e53
does not work
at all, rather it broke the summing of bitrates completely.
The comparission was wrong way around.
This commit replaces it by a simpler and hopefully clearer check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:49:03 +02:00
Michael Niedermayer
d07d54fd56
Merge commit 'df33a58e5311ee9a64a573889b883a80e981af7b'
...
* commit 'df33a58e5311ee9a64a573889b883a80e981af7b':
lavf: avoid integer overflow when estimating bitrate
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:45:53 +02:00
Michael Niedermayer
b0ba2bf8c6
Merge commit 'fab694dd3931b1c0bc3c598c3f88b1902c14a303'
...
* commit 'fab694dd3931b1c0bc3c598c3f88b1902c14a303':
lavf: move a variable declaration to the block where it's used
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:27:48 +02:00
Anton Khirnov
df33a58e53
lavf: avoid integer overflow when estimating bitrate
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:29 +02:00
Anton Khirnov
fab694dd39
lavf: move a variable declaration to the block where it's used
2013-09-02 19:28:19 +02:00
Michael Niedermayer
0388203098
avformat/utils: fix duration_fields calculation when need_parsing=0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 00:46:14 +02:00
Michael Niedermayer
c4810fbe4f
avformat/utils: fix av_probe_input_buffer2() so it returns the probe score
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 01:15:15 +02:00
Michael Niedermayer
e31db621bf
avformat: export probe score
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 22:18:57 +02:00
Michael Niedermayer
a9d1a7c79b
avformat: move PROBE_BUF_M* to internal.h
...
They will be used by the mp3 probe function in the next commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 00:54:30 +02:00
Alexis Ballier
7a48b1c492
Remove FF_API_PKT_DUMP cruft. Not compiled since libavformat 54.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 04:18:32 +02:00
Reimar Döffinger
d4db7c334b
Integrate accessors.h header into internal.h
...
I have no idea why I added a separate header,
I think there is no good reason for it.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-10 07:56:42 +02:00
Reimar Döffinger
a48979d715
Reduce MAKE_ACCESSORS code duplication via a new header.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-08 20:32:40 +02:00
Michael Niedermayer
caa7a49481
avformat/utils: fix memleak with nobuffer
...
Fixes Ticket2802
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 01:21:43 +02:00
Michael Niedermayer
20be5e0a0e
Merge commit '7950e519bb094897f957b9a9531cc60ba46cbc91'
...
* commit '7950e519bb094897f957b9a9531cc60ba46cbc91':
Disable deprecation warnings for cases where a replacement is available
Conflicts:
libavcodec/avpacket.c
libavcodec/pthread.c
libavcodec/utils.c
libavdevice/v4l2.c
libavfilter/avfiltergraph.c
libavfilter/buffersrc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:08:30 +02:00
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
2013-08-02 19:19:02 +02:00
Michael Niedermayer
f7bc03bcaf
Merge commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34'
...
* commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34':
lavf: Don't interpret just slightly broken timestamps as wraparound
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:14:29 +02:00
Michael Niedermayer
c5b46a064d
lavf: Don't interpret just slightly broken timestamps as wraparound
...
This avoids breaking some slightly incorrect (dts > pts) timestamps
in sample HLS streams from Apple.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:49:58 +03:00
Michael Niedermayer
37ecd67b5e
Revert "avformat/utils: Close codec context since it is allocated by avformat_new_stream in refrence to ticket 2716"
...
This causes a race condition with VLC. Its plausible that other
applications also would have races with it and its just fixing a memleak when
the user application forgets to free the codec. It causes more
problems than it solves in its current form, thus the revert.
Better solutions are welcome
This reverts commit 0f229f9b91
.
2013-07-21 17:57:15 +02:00
Anshul Maheshwari
0f229f9b91
avformat/utils: Close codec context since it is allocated by avformat_new_stream in refrence to ticket 2716
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 15:52:50 +02:00
Michael Niedermayer
4f1d3e0212
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavf: Make sure avg_frame_rate can be calculated without integer overflow
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:55:07 +02:00
Martin Storsjö
e740929a07
lavf: Make sure avg_frame_rate can be calculated without integer overflow
...
If either of the deltas is too large for the multiplications to
succeed, don't use this for setting the avg frame rate.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:39:24 +03:00
Michael Niedermayer
07206deed1
Merge remote-tracking branch 'cehoyos/master'
...
* cehoyos/master:
Suggest recompilation with openssl or gnutls if the https protocol is not found.
lavf/utils.c: Avoid a null pointer dereference on oom after duration_error allocation.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 19:58:19 +02:00
Carl Eugen Hoyos
c9eb5c9751
lavf/utils.c: Avoid a null pointer dereference on oom after duration_error allocation.
2013-07-10 16:20:40 +02:00
Piotr Bandurski
b050956334
avformat/utils: avformat_find_stream_info set value for ret in case of oom
...
without it FFmpeg didn't display any error message when oom event occured
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:07:45 +02:00
Piotr Bandurski
ccf9211e29
avformat/utils: avformat_find_stream_info fix a crash in case of oom
...
fixes ticket #2767
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:42:06 +02:00
Michael Niedermayer
5312c319be
avformat_find_stream_info: fallback to timestamps in analyzeduration check in more cases
...
This fixes speex in rtmp
Fixes Ticket2409
the nellymoser in flv case actually needs larger analyzeduration. The code
previously just failed to calculate the duration
If this causes any problems, like premature analyze/probe end, please report!
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 02:37:24 +02:00
Michael Niedermayer
c7cfd4cce9
avformat_find_stream_info: use fps_dts as last resort to determine duration
...
Fixes long delay with some hardware generated h264 in ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 15:25:34 +02:00
Michael Niedermayer
8ca5d277d8
avformat/utils: factor ff_find_last_ts() out of ff_gen_search()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 22:27:35 +02:00
Michael Niedermayer
d59ec0adbb
avformat_find_stream_info: move ret init down from flush codecs.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer
c5ddd75354
avformat_find_stream_info: Do not consider no streams an error in flush codecs
...
This should have no functional effect, but allows a cleaner diff when moving it
down
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer
c826c5698b
avformat_find_stream_info: try to preserve the error code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer
ccba9535dc
av_find_stream_info: initialize ret
...
This should fix hypothetical corner cases where it might have never been initialized before use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:44 +02:00
Carl Eugen Hoyos
2492f7774f
avformat: Print "Consider increasing the value for analzeduration and probesize" even more often
...
The sample from ticket #2691 currently does not trigger "Consider increasing
the value for analzeduration and probesize" because the audio streams are
only added after calling estimate_timings(). Attached patch moves the message
below this function call.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 14:08:36 +02:00
Timothy Gu
a9bbf59be7
cosmetics: Fix "dont" "wont" "doesnt" typos
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 02:31:16 +02:00
wm4
e59fb3f8b1
lavf: silence max_analyze_duration warning
...
This is part of normal operation with some formats. A warning should
indicate that something is wrong, and the documentation for AV_LOG_WARNING
says: "Something somehow does not look correct."
Since this message is most likely useful for debugging only, raise the
log level accordingly.
Plus-one-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 01:36:27 +02:00
Michael Niedermayer
f8ca8138f0
ff_gen_search: fix infinite loop
...
Fixes Ticket2639
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 22:53:00 +02:00
Michael Niedermayer
b3dd50cd0d
ff_gen_search: fix limit
...
The limit value could become slightly wrong in the last iteration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 20:49:37 +02:00
Michael Niedermayer
9d73e30253
ff_gen_search: make step 64it to prevent hypothetical integer overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 20:47:07 +02:00
Michael Niedermayer
1f87cbe834
Merge commit 'df9f22d42b0905385629a9d368bb5a1eef2b45ef'
...
* commit 'df9f22d42b0905385629a9d368bb5a1eef2b45ef':
avf: move url utility functions in a separate file
Conflicts:
libavformat/internal.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:09:31 +02:00
Michael Niedermayer
8097307bfb
Merge commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1'
...
* commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1':
avf: move ff_write_chained to mux.c
Conflicts:
libavformat/mux.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:58:59 +02:00
Michael Niedermayer
bbdef61850
Merge commit '508998f7d5cc61c7ac7b049813b47adc24c6e282'
...
* commit '508998f7d5cc61c7ac7b049813b47adc24c6e282':
avf: move riff tags accessors where they belong
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:52:08 +02:00
Michael Niedermayer
84f77f8423
Merge commit 'ec7c51c7868d3ccc66b5cc38bf126258b94f086c'
...
* commit 'ec7c51c7868d3ccc66b5cc38bf126258b94f086c':
avf: move ff_http_match_no_proxy to network
Conflicts:
libavformat/internal.h
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:45:42 +02:00
Michael Niedermayer
4a522eff00
Merge commit 'afc8685395e775fe0f2a1698b683aea4afd124af'
...
* commit 'afc8685395e775fe0f2a1698b683aea4afd124af':
avf: split off format register and lookup function
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:38:27 +02:00
Paul B Mahol
e997afdfc6
lavf: show APIC for tta files too
...
Fixes #2676 .
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-16 18:56:56 +00:00
Luca Barbato
df9f22d42b
avf: move url utility functions in a separate file
2013-06-16 15:01:39 +02:00
Luca Barbato
12db891dcd
avf: move ff_write_chained to mux.c
2013-06-16 14:41:07 +02:00
Luca Barbato
508998f7d5
avf: move riff tags accessors where they belong
2013-06-16 14:41:07 +02:00
Luca Barbato
ec7c51c786
avf: move ff_http_match_no_proxy to network
...
It is only used by network protocols.
2013-06-16 14:41:00 +02:00
Luca Barbato
afc8685395
avf: split off format register and lookup function
2013-06-16 14:00:40 +02:00
Paul B Mahol
d5f7f1fef1
audio frame multi-threaded decoding
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Michael Niedermayer
f6beb36115
Merge commit 'c330eba84cf2370ad72423aa9e410e20afdc52e2'
...
* commit 'c330eba84cf2370ad72423aa9e410e20afdc52e2':
lavf: preserve side data when parsing packets.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:51:19 +02:00
Anton Khirnov
c330eba84c
lavf: preserve side data when parsing packets.
2013-05-28 08:00:07 +02:00
Dale Curtis
c54a1565f5
avformat/utils: Keep internal and external av_read_frame() packets in sync.
...
Otherwise, during error conditions, the caller will be left with
dangling pointers to a destructed packet => boom.
BUG=242786
TEST=ffmpeg_regression_tests
Commit slightly simplified by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 03:29:47 +02:00
Michael Niedermayer
efc08e00cc
Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'
...
* commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110':
vf_aspect: use the name 's' for the pointer to the private context
Remove commented-out debug #define cruft
Conflicts:
libavcodec/4xm.c
libavcodec/dvdsubdec.c
libavcodec/ituh263dec.c
libavcodec/mpeg12.c
libavfilter/avfilter.c
libavfilter/vf_aspect.c
libavfilter/vf_fieldorder.c
libavformat/rtmpproto.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:56:43 +02:00
Diego Biurrun
2832ea26f3
Remove commented-out debug #define cruft
2013-05-16 00:23:30 +02:00