Browse Source

applehttp: Merge two for loops

The previous commit didn't do this straight away, to keep the
diff slightly simpler.
tags/n0.8
Martin Storsjö 14 years ago
parent
commit
0d8a33b11e
1 changed files with 7 additions and 10 deletions
  1. +7
    -10
      libavformat/applehttp.c

+ 7
- 10
libavformat/applehttp.c View File

@@ -506,9 +506,15 @@ static int applehttp_read_seek(AVFormatContext *s, int stream_index,
if ((flags & AVSEEK_FLAG_BYTE) || !c->variants[0]->finished)
return AVERROR(ENOSYS);

/* Reset the variants */
timestamp = av_rescale_rnd(timestamp, 1, stream_index >= 0 ?
s->streams[stream_index]->time_base.den :
AV_TIME_BASE, flags & AVSEEK_FLAG_BACKWARD ?
AV_ROUND_DOWN : AV_ROUND_UP);
ret = AVERROR(EIO);
for (i = 0; i < c->n_variants; i++) {
/* Reset reading */
struct variant *var = c->variants[i];
int64_t pos = 0;
if (var->input) {
url_close(var->input);
var->input = NULL;
@@ -516,16 +522,7 @@ static int applehttp_read_seek(AVFormatContext *s, int stream_index,
av_free_packet(&var->pkt);
reset_packet(&var->pkt);
var->pb.eof_reached = 0;
}

timestamp = av_rescale_rnd(timestamp, 1, stream_index >= 0 ?
s->streams[stream_index]->time_base.den :
AV_TIME_BASE, flags & AVSEEK_FLAG_BACKWARD ?
AV_ROUND_DOWN : AV_ROUND_UP);
ret = AVERROR(EIO);
for (i = 0; i < c->n_variants; i++) {
struct variant *var = c->variants[i];
int64_t pos = 0;
/* Locate the segment that contains the target timestamp */
for (j = 0; j < var->n_segments; j++) {
if (timestamp >= pos &&


Loading…
Cancel
Save