summaryrefslogtreecommitdiff
path: root/libavformat/seek-test.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-05-04 13:42:45 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-05-04 14:40:21 +0200
commitbabf2a34670e43004169ea8e78c6aff14a57d2c4 (patch)
tree61e065e0f89f14b39e005cd9bdea5d1c3239a405 /libavformat/seek-test.c
parent4b70bba57ec9d61282e8b2b427d738dd44415652 (diff)
seek-test: support manually forcing a seek to a specific position
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/seek-test.c')
-rw-r--r--libavformat/seek-test.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/libavformat/seek-test.c b/libavformat/seek-test.c
index 2750836006..ccfe90f5ce 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);