Mercurial > mplayer.hg
changeset 33495:52a393df8df8
Put code checking if at the EOS in a function.
author | cboesch |
---|---|
date | Sat, 11 Jun 2011 15:39:00 +0000 |
parents | 86a93b00b52c |
children | a41cd754ef9f |
files | mplayer.c |
diffstat | 1 files changed, 12 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mplayer.c Sat Jun 11 15:34:01 2011 +0000 +++ b/mplayer.c Sat Jun 11 15:39:00 2011 +0000 @@ -1801,6 +1801,15 @@ audio_out->get_delay(); } +static int is_at_end(MPContext *mpctx, m_time_size_t *end_at, double pts) +{ + switch (end_at->type) { + case END_AT_TIME: return end_at->pos <= pts; + case END_AT_SIZE: return end_at->pos <= stream_tell(mpctx->stream); + } + return 0; +} + static int check_framedrop(double frame_time) { // check for frame-drop: @@ -3802,8 +3811,7 @@ if (!quiet) print_status(a_pos, 0, 0); - if (end_at.type == END_AT_TIME && end_at.pos < a_pos || - end_at.type == END_AT_SIZE && end_at.pos < stream_tell(mpctx->stream)) + if (is_at_end(mpctx, &end_at, a_pos)) mpctx->eof = PT_NEXT_ENTRY; update_subtitles(NULL, a_pos, mpctx->d_sub, 0); update_osd_msg(); @@ -3923,9 +3931,8 @@ mpctx->eof = PT_NEXT_ENTRY; } - if (!frame_time_remaining && - ((end_at.type == END_AT_TIME && mpctx->sh_video->pts >= end_at.pos) || - (end_at.type == END_AT_SIZE && stream_tell(mpctx->stream) >= end_at.pos))) + if (!frame_time_remaining && is_at_end(mpctx, &end_at, + mpctx->sh_video->pts)) mpctx->eof = PT_NEXT_ENTRY; } // end if(mpctx->sh_video)