Setting this flag signals to libav to not wait for IDR or recovery
points before returning frames to us. Some videos have neither IDRs or
recovery points, so this fixes transcoding such video.
Fixes https://github.com/HandBrake/HandBrake/issues/456
(cherry picked from commit
7e346baaa3ce8df0b03ab64ce78434aa68a8b5d3)
npreviews = DecodePreviews( data, title, 1 );
if (npreviews < 2)
{
+ // Try harder to get some valid frames
+ // Allow libav to return "corrupt" frames
+ hb_log("scan: Too few previews (%d), trying harder", npreviews);
+ title->flags |= HBTF_NO_IDR;
npreviews = DecodePreviews( data, title, 0 );
}
if (npreviews == 0)