• 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
demux.c 118 KB