• Nicolas Gaullier's avatar
    avformat/demux: add duration_probesize AVOption · ed936305
    Nicolas Gaullier authored
    Yet another probesize used to get the durations when
    estimate_timings_from_pts is required. It is aimed at users interested
    in better durations probing for itself, or because using
    avformat_find_stream_info indirectly and requiring exact values: for
    concatdec for example, especially if streamcopying above it.
    The current code is a performance trade-off that can fail to get video
    stream durations in a scenario with high bitrates and buffering for
    files ending cleanly (as opposed to live captures): the physical gap
    between the last video packet and the last audio packet is very high in
    such a case.
    
    Default behaviour is unchanged: 250k up to 250k << 6 (step by step).
    Setting this new option has two effects:
    - override the maximum probesize (currently 250k << 6)
    - reduce the number of steps to 1 instead of 6, this is to avoid
    detecting the audio "too early" and failing to reach a video packet.
    Even if a single audio stream duration is found but not the other
    audio/video stream durations, there will be a retry, so at the end the
    full user-overriden probesize will be used as expected by the user.
    Signed-off-by: 's avatarNicolas Gaullier <nicolas.gaullier@cji.paris>
    ed936305
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild Loading commit data...
fftools Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
configure Loading commit data...