3 months agoBump libdcp for verification fix. master v2.14.46
Carl Hetherington [Sat, 28 Nov 2020 00:04:33 +0000 (01:04 +0100)]
Bump libdcp for verification fix.

3 months agoFix corrupted image when over-cropping black filler frames. v2.14.45
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.

3 months agoFix the behaviour of FileGroup when seeking too far.
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

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.

3 months agoHack to fix image luminance when cropping subsampled images (#1872). v2.14.44
Carl Hetherington [Thu, 19 Nov 2020 21:07:39 +0000 (22:07 +0100)]
Hack to fix image luminance when cropping subsampled images (#1872).

Without this the luminance varies slightly as you crop by odd and
even amounts (for YUV420 images).

3 months agoFix some GTK3 vertical alignment error messages in the player.
Carl Hetherington [Thu, 19 Nov 2020 20:23:23 +0000 (20:23 +0000)]
Fix some GTK3 vertical alignment error messages in the player.

3 months agoTest build fixes. crop-fix-v2.14.x v2.14.43
Carl Hetherington [Tue, 17 Nov 2020 00:56:49 +0000 (01:56 +0100)]
Test build fixes.

3 months agoTweak vertical spacing with GTK3.
Carl Hetherington [Tue, 17 Nov 2020 00:18:01 +0000 (00:18 +0000)]
Tweak vertical spacing with GTK3.

3 months agoFix cropping of subsampled images.
Carl Hetherington [Mon, 16 Nov 2020 23:00:50 +0000 (00:00 +0100)]
Fix cropping of subsampled images.

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.

3 months agoAdd some lrintf() calls to be sure.
Carl Hetherington [Mon, 16 Nov 2020 22:58:53 +0000 (23:58 +0100)]
Add some lrintf() calls to be sure.

3 months agoUse 64-byte alignment for aligned image memory.
Carl Hetherington [Mon, 16 Nov 2020 22:56:11 +0000 (23:56 +0100)]
Use 64-byte alignment for aligned image memory.

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).

3 months agoRemove assertion checking that rotations are a multiple of 90. v2.14.42
Carl Hetherington [Wed, 11 Nov 2020 22:33:31 +0000 (23:33 +0100)]
Remove assertion checking that rotations are a multiple of 90.

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.

4 months agoPrevent import of directories as DCPs if they do not have an
Carl Hetherington [Wed, 28 Oct 2020 11:48:48 +0000 (12:48 +0100)]
Prevent import of directories as DCPs if they do not have an
ASSETMAP{,.xml} in the top level.

This should avoid some confusion, as previously DoM would scan the
whole directory tree looking for an ASSETMAP.  It also prevents
people adding a DCP-o-matic project to itself, which I believe is the
cause of #1620.

Backported-from-commit: 2c74c1534cb563cab4c6c3225ced573619f6a647
Backported-from-branch: v2.15.x

4 months agoCatch more errors when non-CPLs are loaded as CPLs. ubuntu-20.10 v2.14.41
Carl Hetherington [Mon, 26 Oct 2020 13:06:55 +0000 (14:06 +0100)]
Catch more errors when non-CPLs are loaded as CPLs.

4 months agoGTK3 tweaks for the playback controls.
Carl Hetherington [Mon, 26 Oct 2020 11:44:42 +0000 (11:44 +0000)]
GTK3 tweaks for the playback controls.

4 months agoUse wxDC for all drawing of the audio mapping view, removing
Carl Hetherington [Sun, 24 May 2020 12:20:43 +0000 (14:20 +0200)]
Use wxDC for all drawing of the audio mapping view, removing
use of wxGraphicsContext.  This seems to fix strange rendering
problems on Windows.

Backported-from-commit: 3e4f6d59b46e3c09c9d0aba907ff0633bf0bc2e5
Backported-from-branch: v2.15.x

4 months agoGTK3 KDM window fixes backported from v2.15.x.
Carl Hetherington [Mon, 26 Oct 2020 11:36:12 +0000 (11:36 +0000)]
GTK3 KDM window fixes backported from v2.15.x.

4 months agoFix colour conversion choice on GTK3.
Carl Hetherington [Mon, 26 Oct 2020 11:31:20 +0000 (11:31 +0000)]
Fix colour conversion choice on GTK3.

4 months agoAdjust po files through some guesswork for the crop label changes.
Carl Hetherington [Mon, 26 Oct 2020 11:26:22 +0000 (12:26 +0100)]
Adjust po files through some guesswork for the crop label changes.

4 months agopot/merge due to changing crop labels.
Carl Hetherington [Mon, 26 Oct 2020 11:02:09 +0000 (12:02 +0100)]
pot/merge due to changing crop labels.

4 months agoMake the crop controls more like those on the v2.15.x branch
Carl Hetherington [Mon, 26 Oct 2020 11:01:32 +0000 (12:01 +0100)]
Make the crop controls more like those on the v2.15.x branch
for GTK3 so that they are at least vaguely usable.

4 months agoBackport tiny typo fix from v2.15.x.
Carl Hetherington [Sun, 25 Oct 2020 19:21:53 +0000 (20:21 +0100)]
Backport tiny typo fix from v2.15.x.

4 months agoAllow building and running with wxWidgets 3.1.x as well as 3.0.x.
Carl Hetherington [Sun, 25 Oct 2020 19:21:23 +0000 (20:21 +0100)]
Allow building and running with wxWidgets 3.1.x as well as 3.0.x.

4 months agoAdd Ubuntu 20.10 dependencies.
Carl Hetherington [Sun, 25 Oct 2020 18:59:26 +0000 (19:59 +0100)]
Add Ubuntu 20.10 dependencies.

4 months agoRemove obsolete ubuntu version dependencies.
Carl Hetherington [Sun, 25 Oct 2020 18:57:00 +0000 (19:57 +0100)]
Remove obsolete ubuntu version dependencies.

4 months agoAdd test for #1857. v2.14.40
Carl Hetherington [Wed, 14 Oct 2020 19:43:21 +0000 (21:43 +0200)]
Add test for #1857.

Backported-from-commit: 86f855ef96a84ee7e8ad9d71b543e8c06fc91a9e
Backported-from-branch: v2.15.x

4 months agoDon't crash if the first packet in a stream has AV_NOPTS_VALUE;
Carl Hetherington [Wed, 14 Oct 2020 19:24:57 +0000 (21:24 +0200)]
Don't crash if the first packet in a stream has AV_NOPTS_VALUE;
instead, assume it should be at timestamp 0.

Backported-from-commit: d7a3d94ec307a03ebe3fcf239ba991e9a3c1b8b8
Backported-from-branch: v2.15.x

4 months agoClear out _next_time when seeking, so out-of-date values don't
Carl Hetherington [Wed, 14 Oct 2020 19:23:36 +0000 (21:23 +0200)]
Clear out _next_time when seeking, so out-of-date values don't
hang around.  Part of the fix for #1857.

Backported-from-commit: 9a3df0a97b7962c00726447a75599e34c632cb2b
Backported-from-branch: v2.15.x

4 months agoBump libdcp (and following libsub) to fix crashes with ASSETMAPs v2.14.39
Carl Hetherington [Sat, 10 Oct 2020 19:15:49 +0000 (21:15 +0200)]
Bump libdcp (and following libsub) to fix crashes with ASSETMAPs
containing files that are not in any PKL (#1855).

5 months agoA belated happy new year.
Carl Hetherington [Wed, 23 Sep 2020 20:16:38 +0000 (22:16 +0200)]
A belated happy new year.

5 months agoFix thinko in previous.
Carl Hetherington [Wed, 23 Sep 2020 15:16:32 +0000 (17:16 +0200)]
Fix thinko in previous.

5 months agoFix potentially unterminated string (#1844).
Carl Hetherington [Wed, 23 Sep 2020 15:15:15 +0000 (17:15 +0200)]
Fix potentially unterminated string (#1844).

5 months agoFix warnings about catching polymorphic types by value (#1843).
Carl Hetherington [Wed, 23 Sep 2020 15:08:56 +0000 (15:08 +0000)]
Fix warnings about catching polymorphic types by value (#1843).

5 months agoFix --standard flag to dcpomatic2_cli (github #9). v2.14.38
Carl Hetherington [Mon, 21 Sep 2020 17:33:11 +0000 (19:33 +0200)]
Fix --standard flag to dcpomatic2_cli (github #9).

5 months agoDon't allow creation of a new film with no name. Otherwise we try
Carl Hetherington [Mon, 14 Sep 2020 21:07:34 +0000 (23:07 +0200)]
Don't allow creation of a new film with no name.  Otherwise we try
to write metadata to the "create in folder" directory, which throws
an uncaught exception if the specified directory is unwriteable.

If we have a name then DoM tries to create the directory with that name,
which fails more elegantly and with a nicer error.

Backported-from-commit: 50aaa3789864c7330ee92e7e89ad5b6cc2155a82
Backported-from-branch: 2.15.x

6 months agoBuild fixes for Boost >= 1.73 v2.14.37
Carl Hetherington [Thu, 27 Aug 2020 20:37:32 +0000 (20:37 +0000)]
Build fixes for Boost >= 1.73

6 months agoFix login denied (67) errors when trying to download certificates
Carl Hetherington [Mon, 31 Aug 2020 12:15:40 +0000 (14:15 +0200)]
Fix login denied (67) errors when trying to download certificates
from Dolby.

Backported-from-commit: 746e298e214a65ca9151867b2948560e76b45546
Backported-from-branch: v2.15.x

7 months agoAdd unit test for pulldown detection. v2.14.36
Carl Hetherington [Mon, 3 Aug 2020 07:51:43 +0000 (09:51 +0200)]
Add unit test for pulldown detection.

Backported-from-commit: 23804b8beddd616cef60900d6e51deb7788cbd79
Backported-from-branch: v2.15.x

7 months agoFix number of frames in the pulldown check.
Carl Hetherington [Mon, 3 Aug 2020 07:51:27 +0000 (09:51 +0200)]
Fix number of frames in the pulldown check.

Backported-from-commit: 5f1fdbafc6eef37523250e0b8542a8939a038823
Backported-from-branch: v2.15.x

7 months agoFix incorrect string find logic.
Carl Hetherington [Mon, 3 Aug 2020 07:51:12 +0000 (09:51 +0200)]
Fix incorrect string find logic.

Backported-from-commit: d461077cf4f2c1470d2d0d6dbc4f5708411bec65
Backported-from-branch: v2.15.x

7 months agoDon't terminate if a non-DCP directory is given to Open.
Carl Hetherington [Sun, 2 Aug 2020 21:31:59 +0000 (23:31 +0200)]
Don't terminate if a non-DCP directory is given to Open.

Cherry-picked from 591c73b472f0eb74225dbc1b08885f552b8814c4 in v2.15.x.

7 months agoRecover information about closed caption tracks when loading DCPs
Carl Hetherington [Wed, 29 Jul 2020 09:44:05 +0000 (11:44 +0200)]
Recover information about closed caption tracks when loading DCPs
so that they can be displayed.

Cherry-picked from 09860271bb6d03b3937c08bffb4c672697f6d711 in v2.15.x.

7 months agoFix various problems with the closed caption viewer not being updated properly.
Carl Hetherington [Tue, 28 Jul 2020 20:20:19 +0000 (22:20 +0200)]
Fix various problems with the closed caption viewer not being updated properly.

Cherry-picked from d902160e3c89a9f65f58a2463fac0b1de1d940b1 in v2.15.x.

7 months agoDetect soft 2:3 pulldown (telecine) files and decode them at 23.976.
Carl Hetherington [Sun, 2 Aug 2020 20:24:05 +0000 (22:24 +0200)]
Detect soft 2:3 pulldown (telecine) files and decode them at 23.976.

DVD rips from NTSC DVDs are sometimes (always?) encoded using
soft 2:3 pulldown.  The video frames are actually 23.976 but
FFmpeg detects them as 29.97.  With the current approach of the video
decoder ignoring most PTSs and assuming a constant frame rate
it is vital that the file contains the number of frames per second
that the detected frame rate predicts.

This fixes large sync errors with NTSC DVD rips (#1790).

Cherry-picked from af680761cf7c3e97660e8e55c68f42e90b026bf9
in v2.15.x.

7 months agoDon't display all possible channel checkboxes while the analysis v2.14.35
Carl Hetherington [Wed, 29 Jul 2020 20:30:38 +0000 (22:30 +0200)]
Don't display all possible channel checkboxes while the analysis
is running as clicking the higher ones will cause an assertion

Cherry-picked from 4b5e05b9845d609524328a88a81011b364e03a8a in

7 months agoFix memory leak which also causes strange flickering in the audio
Carl Hetherington [Wed, 29 Jul 2020 20:29:45 +0000 (22:29 +0200)]
Fix memory leak which also causes strange flickering in the audio
analysis window while the analysis is running.

Cherry-picked from 6b1d9adcf6e75fc8e441b61108a2169bda6a6094 in

7 months agoTrying to create export audio encoders with between 9 and 15 channels v2.14.34
Carl Hetherington [Mon, 27 Jul 2020 22:28:51 +0000 (22:28 +0000)]
Trying to create export audio encoders with between 9 and 15 channels
inclusive fails, at least for AAC.  There's probably a way around
this with some FFmpeg-cleverness but for now let's just export any
project with more than 8 channels as 16.

You could argue that we should offer choices to, for example
export 7.1/HI/VN as 7.1 but that sounds fiddly.

Fixes #1786.

7 months agoFix export of projects with fewer than 6 channels.
Carl Hetherington [Mon, 27 Jul 2020 22:25:57 +0000 (22:25 +0000)]
Fix export of projects with fewer than 6 channels.

9 months agoFix some tab/space problems in cscript.
Carl Hetherington [Fri, 22 May 2020 10:55:44 +0000 (12:55 +0200)]
Fix some tab/space problems in cscript.

9 months agoFollow-up fix for GTK2 and GTK3 WX backends. v2.14.33
Carl Hetherington [Thu, 14 May 2020 20:46:58 +0000 (22:46 +0200)]
Follow-up fix for GTK2 and GTK3 WX backends.

9 months agoHopefully we can use GTK's file chooser button again now.
Carl Hetherington [Thu, 23 Apr 2020 23:33:58 +0000 (01:33 +0200)]
Hopefully we can use GTK's file chooser button again now.

9 months agoTry to allow build on Ubuntu 20.04.
Carl Hetherington [Thu, 14 May 2020 20:09:06 +0000 (22:09 +0200)]
Try to allow build on Ubuntu 20.04.

9 months agoChristie FTP contains certificate chains, not just leaf certificates.
Carl Hetherington [Thu, 14 May 2020 18:35:32 +0000 (20:35 +0200)]
Christie FTP contains certificate chains, not just leaf certificates.

Backported from 2c844e57ed5c54e65a2b4484f02907122a03361e in v2.15.x.

9 months agoDon't say 'certificate downloaded' if it failed during the read part.
Carl Hetherington [Thu, 14 May 2020 18:14:52 +0000 (20:14 +0200)]
Don't say 'certificate downloaded' if it failed during the read part.

Backported from 8c7ad603cf0a534abe1a920b70b0daa095257d3a in v2.15.x

11 months agoTidy some grammar and remove a silly colloquialism.
Carl Hetherington [Fri, 13 Sep 2019 21:17:03 +0000 (22:17 +0100)]
Tidy some grammar and remove a silly colloquialism.

11 months agoGive a better error when opening a DCP with File -> Open by mistake (#1723). v2.14.32
Carl Hetherington [Wed, 11 Mar 2020 20:23:11 +0000 (20:23 +0000)]
Give a better error when opening a DCP with File -> Open by mistake (#1723).

11 months agoBump libdcp to hopefully prevent segfaults in CertificateChain::private_key_valid.
Carl Hetherington [Tue, 10 Mar 2020 22:40:31 +0000 (23:40 +0100)]
Bump libdcp to hopefully prevent segfaults in CertificateChain::private_key_valid.

12 months agoFix missed subclass of Job in the tests.
Carl Hetherington [Fri, 6 Mar 2020 23:57:53 +0000 (23:57 +0000)]
Fix missed subclass of Job in the tests.

12 months agos/destroy_thread/stop_thread/
Carl Hetherington [Fri, 6 Mar 2020 21:10:00 +0000 (21:10 +0000)]

12 months agoDestroy Job threads at the start of the subclass destructors,
Carl Hetherington [Fri, 6 Mar 2020 20:59:58 +0000 (20:59 +0000)]
Destroy Job threads at the start of the subclass destructors,
so that the thread is gone before the object is torn down.

12 months agoMissing patron.
Carl Hetherington [Sun, 1 Mar 2020 20:52:00 +0000 (21:52 +0100)]
Missing patron.

12 months agoAllow changing colour conversion settings for multiple pieces of content at the same... v2.14.31
Carl Hetherington [Sat, 29 Feb 2020 20:42:17 +0000 (21:42 +0100)]
Allow changing colour conversion settings for multiple pieces of content at the same time (github #7).

Back-ported from c403e757cf0b029954fe18dc969314bfb179412f in v2.15.x.

12 months agoFix incorrect results when applying some timing operations to
Carl Hetherington [Fri, 28 Feb 2020 11:31:40 +0000 (12:31 +0100)]
Fix incorrect results when applying some timing operations to
more than one piece of content at once (e.g. trim start).

Back-ported from 746aa7337ac2d51a4fa09039c1d5d7717cc880fa in v2.15.x.

12 months agoMake content list and buttons taller on low-res displays. attic/800x600-buttons
Carl Hetherington [Thu, 27 Feb 2020 20:39:57 +0000 (21:39 +0100)]
Make content list and buttons taller on low-res displays.

12 months agoRestore preferences image for macOS accidentally dropped in the 10.9 commit. v2.14.30
Carl Hetherington [Sat, 22 Feb 2020 22:36:36 +0000 (23:36 +0100)]
Restore preferences image for macOS accidentally dropped in the 10.9 commit.

12 months agoMissing #include. v2.14.29
Carl Hetherington [Fri, 21 Feb 2020 00:16:51 +0000 (00:16 +0000)]
Missing #include.

12 months agoFix non-aligned subtitle access in the subtitle examiner as well. v2.14.28
Carl Hetherington [Thu, 20 Feb 2020 16:41:22 +0000 (16:41 +0000)]
Fix non-aligned subtitle access in the subtitle examiner as well.

12 months agoAllow macOS builds against 10.6 (universal) or 10.9 (thin).
Carl Hetherington [Thu, 20 Feb 2020 15:25:17 +0000 (16:25 +0100)]
Allow macOS builds against 10.6 (universal) or 10.9 (thin).

12 months agoCleanups to normalise master and 2.15.x better. v2.14.27
Carl Hetherington [Wed, 19 Feb 2020 16:17:39 +0000 (16:17 +0000)]
Cleanups to normalise master and 2.15.x better.

12 months agoNew way of checking for 2D content mislabelled as 3D (#1565).
Carl Hetherington [Wed, 19 Feb 2020 16:02:24 +0000 (16:02 +0000)]
New way of checking for 2D content mislabelled as 3D (#1565).
Required because of the change to the way video frame timing
is done.

12 months agoFix errors with TYPE_3D introduced in video timestamping fix.
Carl Hetherington [Tue, 18 Feb 2020 22:46:02 +0000 (23:46 +0100)]
Fix errors with TYPE_3D introduced in video timestamping fix.

12 months agoRe-throw butler errors at the end of an encode.
Carl Hetherington [Tue, 18 Feb 2020 22:45:20 +0000 (23:45 +0100)]
Re-throw butler errors at the end of an encode.

12 months agoReport when butler returns no video because it died.
Carl Hetherington [Tue, 18 Feb 2020 22:44:46 +0000 (23:44 +0100)]
Report when butler returns no video because it died.

12 months agoAdd compile_commands.json symlink.
Carl Hetherington [Tue, 18 Feb 2020 22:42:25 +0000 (23:42 +0100)]
Add compile_commands.json symlink.

12 months agoMerge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic
Carl Hetherington [Tue, 18 Feb 2020 21:46:57 +0000 (22:46 +0100)]
Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic

12 months agoWrite logs during tests to a file.
Carl Hetherington [Tue, 18 Feb 2020 19:17:39 +0000 (20:17 +0100)]
Write logs during tests to a file.

12 months agoRemove unused variable.
Carl Hetherington [Tue, 18 Feb 2020 19:17:28 +0000 (20:17 +0100)]
Remove unused variable.

12 months agoRemove incorrect comment.
Carl Hetherington [Tue, 18 Feb 2020 19:17:15 +0000 (20:17 +0100)]
Remove incorrect comment.

12 months agoMissed part of new video timing patch.
Carl Hetherington [Tue, 18 Feb 2020 19:17:04 +0000 (20:17 +0100)]
Missed part of new video timing patch.

12 months agoBetter errors if butler doesn't give video during export.
Carl Hetherington [Sun, 16 Feb 2020 20:15:12 +0000 (21:15 +0100)]
Better errors if butler doesn't give video during export.

12 months agoBetter assertion error in copy_from.
Carl Hetherington [Sun, 16 Feb 2020 21:05:49 +0000 (21:05 +0000)]
Better assertion error in copy_from.

12 months agoPotential fix for #1568; we calculate the remaining DCPTime but
Carl Hetherington [Sun, 26 May 2019 01:58:17 +0000 (02:58 +0100)]
Potential fix for #1568; we calculate the remaining DCPTime but
then convert it back to resampled content frames using the DCP
rate rather than the resampled content rate, which seems wrong.

If we want to go from metric time to frames we surely have to use
the frame rate of the thing we are working with (not the frame rate
which that thing will be played back at).

Backported from 26c62598730d1d32333bfab0d5f463b90d26ee4d in v2.15.x.

12 months agoFix deadlock during content examination.
Carl Hetherington [Tue, 28 Jan 2020 22:23:47 +0000 (23:23 +0100)]
Fix deadlock during content examination.

Before this fix, the following situation could happen in threads
A and B:

A: Some DONE signal happens; this triggers setup_pieces which
   takes a lock on the player mutex.

B: FFmpegContent::examine takes a lock on the content mutex.
B: FFmpegContent::examine adds a stream
B: That causes STREAMS PENDING to be emitted.
B: This tries to take a lock on the player mutex so it can update _suspended

A: setup_pieces tries to access some content information, hence
   tries to take a lock on the content mutex.

Now B is holding the CL and awaiting the PL and A is holding
the PL and awaiting the CL.

It feels like the root cause of this is that while setup_pieces
is happening another change (which would itself cause setup_pieces)
is announced, and this isn't dealt with properly.

There are two steps here; _suspended is protected with an atomic
rather than using _mutex, and also it can cope with being updated

Backported from df48c75c38dd788835a93540aea243a2dac4bb10 in v2.15.x

12 months agoDon't trust video timestamps from FFmpegDecoder.
Carl Hetherington [Sun, 10 Nov 2019 21:59:39 +0000 (22:59 +0100)]
Don't trust video timestamps from FFmpegDecoder.

Back-ported from 98342fb53eae4d32440fc69c279f2ca0fef785b5 in v2.15.x.

13 months agoFix crash with bitmapped subs that have zero width or height.
Carl Hetherington [Thu, 6 Feb 2020 09:34:30 +0000 (10:34 +0100)]
Fix crash with bitmapped subs that have zero width or height.

Back-ported from dec5ae11238495c64fffdab37f189d96aed7d636 in v2.15.x.

13 months agoAdd new script.
Carl Hetherington [Tue, 28 Jan 2020 11:49:08 +0000 (12:49 +0100)]
Add new script.

13 months agoVarious improvements to make_dummy_files
Carl Hetherington [Tue, 28 Jan 2020 11:49:00 +0000 (12:49 +0100)]
Various improvements to make_dummy_files

13 months agoUpdate for new test/data file. v2.14.26
Carl Hetherington [Mon, 27 Jan 2020 23:22:30 +0000 (23:22 +0000)]
Update for new test/data file.

13 months agoFix crash with sub-sample push parts in AudioMerger.
Carl Hetherington [Mon, 27 Jan 2020 23:19:52 +0000 (23:19 +0000)]
Fix crash with sub-sample push parts in AudioMerger.

13 months agoAdd header guard.
Carl Hetherington [Mon, 27 Jan 2020 23:11:59 +0000 (23:11 +0000)]
Add header guard.

13 months agoAdd some temporary 'instrumentation' of AudioMerger.
Carl Hetherington [Mon, 27 Jan 2020 23:08:49 +0000 (23:08 +0000)]
Add some temporary 'instrumentation' of AudioMerger.

13 months agoFix casting of bytes to words, and hence (hopefully) finally fix incorrect bitmapped...
Carl Hetherington [Sun, 17 Nov 2019 18:00:36 +0000 (19:00 +0100)]
Fix casting of bytes to words, and hence (hopefully) finally fix incorrect bitmapped subtitle colours.

Backported from 74168425c45987b45d4f4e147fb45fab33c3cab9 in v2.15.x.

13 months agoBump libsub for build fix. v2.14.25
Carl Hetherington [Fri, 24 Jan 2020 00:21:25 +0000 (01:21 +0100)]
Bump libsub for build fix.

13 months agoSupport binary STL subtitle files. v2.14.24
Carl Hetherington [Thu, 23 Jan 2020 14:37:37 +0000 (15:37 +0100)]
Support binary STL subtitle files.

13 months agoAdd patron. v2.14.23
Carl Hetherington [Fri, 17 Jan 2020 00:21:44 +0000 (01:21 +0100)]
Add patron.

13 months agoMerge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic
Carl Hetherington [Thu, 16 Jan 2020 22:41:51 +0000 (23:41 +0100)]
Merge branch 'master' of ssh://git.carlh.net/home/carl/git/dcpomatic

13 months agoMake FileError say what path the problem was with.
Carl Hetherington [Thu, 16 Jan 2020 15:41:19 +0000 (16:41 +0100)]
Make FileError say what path the problem was with.

Backported from 2ba5edb6761dbb14e4906200cb4e57c4180541ff in master.

13 months agoAdd some PT-style names to the guesswork on which channel a particular sound file...
Carl Hetherington [Tue, 14 Jan 2020 21:53:38 +0000 (22:53 +0100)]
Add some PT-style names to the guesswork on which channel a particular sound file belongs to.

Backported from 0dca360f831aa51a4c0a33caa18e78c07391f3b7 in v2.15.x.

13 months agoStop invalid dates causing boost::posix_time to raise exceptions.
Carl Hetherington [Sun, 12 Jan 2020 23:44:00 +0000 (00:44 +0100)]
Stop invalid dates causing boost::posix_time to raise exceptions.

Backported from 7f05d8fd54632f72a09b6be1b8b4cf692f290b55 in v2.15.x.

13 months agoDon't truncate active_video_frame_rate to an int otherwise setting fade on non-intege...
Carl Hetherington [Fri, 10 Jan 2020 14:20:17 +0000 (15:20 +0100)]
Don't truncate active_video_frame_rate to an int otherwise setting fade on non-integer-rate sources behaves oddly.

Backported from a972af6dcbdb0b8a1c5386d34a0cea2c12738a67 in v2.15.x.

13 months agoGive DCPDecoder its own ::position which just returns its internal v2.14.22
Carl Hetherington [Thu, 9 Jan 2020 23:52:20 +0000 (23:52 +0000)]
Give DCPDecoder its own ::position which just returns its internal
_next time.

This is important because Decoder::position does the wrong thing
with DCPs in the following case.

1.  DCPDecoder emits a subtitle event (start/stop) at time t.
2.  There follows a long time T with no subtitle events.  During
    this time the DCPDecoder's position is reported as t (since
    TextDecoder notes its position as the time of the last thing
    it emitted --- which is all it reasonably can do, I think).
3.  During this T the DCPDecoder may be incorrectly pass()ed because
    its position is reported as earlier than it really is; this results
    in video/audio being emitted by the DCPDecoder but other contemporary
    sources may not be pass()ed.

The upshot of this can be that no audio is emitted, as a contemporary audio
source is not pass()ed and hence the merger is waiting for audio that will
take a long time to come.  When the butler is running this can result in
audio underruns as the video buffers overflow with no sign of any audio.

It is also simpler this way; DCPDecoder was already maintaining the required