[FFmpeg-devel] [PATCH 6/6] avformat/av1dec: Disallow seeking by bytes

James Almer jamrial at gmail.com
Sun Aug 22 17:21:15 EEST 2021


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.


More information about the ffmpeg-devel mailing list