aadec: add chapters and seeking

Multimedia / FFmpeg - Karsten Otto [posteo.de] - 9 July 2018 01:25 EDT

read_packet reads content in chunks. Thus seek must be clamped to valid chunk positions in the file, which in turn are relative to chapter start positions.

So in read_header, scan for chapter headers once by skipping through the content. Set stream time_base based on bitrate in bytes/s, for easy timestamp to position conversion.

Then in read_seek, find the chapter containing the seek position, calculate the nearest chunk position, and reinit the read_seek state accordingly.

6cc6b619b9 aadec: add chapters and seeking
libavformat/aadec.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 81 insertions(+), 4 deletions(-)

  • Share