than its stream; I'm not sure why this happens but the file that
triggered this commit was stereo AC3 and the crash happened when
(embedded) subtitles were enabled and the file seek was seeked
randomly. There were frame-sync errors from FFmpeg around the crash.
case AV_SAMPLE_FMT_FLTP:
{
float** p = reinterpret_cast<float**> (data);
- for (int i = 0; i < stream->channels(); ++i) {
+ /* Sometimes there aren't as many channels in the _frame as in the stream */
+ for (int i = 0; i < _frame->channels; ++i) {
memcpy (audio->data(i), p[i], frames * sizeof(float));
}
+ for (int i = _frame->channels; i < stream->channels(); ++i) {
+ audio->make_silent (i);
+ }
}
break;