[FFmpeg-devel] [PATCH 6/6] avformat/av1dec: Disallow seeking by bytes
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sun Aug 22 17:37:55 EEST 2021
James Almer:
> On 8/22/2021 10:25 AM, Andreas Rheinhardt wrote:
>> The low overhead OBU format provides no means to resync after performing
>> a byte-based seek; in other words: Byte based seeking is just not
>> supported.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>> The reason I didn't disallow this earlier was that there is one scenario
>> where such a seek would work: When one already knows the correct
>> position for the start of a frame. But otherwise it just doesn't work.
>>
>> Somehow ffplay tries byte based seeking even for formats with the
>> AVFMT_NO_BYTE_SEEK flag set. Line 2837 should probably be changed to no
>> longer do that.
>>
>> libavformat/av1dec.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
>> index 88a3c325e4..37f21483b9 100644
>> --- a/libavformat/av1dec.c
>> +++ b/libavformat/av1dec.c
>> @@ -428,7 +428,7 @@ const AVInputFormat ff_obu_demuxer = {
>> .read_packet = obu_read_packet,
>> .read_close = av1_read_close,
>> .extensions = "obu",
>> - .flags = AVFMT_GENERIC_INDEX,
>> + .flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
>> .priv_class = &av1_demuxer_class,
>> };
>> #endif
>
> LGTM.
>
> Maybe also AVFMT_NOTIMESTAMPS could be added.
But isn't AV1 able to contain timestamps via its timing_info() and
metadata_timecode() structure?
- Andreas
More information about the ffmpeg-devel
mailing list