[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