warn the user if audio skew is likely

Originally committed to SVN as r2115.
This commit is contained in:
Karl Blomster 2008-03-22 22:45:46 +00:00
parent 76469421e4
commit e61d333297

View file

@ -196,14 +196,16 @@ void LAVCAudioProvider::GetAudio(void *buf, int64_t start, int64_t count)
we should do something about it, not pretend that everything's OK. -Fluff */ we should do something about it, not pretend that everything's OK. -Fluff */
decoded_samples = audio_resample(rsct, _buf, buffer, decoded_samples / codecContext->channels); decoded_samples = audio_resample(rsct, _buf, buffer, decoded_samples / codecContext->channels);
/* make sure we somehow didn't end up with more samples than we wanted */ /* make some noise if we somehow ended up with more samples than we wanted (will cause audio skew) */
assert(decoded_samples <= samples_to_decode); if (decoded_samples <= samples_to_decode)
wxLogMessage(wxString::Format(_T("Warning: decoder output more samples than requested, audio skew highly likely! (Wanted %d, got %d)"), samples_to_decode, decoded_samples));
} else { } else {
/* no resampling needed, just copy to the buffer */ /* no resampling needed, just copy to the buffer */
/* if (decoded_samples > samples_to_decode) /* if (decoded_samples > samples_to_decode)
decoded_samples = samples_to_decode; */ decoded_samples = samples_to_decode; */
/* I do not understand the point of the above, changed to a more reasonable assertation instead -Fluff */ /* I do not understand the point of the above -Fluff */
assert(decoded_samples <= samples_to_decode); if (decoded_samples <= samples_to_decode)
wxLogMessage(wxString::Format(_T("Warning: decoder output more samples than requested, audio skew highly likely! (Wanted %d, got %d)"), samples_to_decode, decoded_samples));
memcpy(_buf, buffer, temp_output_buffer_size); memcpy(_buf, buffer, temp_output_buffer_size);
} }