diff --git a/player/loadfile.c b/player/loadfile.c index 2d9f9f4e28..72e0d14590 100644 --- a/player/loadfile.c +++ b/player/loadfile.c @@ -658,12 +658,7 @@ bool mp_remove_track(struct MPContext *mpctx, struct track *track) int index = 0; while (index < mpctx->num_tracks && mpctx->tracks[index] != track) index++; - assert(index < mpctx->num_tracks); - while (index + 1 < mpctx->num_tracks) { - mpctx->tracks[index] = mpctx->tracks[index + 1]; - index++; - } - mpctx->num_tracks--; + MP_TARRAY_REMOVE_AT(mpctx->tracks, mpctx->num_tracks, index); talloc_free(track); close_unused_demuxers(mpctx);