} type = VIDEO;
for (list<shared_ptr<Piece> >::iterator i = _pieces.begin(); i != _pieces.end(); ++i) {
- if ((*i)->decoder->done ()) {
+ if ((*i)->decoder->done () || (*i)->content->length_after_trim() == 0) {
continue;
}
if (re) {
shared_ptr<const AudioBuffers> b = re->flush ();
if (b->frames ()) {
- process_audio (earliest, b, ac->audio_length (), true);
+ process_audio (
+ earliest,
+ b,
+ ac->audio_length() * ac->output_audio_frame_rate() / ac->content_audio_frame_rate(),
+ true
+ );
}
}
}