[MPlayer-cvslog] CVS: main/libmpdemux demux_mkv.c,1.35,1.36
Moritz Bunkus CVS
syncmail at mplayerhq.hu
Sun Jan 16 15:59:22 CET 2005
CVS change done by Moritz Bunkus CVS
Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var2/tmp/cvs-serv27753
Modified Files:
demux_mkv.c
Log Message:
More support for AVC in Matroska.
Index: demux_mkv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mkv.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- demux_mkv.c 16 Jan 2005 12:17:41 -0000 1.35
+++ demux_mkv.c 16 Jan 2005 14:59:19 -0000 1.36
@@ -98,6 +98,7 @@
int reorder_timecodes;
demux_packet_t **cached_dps;
int num_cached_dps, num_allocated_dps;
+ float max_pts;
/* generic content encoding support */
mkv_content_encoding_t *encodings;
@@ -2865,6 +2866,8 @@
memcpy(dp->buffer, buffer, size);
dp->pos = demuxer->filepos;
dp->pts = mkv_d->last_pts;
+ if ((track->num_cached_dps > 0) && (dp->pts < track->max_pts))
+ block_fref = 1;
if (block_fref == 0) /* I or P frame */
flush_cached_dps (demuxer, track);
if (block_bref != 0) /* I frame, don't cache it */
@@ -2878,6 +2881,8 @@
}
track->cached_dps[track->num_cached_dps] = dp;
track->num_cached_dps++;
+ if (dp->pts > track->max_pts)
+ track->max_pts = dp->pts;
}
static int
More information about the MPlayer-cvslog
mailing list