Improve progress reporting of digest calculations (might help with #2643).
This test suddenly just started failing with opj_int_fix_mul: Assertion `(temp >> 13) <= (OPJ_INT64)0x7FFFFFFF' failed. which is odd - why now? Anywhere here we limit the OpenJPEG image values to what I think is the "legal" range.
Fix DCP content font ID allocation to cope with DCPs that have multiple fonts with the same name in the same reel (#2600). Previously we had this id_for_font_in_reel() which would give an ID of N_font-ID. This means we got duplicate font IDs. Here we replace that method with FontAllocator, which gives an ID of N_font-ID for the first font and M_font-ID, where M is a number higher than the highest reel index. The idea is to support the required new IDs without breaking exisiting projects. There is some documentation of how it works in doc/design/fonts
Use a vector rather than a list when returning from content_factory().
Rearrange subtitle font management. With this change each subtitle coming out of the player has a reference to a dcpomatic::Font that belongs to the TextContent. This hopefully solves a few problems which all basically stemmed from the fact that previously the decoders/player were deciding what the font ID in the output DCP would be - they can't do that properly.
Hopefully fix race between thread finishing and cleanup being run (#2100).
Reduce disk usage of interrupt_encoder_test.
Make digest calculations interruptible.
Fix assertion failure in AudioBuffers::copy_from() (#1909) A number of frames N was being split up into two parts which together were bigger than N, meaning a copy of one of the parts failed.