<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/test, branch v2.16.83</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.16.83</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.16.83'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2024-05-07T23:33:41Z</updated>
<entry>
<title>Work around deadlock when destroying J2KEncoder with a full writer queue (#2784).</title>
<updated>2024-05-07T23:33:41Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-05T19:34:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=32d04ddb5c583938f470ed74bda8a50cc2ec9960'/>
<id>urn:sha1:32d04ddb5c583938f470ed74bda8a50cc2ec9960</id>
<content type='text'>
This feels like a hack, but I can't think of a nicer way to do it.

The interruption disable makes sense because when we destroy encoder threads
during a DCP encode (because a remote server goes away, for example) we don't
want any frames to be lost due to the encode thread being interrupted between
taking the frame off the queue and sending it to the writer.

When we're destroying the encoder we don't care about this, but I can't see
how you'd differentiate.

Maybe the encoder queue could have two lists: to-do and in-progress;
the encoder thread atomically moves a frame from to-do to in-progress,
but then how do you know when the in-progress ones are orphaned and need
to be re-added to the main queue.

You could make the writer return saying "no" if the queue is full (rather
than blocking and waiting for the queue to empty) but that seems wasteful
as then the frame would be re-encoded.
</content>
</entry>
<entry>
<title>Fix hanging/overlapping dvb subtitles (#2792).</title>
<updated>2024-03-31T23:04:43Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-03-31T23:04:41Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=94618a724124cbf5fe9f0b47a3fdce601fcd5581'/>
<id>urn:sha1:94618a724124cbf5fe9f0b47a3fdce601fcd5581</id>
<content type='text'>
This reverts a change made in
8ca6fd6d97e6d42492afddb655fa85130946853c
"Fix doubled subtitles if subtitle stop times are specified."

That change breaks the case where a subtitle _does_ have a stop time,
but it's wrong (30s from the start time) and we want the next subtitle
to clear the previous one.

I can't now see how reverting this could cause doubled subtitles,
so maybe that problem wlil come back.  At least now there's a test
for #2792.
</content>
</entry>
<entry>
<title>Fix failing tests.</title>
<updated>2024-03-20T06:41:24Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-03-11T14:25:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=026f7e95210cafb6b44a1c207041df085ce92d95'/>
<id>urn:sha1:026f7e95210cafb6b44a1c207041df085ce92d95</id>
<content type='text'>
Broken in the fix for #2780, when we started to check that referenced
audio MXFs have the correct number of channels.
</content>
</entry>
<entry>
<title>Fix screen name order in KDM emails.</title>
<updated>2024-03-07T22:33:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-03-07T22:33:03Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=04b5957318df591f56e0a5d39720df143dc8230d'/>
<id>urn:sha1:04b5957318df591f56e0a5d39720df143dc8230d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make DCPExaminer::size() optional and deal with the consequences.</title>
<updated>2024-02-21T17:48:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-21T09:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3ffd0163026be24e5373e0674c3301ed37546e44'/>
<id>urn:sha1:3ffd0163026be24e5373e0674c3301ed37546e44</id>
<content type='text'>
This means we can fix the case of a VF having no known size in a nice way,
in turn fixing problems caused by the fix to #2775.
</content>
</entry>
<entry>
<title>Fix failure to examine non-flat-ratio VFs (#2775).</title>
<updated>2024-02-21T00:27:31Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-21T00:10:23Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a9b1c1cb65e1902a64430977cf698054e131a6f4'/>
<id>urn:sha1:a9b1c1cb65e1902a64430977cf698054e131a6f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Unzipper.</title>
<updated>2024-02-16T22:37:59Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-15T00:05:12Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=befbada161a66a16f8ced89773ad11c0ac5c91e5'/>
<id>urn:sha1:befbada161a66a16f8ced89773ad11c0ac5c91e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't add a font with an empty ID for ccaps either (#2762).</title>
<updated>2024-02-11T22:31:39Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-11T19:13:04Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=eb04ac87ccfa046dd342ca7b9e6478c3bdcabbba'/>
<id>urn:sha1:eb04ac87ccfa046dd342ca7b9e6478c3bdcabbba</id>
<content type='text'>
Previously this was all changed so that for subs we add the default
font in a cleaner way (in db22f81ccce9e1a5f205e6d8b3c0631fc039a173).

I can't see why we shouldn't treat ccaps the same way, and indeed
not doing it causes an error as shown by the included test.
</content>
</entry>
<entry>
<title>Fix apparently ineffective processors when analysing audio (#2671).</title>
<updated>2024-02-11T21:55:27Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-11T12:10:48Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=527093fa643049d370f4daee8206349981edbf95'/>
<id>urn:sha1:527093fa643049d370f4daee8206349981edbf95</id>
<content type='text'>
A whole film ("DCP side") analysis would behave the same as a
single piece of content analysis if the film only had one piece
of content.

Here we also clarify that audio analysis of the whole film is different
to that for a single piece of content; for the whole film we use processors,
and for single pieces of content we do not.
</content>
</entry>
<entry>
<title>Remove apparently out-of-date comment.</title>
<updated>2024-02-06T23:21:44Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-02-06T10:07:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=fbcfa342d9f8d6f1430065ad18a1a1b8f7b925db'/>
<id>urn:sha1:fbcfa342d9f8d6f1430065ad18a1a1b8f7b925db</id>
<content type='text'>
</content>
</entry>
</feed>
