Carl Hetherington [Mon, 28 Nov 2022 06:32:16 +0000 (07:32 +0100)]
Update test/data for missed change to Windows-specific reference.
Carl Hetherington [Sun, 27 Nov 2022 20:01:10 +0000 (21:01 +0100)]
Rebase test/data to get some changes from v2.16.x.
Carl Hetherington [Thu, 29 Sep 2022 08:17:50 +0000 (10:17 +0200)]
Change how video timing is done.
This commit changes the approach with video timing. Previously,
we would (more-or-less) try to use every video frame from the content
in the output, hoping that they come at a constant frame rate.
This is not always the case, however. Here we preserve the PTS
of video frames, and then when one arrives we output whatever
DCP video frames we can (at the regular DCP frame rate).
Hopefully this will solve a range of sync problems, but it
could also introduce new ones.
Carl Hetherington [Wed, 28 Sep 2022 23:03:43 +0000 (01:03 +0200)]
Add operator* for Time and int.
Carl Hetherington [Wed, 28 Sep 2022 21:59:06 +0000 (23:59 +0200)]
Write player debug logs from tests on -- --log=debug-player
Carl Hetherington [Sun, 2 Oct 2022 19:55:55 +0000 (21:55 +0200)]
Cleanup: fix name of film to match test.
Carl Hetherington [Sat, 1 Oct 2022 10:05:33 +0000 (12:05 +0200)]
Fix FFmpegExaminer termination condition when there is no video;
it's hard to see how this ever worked.
Carl Hetherington [Fri, 30 Sep 2022 20:46:33 +0000 (22:46 +0200)]
Bump ffmpeg to 5.1.2 "Riemann"
Carl Hetherington [Sat, 10 Sep 2022 22:10:22 +0000 (00:10 +0200)]
Normalise XML attribute names to be camelCase (#2241).
Carl Hetherington [Mon, 26 Sep 2022 18:20:16 +0000 (20:20 +0200)]
Use 2.18.x subdirectory for configuration.
Carl Hetherington [Sat, 26 Nov 2022 17:41:20 +0000 (18:41 +0100)]
Supporters update.
Carl Hetherington [Sat, 1 Oct 2022 18:11:40 +0000 (20:11 +0200)]
Return AVERROR_EOF from the avio_read method when appropriate.
Carl Hetherington [Tue, 22 Nov 2022 01:16:40 +0000 (02:16 +0100)]
Fix audio glitches when merging resampled audio (#2373).
Carl Hetherington [Tue, 22 Nov 2022 01:16:16 +0000 (02:16 +0100)]
Noisy change to get film into AudioContent::modify_trim_start().
Carl Hetherington [Tue, 22 Nov 2022 00:48:37 +0000 (01:48 +0100)]
Remove some backwards compatibility that will cause problems in an upcoming commit.
Carl Hetherington [Tue, 22 Nov 2022 00:29:15 +0000 (01:29 +0100)]
Add another test, including a frame rate change.
Carl Hetherington [Tue, 22 Nov 2022 00:28:24 +0000 (01:28 +0100)]
Give a slightly better error message in a failing test.
Carl Hetherington [Mon, 21 Nov 2022 13:00:17 +0000 (14:00 +0100)]
Add failing test for #2373.
Carl Hetherington [Sun, 20 Nov 2022 21:03:38 +0000 (22:03 +0100)]
_stream_states must be reset on seek otherwise #2368.
Carl Hetherington [Sat, 19 Nov 2022 16:16:38 +0000 (17:16 +0100)]
Fix sound corruption with multiple sound files (#2368).
last_push_end would be initialised to the position of the content,
meaning that content at (for example) 60s into the project would
be treated as the leader, and content much earlier would then be
considered finished by the code which checks ignore_streams_behind
(as its last push was more then 5s before the leader).
This caused audio corruption, shown up by the test here.
Carl Hetherington [Sat, 19 Nov 2022 16:16:17 +0000 (17:16 +0100)]
Cleanup: use dcp_file().
Carl Hetherington [Fri, 25 Nov 2022 15:29:17 +0000 (16:29 +0100)]
More warning fixes.
Carl Hetherington [Fri, 25 Nov 2022 14:35:38 +0000 (15:35 +0100)]
More warning fixes.
Carl Hetherington [Fri, 25 Nov 2022 08:56:23 +0000 (09:56 +0100)]
Fix more warnings.
Carl Hetherington [Thu, 24 Nov 2022 23:43:28 +0000 (00:43 +0100)]
Fix warnings.
Carl Hetherington [Wed, 23 Nov 2022 23:38:58 +0000 (00:38 +0100)]
Allow a slightly worrying amount of error so that the Windows tests
that rely on font metrics still pass.
Carl Hetherington [Thu, 24 Nov 2022 09:20:19 +0000 (10:20 +0100)]
Bump libdcp for new equality option for subtitles.
Carl Hetherington [Thu, 24 Nov 2022 22:56:38 +0000 (23:56 +0100)]
Extract RegionSubtagDialog to its own files.
Carl Hetherington [Thu, 24 Nov 2022 22:45:31 +0000 (23:45 +0100)]
Extract LanguageSubtagPanel to its own files.
Carl Hetherington [Thu, 24 Nov 2022 22:30:01 +0000 (23:30 +0100)]
Extract SubtagListCtrl to its own files.
Carl Hetherington [Tue, 22 Nov 2022 23:31:41 +0000 (00:31 +0100)]
Fix player config window on macOS (#2376).
Carl Hetherington [Wed, 23 Nov 2022 20:20:14 +0000 (21:20 +0100)]
Fix crash when adding cinemas while a search is in force (#2378).
Carl Hetherington [Wed, 23 Nov 2022 20:03:59 +0000 (21:03 +0100)]
Cleanup: extract sorted_cinemas().
Carl Hetherington [Wed, 23 Nov 2022 20:03:52 +0000 (21:03 +0100)]
Cleanup: const correctness.
Carl Hetherington [Wed, 23 Nov 2022 19:41:16 +0000 (20:41 +0100)]
Cleanup: add convert_to_lower() and matches_search().
Carl Hetherington [Tue, 22 Nov 2022 22:18:04 +0000 (23:18 +0100)]
Be a bit more defensive in a test that is failing on Windows.
Carl Hetherington [Tue, 22 Nov 2022 20:03:34 +0000 (21:03 +0100)]
Bump private git so that we use Liberation Sans rather than Arial for a subtitle test.
Carl Hetherington [Tue, 22 Nov 2022 20:01:33 +0000 (21:01 +0100)]
Only check test private data if --check is passed.
Carl Hetherington [Tue, 22 Nov 2022 11:22:43 +0000 (12:22 +0100)]
Check that the private test data repo is as we expect before running tests on Linux/macOS.
Carl Hetherington [Mon, 21 Nov 2022 23:43:51 +0000 (00:43 +0100)]
Fix some missing test reference updates for vpos changes.
Carl Hetherington [Mon, 21 Nov 2022 22:02:38 +0000 (23:02 +0100)]
Fix test/data detachment SNAFU.
Carl Hetherington [Fri, 18 Nov 2022 09:56:42 +0000 (10:56 +0100)]
Fix subtitle vertical position (#2367).
Previously we would not account for the differences in what vertical
position means between Interop and SMPTE. For interop, vertical
position is the distance from the reference point to the text
baseline, whereas for SMPTE it is the distance from the reference
point to the top/middle/bottom of the subtitle (depending on the
reference).
This caused differences between the preview and the DCP for some
cases (notably, using SRT/SSA and making Interop DCPs, or converting
Interop DCP subs to SMPTE, or vice versa).
Carl Hetherington [Sun, 20 Nov 2022 23:26:10 +0000 (00:26 +0100)]
Click on the timeline time axis view moves the playhead (#2369).
Carl Hetherington [Sun, 20 Nov 2022 23:24:41 +0000 (00:24 +0100)]
Fix TimelineTimeAxisView::bbox() to be correct.
Carl Hetherington [Sun, 20 Nov 2022 23:24:31 +0000 (00:24 +0100)]
Move y_pos to TimelineView.
Carl Hetherington [Sun, 20 Nov 2022 23:24:04 +0000 (00:24 +0100)]
Remove unused line.
Carl Hetherington [Tue, 15 Nov 2022 22:14:56 +0000 (23:14 +0100)]
Bundle dcpkdm from libdcp as dcpomatic2_kdm_inspect (#2366).
Carl Hetherington [Wed, 16 Nov 2022 08:24:16 +0000 (09:24 +0100)]
Supporters update.
Carl Hetherington [Tue, 15 Nov 2022 22:54:08 +0000 (23:54 +0100)]
Add comment to try to clarify _dcp_content_types a little for translators.
Carl Hetherington [Tue, 15 Nov 2022 22:09:15 +0000 (23:09 +0100)]
Add David Perrenoud to translators list.
David Perrenoud [Tue, 15 Nov 2022 17:02:44 +0000 (18:02 +0100)]
Updated fr_FR translation from David Perrenoud.
Carl Hetherington [Mon, 14 Nov 2022 23:44:37 +0000 (00:44 +0100)]
Improve flushing behaviour when there is a lot of space to fill (#2364).
Previously a call to flush() could result in a lot of audio being
emitted from the decoder (if there is a big gap between the end
of the audio and the video). This would end up being emitted in
one chunk from the player, crashing the audio analyser with an OOM
in some cases.
Carl Hetherington [Mon, 14 Nov 2022 23:43:33 +0000 (00:43 +0100)]
Clarify one log message and add another.
Carl Hetherington [Mon, 14 Nov 2022 23:35:20 +0000 (00:35 +0100)]
Add failing test for #2364.
Carl Hetherington [Sun, 13 Nov 2022 23:26:48 +0000 (00:26 +0100)]
Basic WebVTT subtitle support (#1361).
Carl Hetherington [Sat, 12 Nov 2022 00:11:53 +0000 (01:11 +0100)]
Cleanup: whitespace.
Carl Hetherington [Thu, 10 Nov 2022 22:48:46 +0000 (23:48 +0100)]
Fix macOS build.
Carl Hetherington [Thu, 10 Nov 2022 10:29:50 +0000 (11:29 +0100)]
Bump libsub for fix unicode LINE SEPARATOR in subtitles.
Carl Hetherington [Wed, 9 Nov 2022 23:08:19 +0000 (00:08 +0100)]
Fix uninitialised variable.
Carl Hetherington [Sun, 6 Nov 2022 22:54:59 +0000 (23:54 +0100)]
Fix error message.
Carl Hetherington [Sun, 6 Nov 2022 21:00:55 +0000 (22:00 +0100)]
Cleanup: J2KEncoder does not need enable_shared_from_this.
Carl Hetherington [Sat, 5 Nov 2022 20:37:10 +0000 (21:37 +0100)]
Cleanup: Player does not need enable_shared_from_this.
Carl Hetherington [Wed, 19 Oct 2022 20:31:12 +0000 (22:31 +0200)]
Cleanup: remove unnecessary explicit.
Carl Hetherington [Tue, 6 Sep 2022 19:02:42 +0000 (21:02 +0200)]
Cleanup: use default value in header.
Carl Hetherington [Tue, 6 Sep 2022 18:50:24 +0000 (20:50 +0200)]
Cleanup: better variable name.
Carl Hetherington [Sun, 6 Nov 2022 22:44:53 +0000 (23:44 +0100)]
Hide the endless stream of warnings from wx/GTK.
Carl Hetherington [Sun, 6 Nov 2022 22:44:33 +0000 (23:44 +0100)]
Extract ImageStore.
Carl Hetherington [Sun, 6 Nov 2022 22:19:00 +0000 (23:19 +0100)]
Strictly I think we should be putting each component of an image into _pending_images.
We probably get away with only keeping component 0 but I think that could perhaps lead
to use-after-free as the Image for components 1 and 2 could go away a bit before
it should.
Carl Hetherington [Fri, 4 Nov 2022 10:40:23 +0000 (11:40 +0100)]
Fix build on macOS and Windows.
Carl Hetherington [Wed, 2 Nov 2022 21:39:49 +0000 (22:39 +0100)]
Bump libdcp for subtitle Z-position fixes (#2356).
Carl Hetherington [Thu, 3 Nov 2022 08:24:40 +0000 (09:24 +0100)]
Fix test references for passive option change.
Carl Hetherington [Tue, 1 Nov 2022 23:18:56 +0000 (00:18 +0100)]
Cleanup: use new CheckBox::bind().
Carl Hetherington [Tue, 1 Nov 2022 20:11:40 +0000 (21:11 +0100)]
Enable some debug logging for TMS upload.
Carl Hetherington [Tue, 1 Nov 2022 19:58:10 +0000 (20:58 +0100)]
Add passive mode option to TMS upload.
Disabling this fixes TMS upload with some FTP servers
(reported on a Synology NAS).
Carl Hetherington [Tue, 1 Nov 2022 19:57:55 +0000 (20:57 +0100)]
Add get() and bind() to CheckBox.
Carl Hetherington [Thu, 27 Oct 2022 21:13:24 +0000 (23:13 +0200)]
Throw exception if av_frame_alloc() fails.
Carl Hetherington [Thu, 27 Oct 2022 08:54:27 +0000 (10:54 +0200)]
Add tooltip to player DCP name with path details.
Carl Hetherington [Thu, 27 Oct 2022 08:41:45 +0000 (10:41 +0200)]
Fix player with high-frame-rate DCPs.
Carl Hetherington [Wed, 26 Oct 2022 17:47:03 +0000 (19:47 +0200)]
Supporters update.
Carl Hetherington [Wed, 26 Oct 2022 17:45:11 +0000 (19:45 +0200)]
Fix player being destroyed while the butler is still using it.
Carl Hetherington [Wed, 26 Oct 2022 17:41:23 +0000 (19:41 +0200)]
Remove unnecessary copy constructors (default ones are OK).
Carl Hetherington [Wed, 26 Oct 2022 17:41:12 +0000 (19:41 +0200)]
Allow move construction of Player.
Carl Hetherington [Wed, 26 Oct 2022 13:16:36 +0000 (15:16 +0200)]
Allow move construction of AudioMerger.
Carl Hetherington [Wed, 26 Oct 2022 13:16:30 +0000 (15:16 +0200)]
Allow move construction of ActiveText.
Carl Hetherington [Tue, 25 Oct 2022 19:24:11 +0000 (21:24 +0200)]
Further test/data SNAFU.
Carl Hetherington [Tue, 25 Oct 2022 17:38:11 +0000 (19:38 +0200)]
Fix mangling of the v2.16.x test/data commit somewhere along the line.
Carl Hetherington [Mon, 24 Oct 2022 18:37:02 +0000 (20:37 +0200)]
Hopefully fix crash when the same frame is encoded twice.
Previously if some frame X was passed to the encoder twice
I think this would happen:
X1 written; X stored to _pending_images
X2 written; _pending_images remains the same
X1 encode finishes; X is discarded from _pending_images
Data for X2 is read by the encoder but was just freed
I think this might have resulted in intermittent crashes, which were
fairly common in the 2.17.x branch with the test
ffmpeg_encoder_prores_regression_1
But I didn't conclusively prove it.
Carl Hetherington [Mon, 24 Oct 2022 22:16:44 +0000 (00:16 +0200)]
Fix missing switch of Append -> add (#2358).
Carl Hetherington [Sun, 23 Oct 2022 19:50:18 +0000 (21:50 +0200)]
Add Daniel Courville to testers.
Carl Hetherington [Fri, 21 Oct 2022 10:55:44 +0000 (12:55 +0200)]
Fix colour range property for subsampled sources (#2357).
Carl Hetherington [Wed, 19 Oct 2022 12:23:19 +0000 (14:23 +0200)]
Fix macOS 10.8 build.
Carl Hetherington [Tue, 18 Oct 2022 22:31:13 +0000 (00:31 +0200)]
Supporters update.
Carl Hetherington [Wed, 17 Aug 2022 15:05:43 +0000 (17:05 +0200)]
Add search to DKDM list (#2298).
Carl Hetherington [Tue, 18 Oct 2022 21:29:21 +0000 (23:29 +0200)]
Cleanup: 0 -> nullptr.
Carl Hetherington [Wed, 17 Aug 2022 15:45:35 +0000 (17:45 +0200)]
Extract Collator class.
Carl Hetherington [Tue, 18 Oct 2022 19:46:45 +0000 (21:46 +0200)]
Supporters update.
Carl Hetherington [Tue, 18 Oct 2022 18:37:14 +0000 (20:37 +0200)]
Improve the appearance of things in macOS dark mode in various ways.
Carl Hetherington [Mon, 17 Oct 2022 18:36:55 +0000 (20:36 +0200)]
Improve timeline view colouring in dark mode.
Carl Hetherington [Sun, 16 Oct 2022 22:46:05 +0000 (00:46 +0200)]
Use different icons for the timeline in dark/light modes.
Carl Hetherington [Sun, 16 Oct 2022 21:53:03 +0000 (23:53 +0200)]
Move timeline tools into a single .svg and tidy them up a bit.