lavf: if id3v2 tag is present and all else fails, guess by file extension
avio: always compile dyn_buf functions
Fixes build with --disable-muxers --disable-network.
Thanks to Hendrik Leppkes for noticing.
avio: make URL_PROTOCOL_FLAG_NESTED_SCHEME internal
avio: deprecate av_url_read_seek
It's not used anywhere internally.
Salvage its documentation for ffio_read_seek.
avio: deprecate av_url_read_pause
Salvage its documentation for ffio_read_pause.
avio: deprecate url_get_filename().
URLContext.filename should be used directly.
avio: deprecate url_max_packet_size().
URLContext.max_packet_size should be used directly.
avio: make url_get_file_handle() internal.
avio: make url_filesize() internal.
avio: make url_close() internal.
avio: make url_seek() internal.
avio: cosmetics, move AVSEEK_SIZE/FORCE declarations together
avio: make url_write() internal.
avio: make url_read_complete() internal.
avio: make url_read() internal.
avio: make url_open() internal.
avio: make url_connect internal.
avio: make url_alloc internal.
applehttp: Merge two for loops
The previous commit didn't do this straight away, to keep thediff slightly simpler.
applehttp: Restructure the demuxer to use a custom AVIOContext
This avoids issues where EOF at the end of the segment is giventhe variant demuxer. Now the demuxers only see one single datastream (as when using the applehttp protocol handler).
applehttp: Move finished and target_duration to the variant struct
This is a preparation for a restructuring of the demuxer, tominimize the later diff.
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()