diff options
author | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-09-12 09:00:10 +0000 |
---|---|---|
committer | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-09-12 09:00:10 +0000 |
commit | c7ee94590ab32e2832e0b0ee49dffbbffb1a4939 (patch) | |
tree | ef5a5027113dbf29aa985c1bde64568552b127f8 /libmpdemux/demux_ogg.c | |
parent | af06a4425b1434778e1b9ab1edfa33ffe0f9497e (diff) | |
download | mpv-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.c | 3 |
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; } |