diff options
author | Ivan Schreter <schreter@gmx.net> | 2009-08-26 22:33:48 +0000 |
---|---|---|
committer | Ivan Schreter <schreter@gmx.net> | 2009-08-26 22:33:48 +0000 |
commit | 608be2acef3b69070f66dd539edd2197f93d6daf (patch) | |
tree | da12fbb7e876e8822209726f2cb158829a5fa916 /libavformat/mpegts.c | |
parent | 5dd3707b8d400b4260efaa4c7ca14b87733acd10 (diff) | |
download | ffmpeg-608be2acef3b69070f66dd539edd2197f93d6daf.tar.gz |
Cosmetic changes in read_seek* routines.
Originally committed as revision 19723 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r-- | libavformat/mpegts.c | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 9282a70363..c28fa08459 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1524,9 +1524,12 @@ static int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index, return timestamp; } -static int read_seek(AVFormatContext *s, int stream_index, int64_t target_ts, int flags); - -static int read_seek2(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t target_ts, int64_t max_ts, int flags) +static int read_seek2(AVFormatContext *s, + int stream_index, + int64_t min_ts, + int64_t target_ts, + int64_t max_ts, + int flags) { int64_t pos; @@ -1538,14 +1541,15 @@ static int read_seek2(AVFormatContext *s, int stream_index, int64_t min_ts, int6 backup = ff_store_parser_state(s); // detect direction of seeking for search purposes - flags |= (target_ts - min_ts > (uint64_t)(max_ts - target_ts)) ? AVSEEK_FLAG_BACKWARD : 0; + flags |= (target_ts - min_ts > (uint64_t)(max_ts - target_ts)) ? + AVSEEK_FLAG_BACKWARD : 0; if (flags & AVSEEK_FLAG_BYTE) { - /* use position directly, we will search starting from it */ + // use position directly, we will search starting from it pos = target_ts; } else { - /* search for some position with good timestamp match */ - if(stream_index < 0){ + // search for some position with good timestamp match + if (stream_index < 0) { stream_index_gen_search = av_find_default_stream_index(s); if (stream_index_gen_search < 0) { ff_restore_parser_state(s, backup); @@ -1553,8 +1557,10 @@ static int read_seek2(AVFormatContext *s, int stream_index, int64_t min_ts, int6 } st = s->streams[stream_index_gen_search]; - /* timestamp for default must be expressed in AV_TIME_BASE units */ - ts_adj = av_rescale(target_ts, st->time_base.den, AV_TIME_BASE * (int64_t)st->time_base.num); + // timestamp for default must be expressed in AV_TIME_BASE units + ts_adj = av_rescale(target_ts, + st->time_base.den, + AV_TIME_BASE * (int64_t)st->time_base.num); } else { ts_adj = target_ts; stream_index_gen_search = stream_index; @@ -1570,8 +1576,10 @@ static int read_seek2(AVFormatContext *s, int stream_index, int64_t min_ts, int6 } } - /* search for actual matching keyframe/starting position for all streams */ - if (ff_gen_syncpoint_search(s, stream_index, pos, min_ts, target_ts, max_ts, flags) < 0) { + // search for actual matching keyframe/starting position for all streams + if (ff_gen_syncpoint_search(s, stream_index, pos, + min_ts, target_ts, max_ts, + flags) < 0) { ff_restore_parser_state(s, backup); return -1; } @@ -1584,17 +1592,16 @@ static int read_seek(AVFormatContext *s, int stream_index, int64_t target_ts, in { int ret; if (flags & AVSEEK_FLAG_BACKWARD) { - ret = read_seek2(s, stream_index, INT64_MIN, target_ts, target_ts, flags & ~AVSEEK_FLAG_BACKWARD); - if (ret < 0) { - // for compatibility reasons, seek to best-fitting timestamp - ret = read_seek2(s, stream_index, INT64_MIN, target_ts, INT64_MAX, flags & ~AVSEEK_FLAG_BACKWARD); - } + flags &= ~AVSEEK_FLAG_BACKWARD; + ret = read_seek2(s, stream_index, INT64_MIN, target_ts, target_ts, flags); + if (ret < 0) + // for compatibility reasons, seek to the best-fitting timestamp + ret = read_seek2(s, stream_index, INT64_MIN, target_ts, INT64_MAX, flags); } else { ret = read_seek2(s, stream_index, target_ts, target_ts, INT64_MAX, flags); - if (ret < 0) { - // for compatibility reasons, seek to best-fitting timestamp + if (ret < 0) + // for compatibility reasons, seek to the best-fitting timestamp ret = read_seek2(s, stream_index, INT64_MIN, target_ts, INT64_MAX, flags); - } } return ret; } |