Commit b2218942 authored by Filip Roséen's avatar Filip Roséen Committed by Jean-Baptiste Kempf

mkv: implemented (and enabled) matroska_segment_c::FastSeek

The logic for precise and inprecise seeking is the same with the
addition that precise seeking should use the exact desired timestamp
to use with ES_OUT_SET_NEXT_DISPLAY_TIME, whereas inprecise seeking will
use the timestamp associated with the closest index frame.
Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
parent 76f671c4
......@@ -795,10 +795,10 @@ bool matroska_segment_c::LoadSeekHeadItem( const EbmlCallbacks & ClassInfos, int
void matroska_segment_c::FastSeek( mtime_t i_mk_date, mtime_t i_mk_time_offset )
{
VLC_UNUSED( i_mk_date );
VLC_UNUSED( i_mk_time_offset );
Seek( i_mk_date, i_mk_time_offset );
msg_Err( &sys.demuxer, "%s is not implemented in this patch", __func__ );
sys.i_start_pts = sys.i_pts;
es_out_Control( sys.demuxer.out, ES_OUT_SET_NEXT_DISPLAY_TIME, sys.i_start_pts );
}
void matroska_segment_c::Seek( mtime_t i_absolute_mk_date, mtime_t i_mk_time_offset )
......
......@@ -541,13 +541,8 @@ void virtual_segment_c::Seek( demux_t & demuxer, mtime_t i_mk_date,
seek_callback_t pf_seek = &matroska_segment_c::Seek;
#if 0
/* disabled due to non-existing implementation */
if( ! b_precise )
pf_seek = &matroska_segment_c::FastSeek;
#else
VLC_UNUSED( b_precise );
#endif
p_current_vchapter = p_vchapter;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment