Carl Hetherington [Sun, 20 Dec 2020 22:17:16 +0000 (23:17 +0100)]
Catch exceptions better during hints thread.
Carl Hetherington [Sun, 20 Dec 2020 22:16:06 +0000 (23:16 +0100)]
Fix crash on working out hints for content with subtitles.
Probably introduced in
cadca6e4f8c1d844f1b5fb9375023e627c674fa9
Carl Hetherington [Mon, 21 Dec 2020 23:26:13 +0000 (00:26 +0100)]
Confirm removal of cinemas and screens.
Carl Hetherington [Mon, 21 Dec 2020 22:58:52 +0000 (23:58 +0100)]
Fix alignment of some labels.
Carl Hetherington [Mon, 21 Dec 2020 22:51:24 +0000 (23:51 +0100)]
Select newly-added cinemas.
Carl Hetherington [Tue, 15 Dec 2020 00:10:22 +0000 (01:10 +0100)]
Tweak config comment.
Carl Hetherington [Thu, 10 Dec 2020 18:27:53 +0000 (19:27 +0100)]
Fix lots of macOS warnings by using a different boost/bind include.
Carl Hetherington [Thu, 10 Dec 2020 18:31:27 +0000 (19:31 +0100)]
Fix macOS build.
Carl Hetherington [Tue, 8 Dec 2020 21:22:30 +0000 (22:22 +0100)]
In a DCP with any subs/ccaps, make sure every reel has them (#1340).
Carl Hetherington [Tue, 8 Dec 2020 21:02:04 +0000 (22:02 +0100)]
Factor out empty_text_asset() method.
Carl Hetherington [Tue, 8 Dec 2020 20:03:07 +0000 (21:03 +0100)]
Add partially-working resources copying script for macOS testing.
Carl Hetherington [Tue, 8 Dec 2020 19:59:32 +0000 (20:59 +0100)]
Assorted macOS layout tweaks.
Carl Hetherington [Tue, 8 Dec 2020 19:13:09 +0000 (20:13 +0100)]
Shrink some big buttons.
Carl Hetherington [Tue, 8 Dec 2020 19:14:37 +0000 (20:14 +0100)]
Tidy up alignment of play controls on macOS.
Carl Hetherington [Tue, 8 Dec 2020 18:31:28 +0000 (19:31 +0100)]
Fix crop control alignment on macOS (#1864).
Carl Hetherington [Tue, 8 Dec 2020 18:30:15 +0000 (19:30 +0100)]
Fix old osx-environment path.
Carl Hetherington [Tue, 8 Dec 2020 15:47:06 +0000 (16:47 +0100)]
Fix test build on macOS.
Carl Hetherington [Mon, 7 Dec 2020 00:18:38 +0000 (01:18 +0100)]
Write subtitles and closed captions to a test DCP in the hints thread,
then check the result for Bv2.1 violations (part of #1800).
Carl Hetherington [Sun, 6 Dec 2020 23:08:33 +0000 (00:08 +0100)]
Make Writer take an output DCP path rather than getting it from the
film itself.
Carl Hetherington [Sun, 6 Dec 2020 23:02:25 +0000 (00:02 +0100)]
Make Writer tolerate a nullptr Job.
Carl Hetherington [Tue, 8 Dec 2020 12:13:02 +0000 (13:13 +0100)]
Use a weak_ptr<Film> in ReelWriter.
Carl Hetherington [Sun, 6 Dec 2020 22:11:15 +0000 (23:11 +0100)]
Use a weak_ptr<Film> in Writer.
Carl Hetherington [Sun, 6 Dec 2020 21:59:19 +0000 (22:59 +0100)]
Add get_process_id()
Carl Hetherington [Tue, 8 Dec 2020 10:19:16 +0000 (11:19 +0100)]
Split create_reel() up into some separate bits.
Carl Hetherington [Sun, 6 Dec 2020 20:36:37 +0000 (21:36 +0100)]
Add WeakFilm and WeakConstFilm and use them a bit.
Carl Hetherington [Sun, 6 Dec 2020 20:06:19 +0000 (21:06 +0100)]
Remove a pointless parameter that the callee can calculate.
Carl Hetherington [Sun, 6 Dec 2020 18:55:07 +0000 (19:55 +0100)]
Add some hints for violations of SMPTE Bv2.1 with subtitles and closed
captions.
Carl Hetherington [Sat, 5 Dec 2020 19:24:18 +0000 (20:24 +0100)]
Fix transcode finish time estimations when re-encoding a DCP (#1863).
Carl Hetherington [Sat, 5 Dec 2020 18:51:51 +0000 (19:51 +0100)]
Remove redundant check.
Carl Hetherington [Fri, 4 Dec 2020 22:18:25 +0000 (23:18 +0100)]
Bump CLOSED_CAPTION_LENGTH to 32 as per SMPTE Bv2.1.
Carl Hetherington [Fri, 4 Dec 2020 14:00:52 +0000 (15:00 +0100)]
Fix missing bits in RPM installs (#1883).
Carl Hetherington [Thu, 3 Dec 2020 20:06:34 +0000 (21:06 +0100)]
Add extra path for Windows tests so it can find the DLLs
for lwext4.
Carl Hetherington [Thu, 3 Dec 2020 09:57:35 +0000 (10:57 +0100)]
Bump libsub for some unused variable warning fixes.
Carl Hetherington [Tue, 1 Dec 2020 23:41:03 +0000 (00:41 +0100)]
Add basic unit test for the disk writer code.
Carl Hetherington [Tue, 1 Dec 2020 23:40:44 +0000 (00:40 +0100)]
Allow nanomsg to be null.
Carl Hetherington [Tue, 1 Dec 2020 23:34:09 +0000 (00:34 +0100)]
Allow PrivilegeEscalator to be disabled during tests.
Carl Hetherington [Tue, 1 Dec 2020 23:33:51 +0000 (00:33 +0100)]
Enable TYPE_DISK logging by default.
Carl Hetherington [Tue, 1 Dec 2020 22:12:18 +0000 (23:12 +0100)]
Move a load of disk writing code to src/lib/ext.cc.
Carl Hetherington [Sun, 29 Nov 2020 20:07:54 +0000 (21:07 +0100)]
Bump libdcp for SoundAsset::equals() fix.
Carl Hetherington [Sat, 28 Nov 2020 23:51:38 +0000 (00:51 +0100)]
Obey audio timestamps if they don't deviate by more than some threshold.
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.
Carl Hetherington [Wed, 2 Dec 2020 09:56:33 +0000 (10:56 +0100)]
Missing #includes from previous.
Carl Hetherington [Tue, 1 Dec 2020 20:44:32 +0000 (21:44 +0100)]
Limit video frame rate text control to numbers.
Carl Hetherington [Tue, 1 Dec 2020 10:36:52 +0000 (11:36 +0100)]
Rename refresh_metadata -> reset_metadata.
Carl Hetherington [Tue, 1 Dec 2020 10:32:36 +0000 (11:32 +0100)]
Changes to crop can be handled with a reset_metadata().
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).
Carl Hetherington [Tue, 1 Dec 2020 10:32:11 +0000 (11:32 +0100)]
Add VideoRingBuffers::reset_metadata().
Carl Hetherington [Tue, 1 Dec 2020 10:24:41 +0000 (11:24 +0100)]
Add missing lock.
Carl Hetherington [Mon, 30 Nov 2020 22:49:04 +0000 (23:49 +0100)]
Give Butler a weak_ptr<Film>
Carl Hetherington [Mon, 30 Nov 2020 22:38:39 +0000 (23:38 +0100)]
Change re{set,fresh}_metadata to take a film and a size from the player.
Carl Hetherington [Mon, 30 Nov 2020 20:39:53 +0000 (21:39 +0100)]
Fix loading very (very) old metadata files.
Carl Hetherington [Mon, 30 Nov 2020 01:53:05 +0000 (02:53 +0100)]
Fix build error.
Carl Hetherington [Sun, 29 Nov 2020 23:49:50 +0000 (00:49 +0100)]
Hide some wx warnings.
Carl Hetherington [Sun, 29 Nov 2020 23:19:32 +0000 (00:19 +0100)]
Fix overlapping group labels in the audio matrix (#1882).
Carl Hetherington [Sun, 29 Nov 2020 23:19:14 +0000 (00:19 +0100)]
Fix test build.
Carl Hetherington [Sat, 28 Nov 2020 01:42:50 +0000 (02:42 +0100)]
Better progress reporting during DCP validation (#1812).
Carl Hetherington [Sun, 29 Nov 2020 21:49:05 +0000 (22:49 +0100)]
Move some test references into test-private.
Carl Hetherington [Fri, 27 Nov 2020 22:30:13 +0000 (23:30 +0100)]
Fix over-read behaviour of FileGroup to be the same on all platforms.
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.
Carl Hetherington [Fri, 27 Nov 2020 22:27:14 +0000 (23:27 +0100)]
Fix running single tests on Windows.
Carl Hetherington [Thu, 26 Nov 2020 20:14:22 +0000 (21:14 +0100)]
More macOS build fixes.
Carl Hetherington [Thu, 26 Nov 2020 19:11:57 +0000 (20:11 +0100)]
macOS build fix.
Carl Hetherington [Thu, 26 Nov 2020 01:05:25 +0000 (02:05 +0100)]
If we don't query a server (because we already know about it)
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.
Carl Hetherington [Thu, 26 Nov 2020 01:04:25 +0000 (02:04 +0100)]
It feels unsafe not to lock _threads_mutex between terminate_threads()
and _threads.reset(); move the lock.
Carl Hetherington [Wed, 25 Nov 2020 21:46:22 +0000 (22:46 +0100)]
Remove accidentally-added file.
Carl Hetherington [Tue, 24 Nov 2020 00:29:11 +0000 (01:29 +0100)]
Calculate hashes for any referenced assets that do not already have one.
This is necessary so that we always include <Hash> in CPLs even
when referencing DCPs that do not have it.
Carl Hetherington [Thu, 26 Nov 2020 00:22:13 +0000 (01:22 +0100)]
Use a foreach.
Carl Hetherington [Wed, 25 Nov 2020 22:58:25 +0000 (23:58 +0100)]
Disallow referring to subtitles / closed captions with start trim.
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).
Carl Hetherington [Wed, 25 Nov 2020 22:57:52 +0000 (23:57 +0100)]
Check for inconsistency in settings for referring to text.
Just as we do for picture / sound.
Carl Hetherington [Wed, 25 Nov 2020 12:14:44 +0000 (13:14 +0100)]
Remove unused method.
Carl Hetherington [Tue, 24 Nov 2020 23:11:55 +0000 (00:11 +0100)]
Fix corrupted image when over-cropping black filler frames.
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.
Carl Hetherington [Tue, 24 Nov 2020 22:01:04 +0000 (23:01 +0100)]
Fix the behaviour of FileGroup when seeking too far.
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.
Carl Hetherington [Tue, 24 Nov 2020 21:50:39 +0000 (22:50 +0100)]
Fix uninitialised variable.
Carl Hetherington [Tue, 24 Nov 2020 02:00:39 +0000 (03:00 +0100)]
Updated nl_NL translation from Rob van Nieuwkerk.
Carl Hetherington [Sun, 22 Nov 2020 22:42:51 +0000 (23:42 +0100)]
Bump libdcp for ExtensionMetadata tags (#1808).
Carl Hetherington [Mon, 23 Nov 2020 12:58:33 +0000 (13:58 +0100)]
Remove swaroop variant.
Carl Hetherington [Sat, 21 Nov 2020 22:59:24 +0000 (23:59 +0100)]
pot/merge.
Carl Hetherington [Sat, 21 Nov 2020 22:09:57 +0000 (23:09 +0100)]
Update ISDCF name when subtitle language metadata changes (related to #1737).
Carl Hetherington [Sat, 21 Nov 2020 22:00:55 +0000 (23:00 +0100)]
Remove the "simple" UI (#1868).
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.
Carl Hetherington [Sat, 21 Nov 2020 21:38:45 +0000 (22:38 +0100)]
Add hint when making a FTR without FFEC/FFMC markers (#1804).
Carl Hetherington [Fri, 20 Nov 2020 23:04:52 +0000 (00:04 +0100)]
Tidy up Hints a bit.
Carl Hetherington [Sat, 21 Nov 2020 13:43:28 +0000 (14:43 +0100)]
Test update for auto-addition of markers.
Carl Hetherington [Sat, 21 Nov 2020 01:31:12 +0000 (02:31 +0100)]
Subtitle language test updates.
Carl Hetherington [Fri, 20 Nov 2020 22:46:40 +0000 (23:46 +0100)]
Update test data now that empty Language tags are not written.
Carl Hetherington [Fri, 20 Nov 2020 20:32:17 +0000 (21:32 +0100)]
Bump libdcp.
Carl Hetherington [Fri, 20 Nov 2020 20:19:04 +0000 (21:19 +0100)]
Don't try to set empty languages on CCAP tracks.
Carl Hetherington [Fri, 20 Nov 2020 15:52:56 +0000 (16:52 +0100)]
Use a LanguageTag for closed caption tracks.
Carl Hetherington [Thu, 19 Nov 2020 23:53:20 +0000 (00:53 +0100)]
Subtitle language handling tweaks; write multiple subtitle languages
to SMPTE extended metadata.
Carl Hetherington [Thu, 19 Nov 2020 23:40:02 +0000 (00:40 +0100)]
Fix potential crash if maybe_add_text() fails.
Carl Hetherington [Thu, 19 Nov 2020 14:04:28 +0000 (15:04 +0100)]
Recover subtitle language metadata from the places is was written
in older films.
Carl Hetherington [Wed, 18 Nov 2020 00:31:30 +0000 (01:31 +0100)]
Remove subtitle language from text content.
Carl Hetherington [Wed, 18 Nov 2020 00:12:09 +0000 (01:12 +0100)]
Fix label alignment.
Carl Hetherington [Wed, 18 Nov 2020 00:06:49 +0000 (01:06 +0100)]
Store subtitle language(s) in Film, and allow setup of those
languages from the Interop/SMPTE metadata dialogues.
Carl Hetherington [Tue, 17 Nov 2020 22:19:19 +0000 (23:19 +0100)]
Tidy up button alignment.
Carl Hetherington [Tue, 17 Nov 2020 21:06:49 +0000 (22:06 +0100)]
Move labelling out of LanguageTagWidget.
Carl Hetherington [Fri, 20 Nov 2020 21:53:34 +0000 (22:53 +0100)]
Move make_black_test into image_test.
Carl Hetherington [Fri, 20 Nov 2020 21:53:10 +0000 (22:53 +0100)]
Some tidying up of test Doxygen.
Carl Hetherington [Fri, 20 Nov 2020 21:51:15 +0000 (22:51 +0100)]
Always add FFOC and LFOC markers (#1805).
Carl Hetherington [Fri, 20 Nov 2020 21:25:55 +0000 (22:25 +0100)]
Tweak comment containing Doxygen text group name.
Carl Hetherington [Fri, 20 Nov 2020 20:59:02 +0000 (21:59 +0100)]
Disable video range control for DCP content (#1821).
Carl Hetherington [Fri, 7 Aug 2020 21:41:15 +0000 (23:41 +0200)]
Try to enable all streams in MOV exports.
This is a speculative fix which I haven't tested.
Carl Hetherington [Wed, 18 Nov 2020 00:46:21 +0000 (01:46 +0100)]
Make the default disk writer window wider.
Carl Hetherington [Mon, 16 Nov 2020 23:24:47 +0000 (00:24 +0100)]
Fix strange OR operator.