Chromium Code Reviews| Index: source/patched-ffmpeg-mt/libavformat/oggdec.c |
| =================================================================== |
| --- source/patched-ffmpeg-mt/libavformat/oggdec.c (revision 76041) |
| +++ 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; |
|
scherkus (not reviewing)
2011/02/26 00:42:27
I'm lost as to what's changing streams/stream_inde
|
| 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; |
|
scherkus (not reviewing)
2011/02/26 00:42:27
ditto!
|
| // Since we have seeked to the beginning then reset lastpts and lastdts to 0. |
| if (!seek_pts) { |