summaryrefslogtreecommitdiff
path: root/src/lib
AgeCommit message (Collapse)Author
2020-12-03Allow nanomsg to be null.Carl Hetherington
2020-12-03Allow PrivilegeEscalator to be disabled during tests.Carl Hetherington
2020-12-03Enable TYPE_DISK logging by default.Carl Hetherington
2020-12-03Move a load of disk writing code to src/lib/ext.cc.Carl Hetherington
2020-12-03Obey audio timestamps if they don't deviate by more than some threshold.Carl Hetherington
Previously we would ignore audio timestamps because they are not contiguous in a sample-accurate way. However with bugs like #1833 we do need to obey large discontinuities in audio timestamps, otherwise we get large sync errors. Here we change timestamp handling to ignore small discontinuities in timestamps but not larger ones.
2020-12-01Changes to crop can be handled with a reset_metadata().Carl Hetherington
While playback is happening we need to do that in the butler's buffers and in the little delay inside Player. This removes the seek on every crop change, making it a lot quicker (#1758).
2020-12-01Add VideoRingBuffers::reset_metadata().Carl Hetherington
2020-12-01Add missing lock.Carl Hetherington
2020-12-01Give Butler a weak_ptr<Film>Carl Hetherington
2020-12-01Change re{set,fresh}_metadata to take a film and a size from the player.Carl Hetherington
2020-11-30Fix loading very (very) old metadata files.Carl Hetherington
2020-11-28Fix over-read behaviour of FileGroup to be the same on all platforms.Carl Hetherington
Instead of relying on the operating system's behaviour when seeking off the end of a file, keep our own _position. This normalises the behaviour between POSIX and Windows.
2020-11-26If we don't query a server (because we already know about it)Carl Hetherington
the "last seen time" will never be updated, so the server will be discarded. It seems that we should always ping servers (so that set_seen gets called on receipt of the response), no matter whether "auto-discovered" or configured, so that the "discard" code doesn't kick in. Otherwise we remove and re-add our configured servers every 10 seconds, which is inefficient and which possibly triggers other bugs.
2020-11-26It feels unsafe not to lock _threads_mutex between terminate_threads()Carl Hetherington
and _threads.reset(); move the lock.
2020-11-26Calculate hashes for any referenced assets that do not already have one.Carl Hetherington
This is necessary so that we always include <Hash> in CPLs even when referencing DCPs that do not have it.
2020-11-26Use a foreach.Carl Hetherington
2020-11-25Disallow referring to subtitles / closed captions with start trim.Carl Hetherington
Since per Bv2.1 we can't have subs / closed captions with non-zero entry point I think we have no choice but to rewrite in that case (#1802).
2020-11-25Check for inconsistency in settings for referring to text.Carl Hetherington
Just as we do for picture / sound.
2020-11-25Remove unused method.Carl Hetherington
2020-11-25Fix corrupted image when over-cropping black filler frames.Carl Hetherington
FFmpegDecoder can emit small black frames (128x128 pixels) when it wants to fill in a gap. Image::crop_scale_window would do the wrong thing if we then applied a crop of greater than 128 in either direction; though cropped_size is correctly clamped, the crop value itself was not and is used to calculate the input data pointers. This would result in random frames, usually at the end of DCPs, often made up of blurry colour washes.
2020-11-24Fix the behaviour of FileGroup when seeking too far.Carl Hetherington
Previously, if you did a seek off the end of the file group, the seek would return an error. This is not what fseek() does; it returns no error, and preserves the file pointer (returned by ftell()) as if the seek had been successful. fread()s after a too-far seek return no data, of course. Parsing some files (the example used to find the bug was a H264 MP4) involves a seek which is to the byte after the end of the mp4 file. If this fails the whole header parsing fails and DCP-o-matic refuses to use the file.
2020-11-24Updated nl_NL translation from Rob van Nieuwkerk.Carl Hetherington
2020-11-23Remove swaroop variant.Carl Hetherington
2020-11-21pot/merge.Carl Hetherington
2020-11-21Remove the "simple" UI (#1868).Carl Hetherington
It just seemed to cause more problems than it solved; mainly people enabling it by mistake and then being told to click buttons that they could not see.
2020-11-21Add hint when making a FTR without FFEC/FFMC markers (#1804).Carl Hetherington
2020-11-21Tidy up Hints a bit.Carl Hetherington
2020-11-21Subtitle language test updates.Carl Hetherington
2020-11-20Don't try to set empty languages on CCAP tracks.Carl Hetherington
2020-11-20Use a LanguageTag for closed caption tracks.Carl Hetherington
2020-11-20Subtitle language handling tweaks; write multiple subtitle languagesCarl Hetherington
to SMPTE extended metadata.
2020-11-20Fix potential crash if maybe_add_text() fails.Carl Hetherington
2020-11-20Recover subtitle language metadata from the places is was writtenCarl Hetherington
in older films.
2020-11-20Remove subtitle language from text content.Carl Hetherington
2020-11-20Store subtitle language(s) in Film, and allow setup of thoseCarl Hetherington
languages from the Interop/SMPTE metadata dialogues.
2020-11-20Always add FFOC and LFOC markers (#1805).Carl Hetherington
2020-11-20Try to enable all streams in MOV exports.Carl Hetherington
This is a speculative fix which I haven't tested.
2020-11-17Fix cropping of subsampled images.Carl Hetherington
The calculations for how to crop subsampled components of YUV images were wrong, causing strange effects like misregistration of colour components in cropped images. Should fix #1872.
2020-11-17Add some lrintf() calls to be sure.Carl Hetherington
2020-11-17Use 64-byte alignment for aligned image memory.Carl Hetherington
FFmpeg uses this values if AVX512 is available, and with only 32-byte alignment I am seeing strange scaling effects whereby crop_scale_window_test7 gives black bars down the right side of cropped images (when run on an i7 7700).
2020-11-16Make sure we use limited ("video") range data when exporting.Carl Hetherington
Our export formats all currently use limited range but we weren't making sure data fed to the encoders was limited range. Should fix #1832.
2020-11-16Fix unnecessary condition.Carl Hetherington
2020-11-16Fix thinko-ed logic causing all subtitles to be treated as thoughCarl Hetherington
they have borders. This fix will cause some movement of border-less subtitles (in existing projects) within the video frame.
2020-11-16Remove unused code.Carl Hetherington
2020-11-16Fix limited value ranges in properties.Carl Hetherington
2020-11-16Remove pointless comment.Carl Hetherington
2020-11-16Obey requests to change the video range of RGB content.Carl Hetherington
Video that comes in with RGB pixels will not have its video level ranges changed by libswscale (it only does this for YUV and greyscale). Here we add code to do it ourselves for RGB content coming in via image files (e.g. PNG/DPX etc). Part of #1851.
2020-11-14Fix uninitialised variable (affecting tests only).Carl Hetherington
2020-11-11Remove assertion checking that rotations are a multiple of 90.Carl Hetherington
This is checked later, anyway (without asserting) and we have seen files in the wild with other rotations (e.g. -135.62) which do not appear to need rotation to be applied. Fixes #1871. Backported-from-commit: f235ed07f969e1b8b9d3d05082dcdd68ceae771e Backported-from-branch: master
2020-11-06Fix start_player() on macOS (#1870).v2.15.107Carl Hetherington