[FFmpeg-devel] [PATCH v5 0/1] avformat/demux: Add duration_probesize AVOption

Nicolas Gaullier nicolas.gaullier at cji.paris
Thu Mar 28 19:57:35 EET 2024


V5 including all Stefano's feedback.
Notes:
- I have largely reworked the texi, I hope the use case is more clear.
- I have rewrote "250K up to 16M" to "250000 up to 16M" to be clear about the K/M units.
- @seealso seems not supported in my doxy environment, so I simply moved all the @sa to @see

>> +    int64_t duration_max_read_size = ic->duration_probesize ? 
>> + ic->duration_probesize >> DURATION_MAX_RETRY_USER : 
>> + DURATION_MAX_READ_SIZE_DEFAULT;
>
>nit: I find the right shift followed by the leftshift a bit confusing, but probably there is no simple way to prevent it
Apart code simplification, there is a least one reason for that: an odd number would not be satisfactory for the algorithm.
Each seek/retry has to join with no overlap. Here, if the user set duration_probesize=17, the first seek will be at filesize-8 / 8 bytes
and the next-unique retry at filesize-16 / 8 bytes.

Thank you for your time,
Nicolas


Nicolas Gaullier (1):
  avformat/demux: Add duration_probesize AVOption

 doc/APIchanges              |  3 +++
 doc/formats.texi            | 19 ++++++++++++++++++-
 libavformat/avformat.h      | 16 ++++++++++++++--
 libavformat/demux.c         | 13 ++++++++-----
 libavformat/options_table.h |  1 +
 libavformat/version.h       |  2 +-
 6 files changed, 45 insertions(+), 9 deletions(-)

-- 
2.30.2



More information about the ffmpeg-devel mailing list