|
|
@@ -1155,7 +1155,8 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos, |
|
|
|
if (s->packet_size > 0) |
|
|
|
pos= (pos+s->packet_size-1-s->data_offset)/s->packet_size*s->packet_size+ s->data_offset; |
|
|
|
*ppos= pos; |
|
|
|
avio_seek(s->pb, pos, SEEK_SET); |
|
|
|
if (avio_seek(s->pb, pos, SEEK_SET) < 0) |
|
|
|
return AV_NOPTS_VALUE; |
|
|
|
|
|
|
|
//printf("asf_read_pts\n"); |
|
|
|
asf_reset_header(s); |
|
|
@@ -1197,7 +1198,9 @@ static void asf_build_simple_index(AVFormatContext *s, int stream_index) |
|
|
|
int64_t current_pos= avio_tell(s->pb); |
|
|
|
int i; |
|
|
|
|
|
|
|
avio_seek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET); |
|
|
|
if(avio_seek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET) < 0) |
|
|
|
return; |
|
|
|
|
|
|
|
ff_get_guid(s->pb, &g); |
|
|
|
|
|
|
|
/* the data object can be followed by other top-level objects, |
|
|
@@ -1269,7 +1272,8 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int |
|
|
|
|
|
|
|
/* do the seek */ |
|
|
|
av_log(s, AV_LOG_DEBUG, "SEEKTO: %"PRId64"\n", pos); |
|
|
|
avio_seek(s->pb, pos, SEEK_SET); |
|
|
|
if(avio_seek(s->pb, pos, SEEK_SET) < 0) |
|
|
|
return -1; |
|
|
|
asf_reset_header(s); |
|
|
|
return 0; |
|
|
|
} |
|
|
|