On 02/10/2012 01:47 PM, Paul B Mahol wrote: > From: Joakim Plate <[email protected]> > > > Signed-off-by: Paul B Mahol <[email protected]> > --- > libavformat/cafdec.c | 19 ++++++++++++------- > 1 files changed, 12 insertions(+), 7 deletions(-) > > diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c > index abde78d..5d214de 100644 > --- a/libavformat/cafdec.c > +++ b/libavformat/cafdec.c > @@ -358,7 +358,7 @@ static int read_seek(AVFormatContext *s, int stream_index, > { > AVStream *st = s->streams[0]; > CaffContext *caf = s->priv_data; > - int64_t pos; > + int64_t pos, packet_cnt, frame_cnt; > > timestamp = FFMAX(timestamp, 0); > > @@ -367,17 +367,22 @@ static int read_seek(AVFormatContext *s, int > stream_index, > pos = caf->bytes_per_packet * timestamp / caf->frames_per_packet; > if (caf->data_size > 0) > pos = FFMIN(pos, caf->data_size); > - caf->packet_cnt = pos / caf->bytes_per_packet; > - caf->frame_cnt = caf->frames_per_packet * caf->packet_cnt; > + packet_cnt = pos / caf->bytes_per_packet; > + frame_cnt = caf->frames_per_packet * packet_cnt; > } else if (st->nb_index_entries) { > - caf->packet_cnt = av_index_search_timestamp(st, timestamp, flags); > - caf->frame_cnt = st->index_entries[caf->packet_cnt].timestamp; > - pos = st->index_entries[caf->packet_cnt].pos; > + packet_cnt = av_index_search_timestamp(st, timestamp, flags); > + frame_cnt = st->index_entries[packet_cnt].timestamp; > + pos = st->index_entries[packet_cnt].pos; > } else { > return -1; > } > > - avio_seek(s->pb, pos + caf->data_start, SEEK_SET); > + if (avio_seek(s->pb, pos + caf->data_start, SEEK_SET) < 0) > + return -1; > + > + caf->packet_cnt = packet_cnt; > + caf->frame_cnt = frame_cnt; > + > return 0; > } >
lgtm. -Justin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
