# HG changeset patch # User pross # Date 1267011813 0 # Node ID 1481fbffd30beae5e67729df5fe9dfce16f37d63 # Parent 85ecf46ae931842a0de08fa0ef61a235047ff322 low-complexity Bink file seeking diff -r 85ecf46ae931 -r 1481fbffd30b bink.c --- a/bink.c Wed Feb 24 11:30:38 2010 +0000 +++ b/bink.c Wed Feb 24 11:43:33 2010 +0000 @@ -241,6 +241,19 @@ return 0; } +static int read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags) +{ + BinkDemuxContext *bink = s->priv_data; + AVStream *vst = s->streams[0]; + + /* seek to the first frame */ + url_fseek(s->pb, vst->index_entries[0].pos, SEEK_SET); + bink->video_pts = 0; + memset(bink->audio_pts, 0, sizeof(bink->audio_pts)); + bink->current_track = -1; + return 0; +} + AVInputFormat bink_demuxer = { "bink", NULL_IF_CONFIG_SMALL("Bink"), @@ -248,4 +261,6 @@ probe, read_header, read_packet, + NULL, + read_seek, };