On 8/22/2021 8:29 AM, Andreas Rheinhardt wrote:
It allows demuxers to perform certain tasks after
a successful generic seek.

Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com>
---
This io_repositioned and the flags which contain which type of seeking
a format supports are IMO implementation details that are only public
because up until recently there were no internal flags.

io_repositioned could be made internal, yeah. It's apparently meant to be used by demuxers, not callers.


  libavformat/utils.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 5754fc1537..39f082d98d 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2354,10 +2354,12 @@ static int seek_frame_generic(AVFormatContext *s, int 
stream_index,
              ie = &st->internal->index_entries[st->internal->nb_index_entries 
- 1];
              if ((ret = avio_seek(s->pb, ie->pos, SEEK_SET)) < 0)
                  return ret;
+            s->io_repositioned = 1;
              avpriv_update_cur_dts(s, st, ie->timestamp);
          } else {
              if ((ret = avio_seek(s->pb, s->internal->data_offset, SEEK_SET)) 
< 0)
                  return ret;
+            s->io_repositioned = 1;
          }
          av_packet_unref(pkt);
          for (;;) {
@@ -2392,6 +2394,7 @@ static int seek_frame_generic(AVFormatContext *s, int 
stream_index,
      ie = &st->internal->index_entries[index];
      if ((ret = avio_seek(s->pb, ie->pos, SEEK_SET)) < 0)
          return ret;
+    s->io_repositioned = 1;
      avpriv_update_cur_dts(s, st, ie->timestamp);
return 0;


Should be ok.
_______________________________________________
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