Mercurial > mplayer.hg
changeset 21023:f5180197d7ad
fix demux_nut to give proper (estimate) of percent position after a seek
author | ods15 |
---|---|
date | Sat, 18 Nov 2006 20:44:22 +0000 |
parents | fbf3f8cd0bf6 |
children | 327e7418a3b8 |
files | libmpdemux/demux_nut.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/demux_nut.c Sat Nov 18 20:13:18 2006 +0000 +++ b/libmpdemux/demux_nut.c Sat Nov 18 20:44:22 2006 +0000 @@ -260,8 +260,10 @@ priv->s[0].time_base.den; while ((ret = nut_seek(nut, time_pos, nutflags, tmp)) == NUT_ERR_EAGAIN); + priv->last_pts = -1; if (ret) mp_msg(MSGT_HEADER, MSGL_ERR, "NUT error: %s\n", nut_error(ret)); if (sh_audio) resync_audio_stream(sh_audio); + demuxer->filepos = stream_tell(demuxer->stream); } static int demux_control_nut(demuxer_t * demuxer, int cmd, void * arg) { @@ -273,7 +275,7 @@ priv->s[0].time_base.den; return DEMUXER_CTRL_OK; case DEMUXER_CTRL_GET_PERCENT_POS: - if (priv->s[0].max_pts == 0) + if (priv->s[0].max_pts == 0 || priv->last_pts == -1) return DEMUXER_CTRL_DONTKNOW; *((int *)arg) = priv->last_pts * 100 / (double)priv->s[0].max_pts;