avio: deprecate url_open_protocol
The unbuffered API will be made private and it's not used anywhereinternally.
avio: deprecate url_poll and URLPollEntry
They're unimplemented and nobody cared to do anything with that for10 years.
flvdec: fix segfault in amf_parse_object() due to NULL key
fixes Issue 2674
lavf: bump minor version and add an APIChanges entry for avio changes
avio: simplify url_open_dyn_buf_internal by using avio_alloc_context()
avio: make url_fdopen internal.
The unbuffered URLContext API will be made private, so there's no pointin this function being public.
avio: make url_open_dyn_packet_buf internal.
It doesn't look fit to be a part of the public API.
Adding a temporary hack to ffserver to be able to use it, should becleaned up when somebody is up for it.
avio: avio_ prefix for url_close_dyn_buf
avio: avio_ prefix for url_open_dyn_buf
avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
jvdec: don't use deprecated CODEC_TYPE_*/PKT_FLAG_KEY
avio: document avio_alloc_context.
lavf: make compute_chapters_end less picky.
In particular, now it assumes thata) chapters are chronologically orderedb) chapters have the same timebasesc) duration of the stream is knownand asserts if any of these is not met.
Make it properly deal with harsher conditions....
sierravmd: fix Indeo3 videos
Signed-off-by: Anton Khirnov <firstname.lastname@example.org>
ape: check that number of seektable entries is equal to number of frames
mpegts: propagate avio EOF in read_packet()
Allows distinguishing between EOF and IO error in read_packet return code.
Signed-off-by: Jindrich Makovicka <email@example.com>Signed-off-by: Anton Khirnov <firstname.lastname@example.org>
flvdec: read index stored in the 'keyframes' tag.
'keyframes' metatag is not part of the standard, it is justconvention to use such kind of metatag information for indexing.Structure is following, it allows to have it inconsistent:keyframes: times (array):...
mov: Add support for zero-sized stsc runs.
A zero sized stsc run doesn't make a lot of sense but the spec does notprohibit them and MPlayer VLC demuxers support them.
rtsp: Use GET_PARAMETER for keep-alive for generic RTSP servers
According to the RFC, GET_PARAMETER should be used forthis, and according to a report from Tim Ouellette,OPTIONS doesn't work for keeping the connection alive for someservers. Also, live555 uses GET_PARAMETER for this purpose....
avio: make get_checksum() internal.
avio: move ff_crc04C11DB7_update() from avio.h -> avio_internal.h
avio: make init_checksum() internal.
id3v1: change filesize to int64_t.
Signed-off-by: Ronald S. Bultje <email@example.com>
id3v1: Seek back to old position after reading.
FFmpeg did not seek back to the original position, but to "0", makingreading a VBR tag impossible.(issue 2645)
Chronomaster DFA decoder
http: header field names are case insensitive
Amazon S3 sends header field names all lowercase.This is actually acceptable according to the HTTP standard.
Signed-off-by: Luca Barbato <firstname.lastname@example.org>
mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom.
Use audio_service_type to set stream disposition.
matroskadec: set default duration for simple block
When a normal Block is parsed, duration is initialized toAV_NOPTS_VALUE. If it is not changed, then the track's defaultduration is used. But for SimpleBlock, duration is initialized to0 instead of AV_NOPTS_VALUE. This is due to the difference in how...
ffmetadec.c: fix compiler warnings.
avio: make udp_set_remote_url/get_local_port internal.
asfdec: also subtract preroll when reading simple index object
This was missed when ASF was changed to return timestampswithout preroll.
Signed-off-by: Mans Rullgard <email@example.com>
matroskaenc: remove a variable that's unused after bc17bd9.
avio: cosmetics - nicer vertical alignment.
rtsp: Don't use a locale dependent format string
In this particular case, we aren't ever printing anything else than0.000 anyway.
Add xd55 codec tag for XDCAM HD422 720p25 CBR files.
matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config
This also fixes broken SBR detection, which produced files with doublesample rate since 8ae0fa2.
Do not use format string "%0.3f" for RTSP Range field.
The format string was locale-depending.
id3v2: skip broken tags with invalid size
id3v2: don't explicitly skip padding
It's pointless, since there's a seek to the end of tag later.
amr: Set the AVFMT_GENERIC_INDEX flag
This makes the amr demuxer support seeking, closing roundupissue 2593.
amr: Set the pkt->pos field properly to the start of the packet
Previously, the field pointed to the second byte of the packet(which is the first byte of the actual AMR payload).
amr: Set the codec->bit_rate field based on the last packet
This allows libavformat to guess an estimated duration foramr files.
For streams with varying bit rates (or with silence descriptorsor "no frame" blocks) the guess is, of course, inaccurate.
rtsp: Specify unicast for TCP interleaved streams, too
According to the RFC, the default is multicast if nothing isspecified, which doesn't make sense for TCP.
According to a bug report, some Axis camera models give a"400 Bad Request" error if this is omitted....
applehttp: Change the variable for stream position in seconds into int64_t
A similar variable for the total stream duration was changed toint64_t in b79c3df08807c96a945, due to overflows in some oddstreams.
id3v2: simplify error handling.
id3v2: explicitly seek to the end of the tag after reading
Current code might stop in the middle of an invalid tag.
avio: make av_url_read_fseek/fpause internal.
avio: deprecate url_fileno
It's an evil hack that assumes an AVIOContext is always based on top ofan URLContext.It's also not used anywhere.
rmenc: replace avio_seek(0) with avio_tell()
lavf: replace some more avio_seek(SEEK_CUR) with avio_skip
Replace FFmpeg with Libav in licence headers
nutenc: fix a memleak
This fixes a minor memory leak introduced in 073f8b1.
asfdec: subtract the preroll value and thus output 0 based timestamps
lavf: Make make_absolute_url a lavf internal function
This is shared by both applehttp demuxer and protocol.
applehttp: Fix a typo in a comment
lavf: make av_interleave_packet() return meaningful error codes
Signed-off-by: Michael Niedermayer <firstname.lastname@example.org>(cherry picked from commit c5dcb3d493a6bb73efeb8bfae24f5cc31908201f)
Signed-off-by: Reinhard Tartler <email@example.com>
lavf: enable av_dlog message in av_interleaved_write_frame()
Help debugging timestamp issues.
Signed-off-by: Michael Niedermayer <firstname.lastname@example.org>(cherry picked from commit d541c8b468c12892fe7b7e655e1ed45e11e2166d)
lavf: enable av_dlog() in compute_pkt_fields2()
Turns a comment into an av_dlog() instruction, also add a commentedissues.
Signed-off-by: Michael Niedermayer <email@example.com>(cherry picked from commit 77f21ce4641b53f3277ba30ca3d009b6250fd9ea)
avio: rename put_flush_packet -> avio_flush
avio: deprecate url_close_buf
It's not used anywhere and its return value looks broken.
avio: deprecate url_open_buf
It's only used in one place and does the same thing asavio_alloc_context.
avio: always compile avio_printf, rather than on CONFIG_MUXERS
avio: avio_ prefix for url_fprintf
avio: change avio_tell/skip from macros to inline functions
avio: make url_setbufsize internal.
lavf: move ff_get_v from avio.h to avio_internal.h
And rename it to ffio_read_varlen.
nutenc: mux chapters.
lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
Remove occurrences of my old email address
use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*
replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
mp3enc: remove mp3_write_packet(), use ff_raw_write_packet() instead
The two functions are identical, no point in duplicating code here.
Do not attempt to decode APE file with no frames
This fixes invalid reads/writes with this sample:http://packetstorm.linuxsecurity.com/1103-exploits/vlc105-dos.txt
jvdec: don't use deprecated url_feof()
id3v2: merge TYER/TDAT/TIME to date tag
Use AVERROR_EXIT with url_interrupt_cb.
Functions interrupted by url_interrupt_cb should not be restarted.Therefore using AVERROR was wrong, as it did not allow to distinguishwhen the underlying system call was interrupted and actually needed to be...
avio: deprecate url_ferror
AVIOContext.error should be used directly instead.
lavf/utils: dont't explicitly check AVIOContext.error
The error should be caught in write_packet()/write_trailer()
jv demuxer: prevent video packet size overflow
In the event of overflow, the JV_PADDING state will avio_skip overany overflow bytes (using JVFrame.total_size).
jv demuxer: define JV_PREAMBLE_SIZE instead of hard coding the number
jv demuxer: calculate palette_size for each frame in read_header
Bitmap Brothers JV demuxer
Add one more avc intra fourcc and extend the description
id3v2: fix typo in error message
avio: deprecate url_feof
AVIOContext.eof_reached should be used directly instead.
mpegts: add all stream languages into metadata
This is used at least on some older DVB broadcasts for dual-mono audiotracks.
In retry_transfer_wrapper, do not check url_interrupt_cb, causes problemswhen writing and pressing q during encoding. Instead, check url_interrupt_cbat the end.
Note that when a protocol is interrupted by url_interrupt_cb, some data maybe silently discarded: the protocol context is not suitable for anything...
Flag DVB subtitles for the hard hearing appropriately using their component_type id.
This is based on the component_type definition in the DVB SI spec .
mpegtsenc: handle multiple language tags per stream
lavf: update documentation of AVOutputFormat.flags
avio: move ff_rewind_with_probe_data from avio.h to avio_internal.h
also change its prefix to ffio
avio: deprecate url_fget_max_packet_size
AVIOContext.max_packet_size should be used directly instead.
lavf: document the use of multiple entries in language metadata tag
Add audio codec 0x1600 (ADTS AAC)
avio: avio_ prefix for url_fsize
avio: deprecate url_fgetc and remove all it uses
avio: deprecate url_fgets
It's not used anywhere and doesn't look ver useful to be public.
avio: add avio_skip macro
This is a substitute for the url_fskip function that was deprecated bycommit 0300db8ad778a194b4a8ec98f6da3de5b41c46ee. avio_fskip is provided toimprove demuxer code readability. It distinguishes the act of skipping overunknown or irrelevant bytes from the standard avio_seek operation....
Add Apple HTTP Live Streaming protocol handler