summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-29 15:11:38 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-29 15:11:38 +0000
commit5960ddb8e5c295145d989c223b3f0029095a2311 (patch)
tree96ac4fbfc59762228fbaf6a277e6442949b78362 /libmpdemux/demux_mkv.c
parentda8ab92c7dfab98911c0ae25ba2e88e699f20300 (diff)
downloadmpv-5960ddb8e5c295145d989c223b3f0029095a2311.tar.bz2
mpv-5960ddb8e5c295145d989c223b3f0029095a2311.tar.xz
Use defines to give names to the different seek flags.
A better solution should be considered later, esp. for the many broken demuxers that do not treat these flags correctly. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25911 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 867dfd2f8a..3d3fed33b1 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -2534,7 +2534,8 @@ demux_mkv_open (demuxer_t *demuxer)
mkv_d->has_first_tc = 1;
}
demux_mkv_seek (demuxer,
- demuxer->chapters[dvd_chapter-1].start/1000.0, 0.0, 1);
+ demuxer->chapters[dvd_chapter-1].start/1000.0, 0.0,
+ SEEK_ABSOLUTE);
}
}
@@ -3289,14 +3290,14 @@ static void
demux_mkv_seek (demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int flags)
{
free_cached_dps (demuxer);
- if (!(flags & 2)) /* time in secs */
+ if (!(flags & SEEK_FACTOR)) /* time in secs */
{
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
stream_t *s = demuxer->stream;
int64_t target_timecode = 0, diff, min_diff=0xFFFFFFFFFFFFFFFLL;
int i;
- if (!(flags & 1)) /* relative seek */
+ if (!(flags & SEEK_ABSOLUTE)) /* relative seek */
target_timecode = (int64_t) (mkv_d->last_pts * 1000.0);
target_timecode += (int64_t)(rel_seek_secs * 1000.0);
if (target_timecode < 0)
@@ -3371,7 +3372,7 @@ demux_mkv_seek (demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int
diff = target_timecode + mkv_d->first_tc -
(int64_t) mkv_d->indexes[i].timecode * mkv_d->tc_scale / 1000000.0;
- if ((flags & 1 || target_timecode <= mkv_d->last_pts*1000)) {
+ if ((flags & SEEK_ABSOLUTE || target_timecode <= mkv_d->last_pts*1000)) {
// Absolute seek or seek backward: find the last index
// position before target time
if (diff < 0 || diff >= min_diff)
@@ -3408,7 +3409,7 @@ demux_mkv_seek (demuxer_t *demuxer, float rel_seek_secs, float audio_delay, int
demux_mkv_fill_buffer(demuxer, NULL);
}
- else if ((demuxer->movi_end <= 0) || !(flags & 1))
+ else if ((demuxer->movi_end <= 0) || !(flags & SEEK_ABSOLUTE))
mp_msg (MSGT_DEMUX, MSGL_V, "[mkv] seek unsupported flags\n");
else
{