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
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
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
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
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.
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.
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.
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.
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
failure.
Cherry-picked from
4b5e05b9845d609524328a88a81011b364e03a8a in
v2.15.x.
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
v2.15.x.
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.
Carl Hetherington [Mon, 27 Jul 2020 22:25:57 +0000 (22:25 +0000)]
Fix export of projects with fewer than 6 channels.
Carl Hetherington [Fri, 22 May 2020 10:55:44 +0000 (12:55 +0200)]
Fix some tab/space problems in cscript.
Carl Hetherington [Thu, 14 May 2020 20:46:58 +0000 (22:46 +0200)]
Follow-up fix for GTK2 and GTK3 WX backends.
Carl Hetherington [Thu, 23 Apr 2020 23:33:58 +0000 (01:33 +0200)]
Hopefully we can use GTK's file chooser button again now.
Carl Hetherington [Thu, 14 May 2020 20:09:06 +0000 (22:09 +0200)]
Try to allow build on Ubuntu 20.04.
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.
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
Carl Hetherington [Fri, 13 Sep 2019 21:17:03 +0000 (22:17 +0100)]
Tidy some grammar and remove a silly colloquialism.
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).
Carl Hetherington [Tue, 10 Mar 2020 22:40:31 +0000 (23:40 +0100)]
Bump libdcp to hopefully prevent segfaults in CertificateChain::private_key_valid.
Carl Hetherington [Fri, 6 Mar 2020 23:57:53 +0000 (23:57 +0000)]
Fix missed subclass of Job in the tests.
Carl Hetherington [Fri, 6 Mar 2020 21:10:00 +0000 (21:10 +0000)]
s/destroy_thread/stop_thread/
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.
Carl Hetherington [Sun, 1 Mar 2020 20:52:00 +0000 (21:52 +0100)]
Missing patron.
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.
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.
Carl Hetherington [Thu, 27 Feb 2020 20:39:57 +0000 (21:39 +0100)]
Make content list and buttons taller on low-res displays.
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.
Carl Hetherington [Fri, 21 Feb 2020 00:16:51 +0000 (00:16 +0000)]
Missing #include.
Carl Hetherington [Thu, 20 Feb 2020 16:41:22 +0000 (16:41 +0000)]
Fix non-aligned subtitle access in the subtitle examiner as well.
Carl Hetherington [Thu, 20 Feb 2020 15:25:17 +0000 (16:25 +0100)]
Allow macOS builds against 10.6 (universal) or 10.9 (thin).
Carl Hetherington [Wed, 19 Feb 2020 16:17:39 +0000 (16:17 +0000)]
Cleanups to normalise master and 2.15.x better.
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.
Carl Hetherington [Tue, 18 Feb 2020 22:46:02 +0000 (23:46 +0100)]
Fix errors with TYPE_3D introduced in video timestamping fix.
Carl Hetherington [Tue, 18 Feb 2020 22:45:20 +0000 (23:45 +0100)]
Re-throw butler errors at the end of an encode.
Carl Hetherington [Tue, 18 Feb 2020 22:44:46 +0000 (23:44 +0100)]
Report when butler returns no video because it died.
Carl Hetherington [Tue, 18 Feb 2020 22:42:25 +0000 (23:42 +0100)]
Add compile_commands.json symlink.
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
Carl Hetherington [Tue, 18 Feb 2020 19:17:39 +0000 (20:17 +0100)]
Write logs during tests to a file.
Carl Hetherington [Tue, 18 Feb 2020 19:17:28 +0000 (20:17 +0100)]
Remove unused variable.
Carl Hetherington [Tue, 18 Feb 2020 19:17:15 +0000 (20:17 +0100)]
Remove incorrect comment.
Carl Hetherington [Tue, 18 Feb 2020 19:17:04 +0000 (20:17 +0100)]
Missed part of new video timing patch.
Carl Hetherington [Sun, 16 Feb 2020 20:15:12 +0000 (21:15 +0100)]
Better errors if butler doesn't give video during export.
Carl Hetherington [Sun, 16 Feb 2020 21:05:49 +0000 (21:05 +0000)]
Better assertion error in copy_from.
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.
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
recursively.
Backported from
df48c75c38dd788835a93540aea243a2dac4bb10 in v2.15.x
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.
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.
Carl Hetherington [Tue, 28 Jan 2020 11:49:08 +0000 (12:49 +0100)]
Add new script.
Carl Hetherington [Tue, 28 Jan 2020 11:49:00 +0000 (12:49 +0100)]
Various improvements to make_dummy_files
Carl Hetherington [Mon, 27 Jan 2020 23:22:30 +0000 (23:22 +0000)]
Update for new test/data file.
Carl Hetherington [Mon, 27 Jan 2020 23:19:52 +0000 (23:19 +0000)]
Fix crash with sub-sample push parts in AudioMerger.
Carl Hetherington [Mon, 27 Jan 2020 23:11:59 +0000 (23:11 +0000)]
Add header guard.
Carl Hetherington [Mon, 27 Jan 2020 23:08:49 +0000 (23:08 +0000)]
Add some temporary 'instrumentation' of AudioMerger.
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.
Carl Hetherington [Fri, 24 Jan 2020 00:21:25 +0000 (01:21 +0100)]
Bump libsub for build fix.
Carl Hetherington [Thu, 23 Jan 2020 14:37:37 +0000 (15:37 +0100)]
Support binary STL subtitle files.
Carl Hetherington [Fri, 17 Jan 2020 00:21:44 +0000 (01:21 +0100)]
Add patron.
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
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.
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.
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.
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.
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
information.
Carl Hetherington [Thu, 9 Jan 2020 22:22:22 +0000 (23:22 +0100)]
Update text panel 'why not' note when film's standard is changed.
Carl Hetherington [Tue, 7 Jan 2020 20:35:54 +0000 (21:35 +0100)]
Update patreon username.
Carl Hetherington [Tue, 7 Jan 2020 20:30:15 +0000 (21:30 +0100)]
Try to add FUNDING.yml.
Carl Hetherington [Tue, 7 Jan 2020 14:42:00 +0000 (14:42 +0000)]
Fix typo causing failures to update the preview after changing
end trim (#1709 and probably #1434).
Carl Hetherington [Tue, 7 Jan 2020 12:30:56 +0000 (13:30 +0100)]
Extend the amount of allowed disagreement between the audio
coming from the content and the calculated periods of silence.
It sees that there is some scope for disagreements here when
trim start/end times are rounded to frame boundaries.
Fixes #1708.
Carl Hetherington [Fri, 3 Jan 2020 01:29:24 +0000 (02:29 +0100)]
Fix failure to save screen notes when making a new one (github bug #6).
Carl Hetherington [Fri, 27 Dec 2019 22:40:18 +0000 (23:40 +0100)]
Add --config option to dcpomatic2 (#1703).
Carl Hetherington [Fri, 27 Dec 2019 22:16:05 +0000 (23:16 +0100)]
Add --version option to main DCP-o-matic.
Carl Hetherington [Thu, 19 Dec 2019 22:56:49 +0000 (22:56 +0000)]
Remove our forcing of analyzeduration and probesize as they seem to
cause weird problems when scanning some files. The unit test case
added here is a case in point: before this patch one
stream reported an incorrect channel count and sample rate.
It's a bit worrying as these parameters have been in DoM for many years,
but perhaps they have become unnecessary / harmful with changes to FFmpeg.
Carl Hetherington [Wed, 18 Dec 2019 22:37:29 +0000 (23:37 +0100)]
Accept float fps when getting timecodes from the Timecode control
otherwise inaccurate values are returned for non-integer rates.
Should fix #1694.
Carl Hetherington [Mon, 16 Dec 2019 23:00:12 +0000 (23:00 +0000)]
Flush audio decoder when a DCPDecoder finishes so that
resamplers are emptied and hence we don't lose any
samples. Fixes #1691.
Carl Hetherington [Mon, 16 Dec 2019 20:03:19 +0000 (21:03 +0100)]
Restore old v2.14.x version of test reference.
Carl Hetherington [Sun, 15 Dec 2019 22:35:03 +0000 (23:35 +0100)]
Stop empty Font IDs in imported DCP subtitles making it into the
output DCP (#1689).
Back-ported from
d8d4225a3e488cf78438b80938aa18fd07d30a06 in v2.15.x
Carl Hetherington [Sun, 15 Dec 2019 22:28:58 +0000 (23:28 +0100)]
Update test/data and make a branch for v2.14.x there.
Carl Hetherington [Tue, 10 Dec 2019 22:43:09 +0000 (22:43 +0000)]
Make terminate_threads() less likely to leave _threads containing invalid pointers.
Carl Hetherington [Mon, 9 Dec 2019 23:01:28 +0000 (00:01 +0100)]
dcpomatic_create should respond to --version on stdout, not stderr (#1686)
Carl Hetherington [Mon, 2 Dec 2019 23:24:05 +0000 (00:24 +0100)]
Fix typo.
Carl Hetherington [Mon, 2 Dec 2019 13:50:31 +0000 (13:50 +0000)]
Try to do the previous commit in a more compatible way.
Carl Hetherington [Sun, 1 Dec 2019 23:04:30 +0000 (23:04 +0000)]
More detailed errors from zip_close.
Carl Hetherington [Sat, 30 Nov 2019 21:38:21 +0000 (21:38 +0000)]
More accurate video pts calculation; may help with #1663.
Carl Hetherington [Sat, 30 Nov 2019 19:25:48 +0000 (20:25 +0100)]
Fix crash when exporting a 2D project containing 3D content (#1680).
Carl Hetherington [Fri, 29 Nov 2019 16:01:51 +0000 (17:01 +0100)]
Catch attempts to make a DCP when all content has been trimmed to zero length.
Carl Hetherington [Tue, 26 Nov 2019 19:26:22 +0000 (20:26 +0100)]
Add the same fonts.conf change that OS X has to Windows so that it,
too, can do fake bold/italic (slanted/oblique). It looks like this
is necessary to see italics with the bundled fonts.
Carl Hetherington [Sun, 24 Nov 2019 22:17:51 +0000 (23:17 +0100)]
Properly ignore empty asset path errors that do not lead to missing asset errors.
Carl Hetherington [Sun, 17 Nov 2019 16:26:01 +0000 (17:26 +0100)]
Try to do -Wno-deprecated-copy only on Linux.
Carl Hetherington [Sun, 17 Nov 2019 11:20:33 +0000 (12:20 +0100)]
Quell some warnings.
Carl Hetherington [Sun, 17 Nov 2019 10:47:49 +0000 (11:47 +0100)]
Bump deps for Python 3 build compatibility.
Carl Hetherington [Fri, 8 Nov 2019 16:21:19 +0000 (17:21 +0100)]
Fix no-stretch / no-scale for non-square pixels (#1636).
Backported from
ee0f2219f3799881bc9f5060edd2ceeecff4217d in v2.15.x
Carl Hetherington [Mon, 4 Nov 2019 19:44:13 +0000 (20:44 +0100)]
Add some new Waker calls.
Backported from
052ec34bd487a3645013e87a7062738284d050df in v2.15.x
Carl Hetherington [Mon, 4 Nov 2019 15:38:14 +0000 (16:38 +0100)]
Fix incorrect images when cropping without stretch.
Always overallocate images so that Image::crop_scale_window is always
safe from over-reading buffers. Relates to #1654 and probably #1653.
Backported from
7b0372776ac4da6a8e4ff29f41a4f08b9b4de506 in v2.15.x.
Carl Hetherington [Tue, 12 Nov 2019 19:58:21 +0000 (19:58 +0000)]
Copy test fix from v2.15.x.
Carl Hetherington [Thu, 31 Oct 2019 20:45:41 +0000 (21:45 +0100)]
Make separate reels for parts of the timeline with no video when
we are in REEL_TYPE_BY_VIDEO_CONTENT mode. This fixes VF creation
with gaps. Also the implementation of Film::reels() is cleaner now.
Backport of
122bea7f0e08e07dcdaccd51751a9c83504f4c04 from master.
Carl Hetherington [Thu, 31 Oct 2019 19:34:53 +0000 (20:34 +0100)]
Fix incorrect reels when the first content is not at time 0.
With REELTYPE_BY_VIDEO_CONTENT the first reel would not start at 0.
Backport of
b950f49fa893e71545eaf9c0abe8a453d42a4340 from master.
Carl Hetherington [Mon, 11 Nov 2019 20:26:40 +0000 (21:26 +0100)]
Bump libdcp for fix to #1650.
Carl Hetherington [Mon, 11 Nov 2019 20:19:28 +0000 (20:19 +0000)]
Add a warning message about Windows controlled folder access.