[FFmpeg-cvslog] avformat/utils: Also set io_repositioned for generic seeking

Andreas Rheinhardt git at videolan.org
Mon Aug 23 08:29:06 EEST 2021


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sun Aug 22 08:27:01 2021 +0200| [4d200342a7d512dbe91c1820ee82fc3aaf4b644d] | committer: Andreas Rheinhardt

avformat/utils: Also set io_repositioned for generic seeking

It allows demuxers to perform certain tasks after
a successful generic seek.

Reviewed-by: James Almer <jamrial at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4d200342a7d512dbe91c1820ee82fc3aaf4b644d
---

 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;



More information about the ffmpeg-cvslog mailing list