Original code had the assumption of only one FLV packet per RTMP packet. But that assumption is incorrect for higher bit rates. Made changes to the code to accommodate more than one FLV packet per RTMP
+packet.
* qatar/master:
lavfi: add select filter
oggdec: fix out of bound write in the ogg demuxer
movenc: create an alternate group for each media type
lavd: add libcdio-paranoia input device for audio CD grabbing
rawdec: refactor private option for raw video demuxers
pcmdec: use unique classes for all pcm demuxers.
rawdec: g722 is always 1 channel/16kHz
Conflicts:
Changelog
configure
doc/filters.texi
libavdevice/avdevice.h
libavfilter/avfilter.h
libavfilter/vf_select.c
tests/ref/lavf/mov
Merged-by: Michael Niedermayer <michaelni@gmx.at>
pixel_format/video_size only apply to 'rawvideo' (==uncompressed) demuxer
and make no sense for the other raw (== containerless) demuxers. Keep
only the framerate option for those.
Also use unique classes for all raw video demuxers
* qatar/master:
swscale: fix byte overreads in SSE-optimized hscale().
matroskadec: fix typo.
matroskadec: bail on parsing of incorrect seek index segments
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The fields "Number of Bytes" and "Number of Frames" are mixed up. "Bytes"
come first, "Frames" behind.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavf utils: Remove write-only variable
lavf utils: Rename shadowing variable
smacker: fix a few off by 1 errors
Check for invalid VLC value in smacker decoder.
Check and propagate errors when VLC trees cannot be built in smacker decoder.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This avoid retrying to read ASF index in files for every
attempt to seek. This makes a big difference to protocols
with slow seeking (for example http)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
adpcm: split ADPCM encoders and decoders into separate files.
doc/avconv: fix typo.
rv34: check that subsequent slices have the same type as first one.
smacker demuxer: handle possible av_realloc() failure.
lavfi: add split filter from soc.
lavfi: add showinfo filter
libxavs: add private options corresponding to deprecated global options
Conflicts:
Changelog
libavcodec/adpcm.c
libavfilter/avfilter.h
libavfilter/vf_showinfo.c
libavfilter/vf_split.c
libavformat/smacker.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This reduces problems when underlying protocol is not
seekable even if marked as such or if the file has been
cut short.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The code path using for mpegts over rtp doesn't open the demuxer using
mpegts_read_header,
so it never starts listening for PAT/SDT, only uses auto_guess
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This changes so we assume EOF when we can't find the next
streams index entry for non interleaved file.
http://trac.xbmc.org/ticket/5585
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This uses the RIFF header stored size to figure out the expected AVI file size, instead
of the actual file. To work fully it requires handling failed avio_seek() instead
of assuming they always succeed.
Some fate file has been cut off and contains half a frame at the end which previously
was not output during demuxing. This frame is now output to encoder, thus fate
diff update.
It can take a long time before subtitles or data streams show up,
so we shouldn't wait for those before assuming we have all info
for streams.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Employ FF_ARRAY_ELEMS instead of manually calculating array length.
Fixed invalid access in wavpack decoder on corrupted bitstream.
Fixed invalid writes in wavpack decoder on corrupted bitstreams.
Fixed invalid access in wavpack decoder on corrupted extra bits sub-blocks.
rtpdec_asf: Fix integer underflow that could allow remote code execution
Conflicts:
libavformat/rtpdec_asf.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
If there is only 1 stream in an flv avformat_find_stream_info will continually
read until probesize is reached. This should stop it reading if the metadata
also claims there to be 1 stream.
Fixes MSVR-11-0088.
Credit: Jeong Wook Oh of Microsoft and Microsoft Vulnerability Research (MSVR)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
Fixes MSVR-11-0088
Credit: Jeong Wook Oh of Microsoft and Microsoft Vulnerability Research (MSVR)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavc: fix type for thread_type option
avconv: move format to options context
avconv: move limit_filesize to options context
avconv: move start_time, recording_time and input_ts_offset to options context
avconv: add a context for options.
cmdutils: allow storing per-stream/chapter/.... options in a generic way
cmdutils: split per-option code out of parse_options().
cmdutils: add support for caller-provided option context.
cmdutils: declare only one pointer type in OptionDef
cmdutils: move grow_array() from avconv to cmdutils.
cmdutils: move exit_program() declaration to cmdutils from avconv
http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
nutenc: add namespace to the api facing functions
Conflicts:
avconv.c
cmdutils.c
cmdutils.h
ffmpeg.c
ffplay.c
ffprobe.c
ffserver.c
libavformat/http.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The initial request contains "Range: 0-", which servers normally
have responded with "HTTP/1.1 206 Partial Content" reply with
a Content-Range header, which was used as indicator for seekability.
Apache, since 2.2.20, responds with "HTTP/1.1 200 OK" for these
requests, which is more friendly to caches and proxies, but the
seekability still is indicated via the Accept-Ranges: bytes header.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
AVOptions: fix av_set_string3() doxy to match reality.
cmdutils: get rid of dummy contexts for examining AVOptions.
lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
cpu detection: avoid a signed overflow
Conflicts:
avconv.c
cmdutils.c
doc/APIchanges
ffmpeg.c
libavcodec/options.c
libavcodec/version.h
libavformat/version.h
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
currently libavformat only allows seeking if a request with "Range:
0-" results in a 206 reply from the HTTP server which includes a
Content-Range header. But according to RFC 2616, the server may also
reply with a normal 200 reply (which is more efficient for a request
for the whole file). In fact Apache HTTPD 2.2.20 has changed the
behaviour in this way and it looks like this change will be kept in
future versions. The fix for libavformat is easy: Also look at the
Accept-Ranges header.
If st is NULL, it means no 'fmt ' tag is found, but 'data' tag (which
needs a previous 'fmt ' tag to be parsed correctly and st initialized)
check will make sure st is never dereferenced in that case.
The Makito encoder sets stream type 0x11 for AAC.
This patch should be reverted if it breaks decoding valid streams (and
the problem can't be fixed in the probe function).
* qatar/master:
Revert "h264: Properly set coded_{width, height} when parsing H.264."
isom: add missing AVC-Intra tags, rearrange list and update comments
avconv: remove stubs of crop* and pad* options
avconv: re-add nb_streams to InputFile.
Conflicts:
avconv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Use deinterleavers for demangling audio packets in RealMedia.
vf_scale: don't leak SWS context.
doxygen: drop another pointless star from pointer variable name
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Fixes trac issue #343.
Carl Eugen Hoyos actually made a patch first, but I missed it because
trac does not send notification emails when an attachment is added.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Also extend the functionality to use the last found program to start the search
after that program.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Unlike other containers RealMedia stores its audio packets in scrambled form,
with interleaver ID preceeding audio codec ID. Currently deinterleaving
decision is tied to the codec while it's possible to have non-default
deinterleaver with audio codec (like Int0 deinterleaver instead of specific
one for Sipro).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
fifo: add FIFO API test program, and fate test
fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
postprocess.c: filter name needs to be double 0 terminated
doxygen: fix wrong comment syntax, //< vs. ///<
doxygen: drop pointless star from pointer variable names
Replace deprecated av_find_stream_info() by avformat_find_stream_info().
xmv: eliminate superfluous zeroing of zero data
configure: fix typo in avconv dependency list
Conflicts:
configure
doc/APIchanges
libavutil/Makefile
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The new function provides a more generic interface than av_fifo_peek()
for peeking at a FIFO buffer data.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
mpeg12: propagate chunk decode errors and fix conditional indentation
vc1: fix VC-1 Pulldown handling.
VC1: Fix first/last row checks with slices
mp4: Handle non-trivial ES Descriptors.
vc1: properly zero coded_block[] edges on new slice entry.
Conflicts:
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
this fixes accuracy with normal ogg files while keeping support for ogg files
starting at times different from 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
avconv: print the codecs names in the stream mapping.
avconv: move the avcodec_find_decoder() call to add_input_streams().
Windows Media Image decoder (WMVP/WVP2)
ac3enc: remove outdated TODO comment for apply_channel_coupling()
Conflicts:
Changelog
libavcodec/avcodec.h
libavcodec/vc1dec.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libx264: only use ABR mode when the user explicitly set bitrate.
libx264: use medium preset by default.
mp2 encoder: make 128k the default bitrate.
movenc: use libx264 by default when possible for mov, mp4 and psp
avienc: saner default audio codec.
matroskaenc: saner default codecs.
avplay: add examples of how to specify size/pixel format through private options
lavc: add A|E|D flags to "ac" and "ar" options
Conflicts:
doc/ffplay.texi
libavcodec/libx264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
WavPack demuxer: do not rely on index when timestamp is not in indexed range.
WavPack demuxer: store position of the first block in index.
WavPack decoder: implement flush function
avconv: Separate initialization from the main transcode loop.
Conflicts:
avconv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>