diff options
Diffstat (limited to 'player/loadfile.c')
-rw-r--r-- | player/loadfile.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/player/loadfile.c b/player/loadfile.c index e3e1b4fa30..08077262de 100644 --- a/player/loadfile.c +++ b/player/loadfile.c @@ -270,13 +270,13 @@ static void enable_demux_thread(struct MPContext *mpctx) } } -bool timeline_set_part(struct MPContext *mpctx, int i, bool force) +static bool timeline_set_part(struct MPContext *mpctx, int i, bool initial) { struct timeline_part *p = mpctx->timeline + mpctx->timeline_part; struct timeline_part *n = mpctx->timeline + i; mpctx->timeline_part = i; mpctx->video_offset = n->start - n->source_start; - if (n->source == p->source && !force) + if (n->source == p->source && !initial) return false; uninit_audio_chain(mpctx); @@ -313,9 +313,11 @@ bool timeline_set_part(struct MPContext *mpctx, int i, bool force) } } } - reselect_demux_streams(mpctx); - enable_demux_thread(mpctx); + if (!initial) { + reselect_demux_streams(mpctx); + enable_demux_thread(mpctx); + } return true; } |