Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: patches/to_upstream/24_ogg_index.patch

Issue 6598004: Initialize a variable, and revalidate indexes when necessary.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: patches/to_upstream/24_ogg_index.patch
===================================================================
--- patches/to_upstream/24_ogg_index.patch (revision 0)
+++ patches/to_upstream/24_ogg_index.patch (revision 0)
@@ -0,0 +1,38 @@
+diff -wurp -N orig/libavformat/oggdec.c ffmpeg-mt/libavformat/oggdec.c
+--- orig/libavformat/oggdec.c 2011-02-25 03:23:22.663626821 -0800
++++ ffmpeg-mt/libavformat/oggdec.c 2011-02-25 07:30:11.045572658 -0800
+@@ -610,10 +610,9 @@ ogg_read_timestamp (AVFormatContext * s,
+ 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 @@ ogg_read_timestamp (AVFormatContext * s,
+
+ 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 @@ static int ogg_read_seek(AVFormatContext
+ 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) {
« no previous file with comments | « no previous file | source/patched-ffmpeg-mt/libavformat/oggdec.c » ('j') | source/patched-ffmpeg-mt/libavformat/oggdec.c » ('J')

Powered by Google App Engine
This is Rietveld 408576698