} else if (after == max_framepos) {
start = before;
} else if (before != max_framepos && after != max_framepos) {
- /* have before and after */
- if ((start - before) < (after - start)) {
- start = before;
- } else {
+ if ((direction == RoundUpMaybe || direction == RoundUpAlways))
start = after;
+ else if ((direction == RoundDownMaybe || direction == RoundDownAlways))
+ start = before;
+ else if (direction == 0 ) {
+ if ((start - before) < (after - start)) {
+ start = before;
+ } else {
+ start = after;
+ }
}
}