[MPlayer-cvslog] r19808 - in trunk/libmpdemux: demux_ogg.c video.c

diego subversion at mplayerhq.hu
Tue Sep 12 11:00:11 CEST 2006


Author: diego
Date: Tue Sep 12 11:00:10 2006
New Revision: 19808

Modified:
   trunk/libmpdemux/demux_ogg.c
   trunk/libmpdemux/video.c

Log:
Support for variable fps OGM files, blessed by Moritz.
patch by Sergey Khlutchin, Elphel, Inc


Modified: trunk/libmpdemux/demux_ogg.c
==============================================================================
--- trunk/libmpdemux/demux_ogg.c	(original)
+++ trunk/libmpdemux/demux_ogg.c	Tue Sep 12 11:00:10 2006
@@ -1434,6 +1434,7 @@
   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 @@
         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 @@
         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;
       }

Modified: trunk/libmpdemux/video.c
==============================================================================
--- trunk/libmpdemux/video.c	(original)
+++ trunk/libmpdemux/video.c	Tue Sep 12 11:00:10 2006
@@ -579,6 +579,7 @@
       case DEMUXER_TYPE_MOV:
       case DEMUXER_TYPE_FILM:
       case DEMUXER_TYPE_VIVO:
+      case DEMUXER_TYPE_OGG:
       case DEMUXER_TYPE_ASF: {
         float next_pts = ds_get_next_pts(d_video);
         float d= next_pts > 0 ? next_pts - d_video->pts : d_video->pts-pts1;



More information about the MPlayer-cvslog mailing list