On 8/22/2021 11:37 AM, Andreas Rheinhardt wrote:
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.rheinha...@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

But those are not values exported by the demuxer, which is what i interpreted the flag is about. But i see other raw demuxers with similar codec level timing information that don't set it, so i guess not.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to