mirror of https://github.com/mpv-player/mpv
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
This commit is contained in:
parent
d34494074c
commit
a030e2fe1c
|
@ -2919,7 +2919,7 @@ handle_block (demuxer_t *demuxer, uint8_t *block, uint64_t length,
|
||||||
else if (num == demuxer->video->id)
|
else if (num == demuxer->video->id)
|
||||||
{
|
{
|
||||||
ds = demuxer->video;
|
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;
|
use_this_block = 0;
|
||||||
}
|
}
|
||||||
else if (num == demuxer->sub->id)
|
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);
|
memcpy (dp->buffer, buffer, size);
|
||||||
if (modified)
|
if (modified)
|
||||||
free (buffer);
|
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;
|
dp->pts = mkv_d->last_pts + i * track->default_duration;
|
||||||
ds_add_packet (ds, dp);
|
ds_add_packet (ds, dp);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue