View Bug Details

IDProjectCategoryView StatusLast Update
0001230DCP-o-maticBugspublic2018-10-17 20:15
Reportercarl Assigned Tocarl  
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Target Version2.12.0 
Summary0001230: OOM when seeking near the end of a large FFmpeg file
Description

Seek to near the end of a file.
FFmpegDecoder::pass() gets AVERROR_EOF and calls flush().
This fills in audio from audio->stream_position() to the end of the file. But audio->stream_position() is 0 immediately after a seek.

This is done because we reset audio stream position from the first emit after a seek.

So what should flush() do if it's called after a seek but before any data has come? Probably nothing; in practice it will only happen with inaccurate seeks (no pre-roll). So the bare minimum is to not flush when stream_position() returns 0. Nicer would be to stop 0 being a magic value when returning from stream_position().

TagsNo tags attached.
Branch
Estimated weeks required
Estimated work requiredUnknown

Activities

carl

2018-03-05 01:34

administrator   ~0002265

85cd541c1ec9c9b608d7ec2e4ec3c575166bb863 is the hacky fix for v2.12.x.

Bug History

Date Modified Username Field Change
2018-03-05 01:23 carl New Bug
2018-03-05 01:34 carl Assigned To => carl
2018-03-05 01:34 carl Status new => resolved
2018-03-05 01:34 carl Resolution open => fixed
2018-03-05 01:34 carl Note Added: 0002265
2018-10-17 20:15 carl Status resolved => closed