diff options
author | wm4 <wm4@nowhere> | 2013-12-24 11:08:26 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-12-24 17:45:06 +0100 |
commit | 1d86134ec1c454cc8a5fed2e58eef7110759b0af (patch) | |
tree | 5530e6c776ba637b472aa57517671c25affd78bf /player | |
parent | b796f2bb7693676056d0de98a9a95258909d799b (diff) | |
download | mpv-1d86134ec1c454cc8a5fed2e58eef7110759b0af.tar.bz2 mpv-1d86134ec1c454cc8a5fed2e58eef7110759b0af.tar.xz |
player: slightly simplify seeking in external files
For some reason, this checked whether there are external tracks at all
before doing any seeks. Possibly this was to avoid multiple
get_main_demux_pts() calls, but calling this multiple times shouldn't be
too bad.
Diffstat (limited to 'player')
-rw-r--r-- | player/playloop.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/player/playloop.c b/player/playloop.c index 1a38f74cd8..dcbc1de9ba 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -299,24 +299,17 @@ static int mp_seek(MPContext *mpctx, struct seek_params seek, return -1; } - // If audio or demuxer subs come from different files, seek them too: - bool have_external_tracks = false; + // Seek external, extra files too: for (int t = 0; t < mpctx->num_tracks; t++) { struct track *track = mpctx->tracks[t]; - have_external_tracks |= track->selected && track->is_external && - track->demuxer; - } - if (have_external_tracks) { - double main_new_pos; - if (seek.type == MPSEEK_ABSOLUTE) { - main_new_pos = seek.amount - mpctx->video_offset; - } else { - main_new_pos = get_main_demux_pts(mpctx); - } - for (int t = 0; t < mpctx->num_tracks; t++) { - struct track *track = mpctx->tracks[t]; - if (track->selected && track->is_external && track->demuxer) - demux_seek(track->demuxer, main_new_pos, SEEK_ABSOLUTE); + if (track->selected && track->is_external && track->demuxer) { + double main_new_pos; + if (seek.type == MPSEEK_ABSOLUTE) { + main_new_pos = seek.amount - mpctx->video_offset; + } else { + main_new_pos = get_main_demux_pts(mpctx); + } + demux_seek(track->demuxer, main_new_pos, SEEK_ABSOLUTE); } } |