hrev48475 adds 1 changeset to branch 'master' old head: d181ea48edfc02ad567832ded5a14ce5cfba4d12 new head: 1148ea734e207ac0153d3e206c8618644a22fb96 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=1148ea7+%5Ed181ea4 ---------------------------------------------------------------------------- 1148ea7: AVCodecDecoder: remove annoying assert. According to Colin this is not supposed to happen, but it does. Since the affected video otherwise decodes just fine, I think it is safe to disable the assert and not annoy our users. Fixes #11409. [ Adrien Destugues <pulkomandy@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev48475 Commit: 1148ea734e207ac0153d3e206c8618644a22fb96 URL: http://cgit.haiku-os.org/haiku/commit/?id=1148ea7 Author: Adrien Destugues <pulkomandy@xxxxxxxxx> Date: Wed Dec 10 09:03:59 2014 UTC Ticket: https://dev.haiku-os.org/ticket/11409 ---------------------------------------------------------------------------- 1 file changed, 10 insertions(+), 3 deletions(-) src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp | 13 ++++++++++--- ---------------------------------------------------------------------------- diff --git a/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp b/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp index a77f21d..ac417f4 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp @@ -1144,8 +1144,8 @@ AVCodecDecoder::_UpdateMediaHeaderForAudioFrame() and the start time it should be presented isn't established at the moment. Though this might change in the future. - More over the fOutputFrameRate variable is updated for every decoded video - frame. + More over the fOutputFrameRate variable is updated for every decoded video + frame. On first call the member variables fSwsContext / fFormatConversionFunc are initialized. @@ -1154,11 +1154,18 @@ AVCodecDecoder::_UpdateMediaHeaderForAudioFrame() \returns B_LAST_BUFFER_ERROR when there are no more video frames available. \returns B_NO_MEMORY when we have no memory left for correct operation. \returns Other Errors - */ +*/ status_t AVCodecDecoder::_DecodeNextVideoFrame() { +#if 0 + // Well, I heard this was not supposed to happen, but it does + // (for example with http://thud.us/videos/misc/xvid-samples/flyby-divx.avi + // see #11409). Since that video otherwise plays fine when removing the + // assert, I'm assuming we are being overcautious here and commenting it + // out. assert(fTempPacket.size >= 0); +#endif while (true) { status_t loadingChunkStatus