From a030e2fe1c23e81288b310fc552a6effc3d72647 Mon Sep 17 00:00:00 2001 From: mosu Date: Wed, 24 Aug 2005 12:33:32 +0000 Subject: Fixed seeking for AVC-in-Matroska (wrong assumption of what kind of references may be present for a non-I-frame). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16303 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mkv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libmpdemux/demux_mkv.c') diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index 79f34fbe86..d362ec0d79 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -2919,7 +2919,7 @@ handle_block (demuxer_t *demuxer, uint8_t *block, uint64_t length, else if (num == demuxer->video->id) { ds = demuxer->video; - if (mkv_d->v_skip_to_keyframe && block_bref != 0) + if (mkv_d->v_skip_to_keyframe && (block_bref != 0 || block_fref != 0)) use_this_block = 0; } else if (num == demuxer->sub->id) @@ -2962,7 +2962,7 @@ handle_block (demuxer_t *demuxer, uint8_t *block, uint64_t length, memcpy (dp->buffer, buffer, size); if (modified) free (buffer); - dp->flags = block_bref == 0 ? 1 : 0; + dp->flags = (block_bref == 0 && block_fref == 0) ? 1 : 0; dp->pts = mkv_d->last_pts + i * track->default_duration; ds_add_packet (ds, dp); } -- cgit v1.2.3