Commit Graph

1485 Commits

Author SHA1 Message Date
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