summaryrefslogtreecommitdiff
path: root/libavformat/seek.c
Commit message (Collapse)AuthorAge
* avformat/demux: Add new demux.h headerAndreas Rheinhardt2022-05-10
| | | | | | And move those stuff already in demuxer-only files to it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/seek: add ff_rescale_interval() functionPierre-Anthony Lemieux2022-03-19
| | | | | | Refactors a function used by avformat/concat and avformat/imf. Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* seek: Fix crashes in ff_seek_frame_binary if built with latest Clang 14Martin Storsjö2021-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | Passing an uninitialized variable as argument to a function is undefined behaviour (UB). The compiler can assume that UB does not happen. Hence, the compiler can assume that the variables are never uninitialized when passed as argument, which means that the codepaths that initializes them must be taken. In ff_seek_frame_binary, this means that the compiler can assume that the codepaths that initialize pos_min and pos_max are taken, which means that the conditions "if (sti->index_entries)" and "if (index >= 0)" can be optimized out. Current Clang git versions (upcoming Clang 14) enabled an optimization that does this, which broke the current version of this function (which intentionally left the variables uninitialized, but silencing warnings about being uninitialized). See [1] for discussion on the matter. [1] https://reviews.llvm.org/D105169#3069555 Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat/utils: Move seeking code out into a new fileAndreas Rheinhardt2021-09-17
| | | | | | | | | | | | libavformat/utils.c has over 5500 lines and is supposed to contain "various utility functions for use within FFmpeg". In reality it contains all that and the whole demuxing+seeking core of libavformat. This is especially bad, because said file includes the FFMPEG_VERSION (the git commit sha) so that it is rebuilt whenever the commit HEAD points to changes. Therefore this commit starts making it smaller by factoring the seeking code out. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavf: remove unused codewm42015-02-08
| | | | | | | | | | | | | Nothing uses it, and it provides no public API. Archeological finds: Commit 101036adb9 added the API. Commit a8dd8dc6e9 made mpegts.c use it. Commit af8aae3fa3 disabled it by default in mpegts.c. Commit ae2bb52cd2 removed all uses of this from mpegts.c. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-23
|
* lavf: remove unreliable timestamp guessing heuristicAnton Khirnov2013-10-28
|
* lavf: deobfuscate read_frame_internal().Anton Khirnov2012-03-05
| | | | | | | | | | | | | | Split off packet parsing into a separate function. Parse full packets at once and store them in a queue, eliminating the need for tracking parsing state in AVStream. The horrible unreadable loop in read_frame_internal() now isn't weirdly ordered and doesn't contain evil gotos, so it should be much easier to understand. compute_pkt_fields() now invents slightly different timestamps for two raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't be more wrong (or right) than previous ones.
* cosmetics: Remove extra newlines at EOFAlex Converse2012-01-27
|
* Do not include mathematics.h in avutil.hMans Rullgard2011-07-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-04
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefix for url_fseekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.Jean-Daniel Dupas2010-03-31
| | | | | | Patch by Jean-Daniel Dupas, devlists shadowlab org Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rename av_read_frame_flush to ff_read_frame_flushAurelien Jacobs2010-03-15
| | | | | | it is an internal function, not part of public API Originally committed as revision 22562 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add internal.h include for av_read_frame_flush prototypeDavid Conrad2010-03-07
| | | | | | Fixes build with clang Originally committed as revision 22273 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move av_read_frame_flush() prototype to lavf/internal.hMåns Rullgård2010-03-06
| | | | Originally committed as revision 22268 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use av_compare_ts from libavutil instead of the locale compare_ts, theReimar Döffinger2010-02-10
| | | | | | calculations in the later one are not correct with large time stamps. Originally committed as revision 21744 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use I/O buffer size as initial value for backoff for seeking sync point search.Ivan Schreter2009-09-13
| | | | Originally committed as revision 19829 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetic changes (indentation, doxygen comments, braces, put structures for ↵Ivan Schreter2009-09-05
| | | | | | API to header, ...) Originally committed as revision 19773 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Support for generic multi-stream key frame finding for new seek API.Ivan Schreter2009-08-22
Originally committed as revision 19680 to svn://svn.ffmpeg.org/ffmpeg/trunk