[FFmpeg-cvslog] seek-test: support manually forcing a seek to a specific position

Michael Niedermayer git at videolan.org
Fri May 4 14:49:42 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri May  4 13:42:45 2012 +0200| [babf2a34670e43004169ea8e78c6aff14a57d2c4] | committer: Michael Niedermayer

seek-test: support manually forcing a seek to a specific position

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/seek-test.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/libavformat/seek-test.c b/libavformat/seek-test.c
index 2750836..ccfe90f 100644
--- a/libavformat/seek-test.c
+++ b/libavformat/seek-test.c
@@ -63,6 +63,16 @@ int main(int argc, char **argv)
     int i, ret, stream_id;
     int64_t timestamp;
     AVDictionary *format_opts = NULL;
+    int64_t seekfirst;
+    int firstback=0;
+
+    if(argc == 4 && !strcmp(argv[2], "-seekforw")){
+        seekfirst = atoi(argv[3]);
+    } else if(argc == 4 && !strcmp(argv[2], "-seekback")){
+        seekfirst = atoi(argv[3]);
+        firstback = 1;
+    } else
+        seekfirst = AV_NOPTS_VALUE;
 
     av_dict_set(&format_opts, "channels", "1", 0);
     av_dict_set(&format_opts, "sample_rate", "22050", 0);
@@ -70,7 +80,7 @@ int main(int argc, char **argv)
     /* initialize libavcodec, and register all codecs and formats */
     av_register_all();
 
-    if (argc != 2) {
+    if (argc < 2) {
         printf("usage: %s input_file\n"
                "\n", argv[0]);
         return 1;
@@ -91,6 +101,10 @@ int main(int argc, char **argv)
         return 1;
     }
 
+    if(seekfirst != AV_NOPTS_VALUE){
+        if(firstback)   avformat_seek_file(ic, -1, INT64_MIN, seekfirst, seekfirst, 0);
+        else            avformat_seek_file(ic, -1, seekfirst, seekfirst, INT64_MAX, 0);
+    }
     for(i=0; ; i++){
         AVPacket pkt = { 0 };
         AVStream *av_uninit(st);



More information about the ffmpeg-cvslog mailing list