| Index: source/patched-ffmpeg-mt/libavformat/oggdec.c
|
| ===================================================================
|
| --- source/patched-ffmpeg-mt/libavformat/oggdec.c (revision 76145)
|
| +++ source/patched-ffmpeg-mt/libavformat/oggdec.c (working copy)
|
| @@ -610,10 +610,9 @@
|
| int64_t pos_limit)
|
| {
|
| struct ogg *ogg = s->priv_data;
|
| - struct ogg_stream *os = ogg->streams + stream_index;
|
| ByteIOContext *bc = s->pb;
|
| int64_t pts = AV_NOPTS_VALUE;
|
| - int i;
|
| + int i = -1;
|
| int packet = 0;
|
| int64_t start_pos = *pos_arg;
|
| url_fseek(bc, *pos_arg, SEEK_SET);
|
| @@ -621,6 +620,7 @@
|
|
|
| while (url_ftell(bc) < pos_limit && !ogg_packet(s, &i, NULL, NULL, pos_arg)) {
|
| if (i == stream_index) {
|
| + struct ogg_stream *os = ogg->streams + stream_index;
|
| pts = ogg_calc_pts(s, i, NULL);
|
| if (os->keyframe_seek && !(os->pflags & AV_PKT_FLAG_KEY))
|
| pts = AV_NOPTS_VALUE;
|
| @@ -655,12 +655,14 @@
|
| os->keyframe_seek = 1;
|
|
|
| ret = av_seek_frame_binary(s, stream_index, timestamp, flags);
|
| + os = ogg->streams + stream_index;
|
| if (ret < 0)
|
| os->keyframe_seek = 0;
|
|
|
| // Save the position seeked to.
|
| pos_arg = seek_pos = url_ftell(s->pb);
|
| seek_pts = ogg_read_timestamp(s, stream_index, &pos_arg, url_fsize(s->pb));
|
| + os = ogg->streams + stream_index;
|
|
|
| // Since we have seeked to the beginning then reset lastpts and lastdts to 0.
|
| if (!seek_pts) {
|
|
|