summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_ogg.c
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-12 09:00:10 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-09-12 09:00:10 +0000
commitc7ee94590ab32e2832e0b0ee49dffbbffb1a4939 (patch)
treeef5a5027113dbf29aa985c1bde64568552b127f8 /libmpdemux/demux_ogg.c
parentaf06a4425b1434778e1b9ab1edfa33ffe0f9497e (diff)
downloadmpv-c7ee94590ab32e2832e0b0ee49dffbbffb1a4939.tar.bz2
mpv-c7ee94590ab32e2832e0b0ee49dffbbffb1a4939.tar.xz
Support for variable fps OGM files, blessed by Moritz.
patch by Sergey Khlutchin, Elphel, Inc git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19808 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_ogg.c')
-rw-r--r--libmpdemux/demux_ogg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c
index 79f7e02e32..822ad3e283 100644
--- a/libmpdemux/demux_ogg.c
+++ b/libmpdemux/demux_ogg.c
@@ -1434,6 +1434,7 @@ static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_de
float pts;
int is_keyframe;
int samplesize=1;
+ ogg_int64_t granulepos_orig;
if(demuxer->video->id >= 0) {
ds = demuxer->video;
@@ -1552,6 +1553,7 @@ static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_de
break;
}
is_gp_valid = (op.granulepos >= 0);
+ granulepos_orig=op.granulepos;
demux_ogg_read_packet(os,&op,context,&pts,&is_keyframe,samplesize);
if (precision && is_gp_valid) {
precision--;
@@ -1581,6 +1583,7 @@ static void demux_ogg_seek(demuxer_t *demuxer,float rel_seek_secs,float audio_de
vo_sub = &ogg_sub;
vo_osd_changed(OSDTYPE_SUBTITLE);
clear_sub = -1;
+ op.granulepos=granulepos_orig;
demux_ogg_add_packet(ds,os,ds->id,&op);
return;
}