if(!_seeking) {
/* process audio */
- this_nframes = min (nframes, length - current_frame);
+ this_nframes = min (nframes, length - current_frame + _import_position);
if ((ret = roll (this_nframes, current_frame, current_frame + nframes, false, need_butler)) != 0) {
silence (nframes);
AuditionProgress(current_frame - _import_position, length); /* emit */
}
- if (current_frame >= length) {
+ if (current_frame >= length + _import_position) {
_session.cancel_audition ();
return 0;
} else {