<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic, branch v2.15.94</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.15.94</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.15.94'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2020-07-29T20:30:38Z</updated>
<entry>
<title>Don't display all possible channel checkboxes while the analysis</title>
<updated>2020-07-29T20:30:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-29T20:30:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=4b5e05b9845d609524328a88a81011b364e03a8a'/>
<id>urn:sha1:4b5e05b9845d609524328a88a81011b364e03a8a</id>
<content type='text'>
is running as clicking the higher ones will cause an assertion
failure.
</content>
</entry>
<entry>
<title>Fix memory leak which also causes strange flickering in the audio</title>
<updated>2020-07-29T20:29:45Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-29T20:29:45Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6b1d9adcf6e75fc8e441b61108a2169bda6a6094'/>
<id>urn:sha1:6b1d9adcf6e75fc8e441b61108a2169bda6a6094</id>
<content type='text'>
analysis window while the analysis is running.
</content>
</entry>
<entry>
<title>Fix bugs in thread termination causing occasional pthread</title>
<updated>2020-07-29T18:22:54Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-29T18:22:54Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e3c7656f9dc0acbaf518c051b847ee2e4eb7ba23'/>
<id>urn:sha1:e3c7656f9dc0acbaf518c051b847ee2e4eb7ba23</id>
<content type='text'>
assertion failures.

Before this, it was possible for J2KEncoder::terminate_threads()
to finish without terminating all threads if the thread _running_
terminate_threads() was itself interrupt()ed.

This is because the thread_group::join_all() in terminate_threads()
is an interruption point, so it was possible it not to complete
but instead to throw interrupted_exception.  Then the owning
J2KEncoder would be torn down but the threads would still be running,
causing use-after-frees.

This commit adds some boost::this_thread::disable_interruption
objects to ensure that the owning thread is not interrupted while
it is being destroyed.

Also tidy up code that does this stuff, assuming that it's safe
to not call thread::joinable but instead do

thread.interrupt();
try {
  thread.join();
} catch (...) {}
</content>
</entry>
<entry>
<title>Recover information about closed caption tracks when loading DCPs</title>
<updated>2020-07-29T09:44:05Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-29T09:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=09860271bb6d03b3937c08bffb4c672697f6d711'/>
<id>urn:sha1:09860271bb6d03b3937c08bffb4c672697f6d711</id>
<content type='text'>
so that they can be displayed.
</content>
</entry>
<entry>
<title>clang doesn't have -Wmaybe-uninitialized</title>
<updated>2020-07-29T07:28:45Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-29T07:28:45Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2d7ba63fdbe2c91a1ca22ffa5b511ec1a2420b29'/>
<id>urn:sha1:2d7ba63fdbe2c91a1ca22ffa5b511ec1a2420b29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix various problems with the closed caption viewer not being updated properly.</title>
<updated>2020-07-28T20:20:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-28T20:20:19Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d902160e3c89a9f65f58a2463fac0b1de1d940b1'/>
<id>urn:sha1:d902160e3c89a9f65f58a2463fac0b1de1d940b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Some more warning hiding.</title>
<updated>2020-07-28T20:04:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-28T20:04:55Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e83e799c027346681208c57181b28010d01c9b6e'/>
<id>urn:sha1:e83e799c027346681208c57181b28010d01c9b6e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bump lib{dcp,sub}.</title>
<updated>2020-07-28T11:03:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-28T11:03:56Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=cada1f6449cd8bcf848315a2a3da9125a15d71f3'/>
<id>urn:sha1:cada1f6449cd8bcf848315a2a3da9125a15d71f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Give up trying to be selective with -Wno-maybe-uninitialized</title>
<updated>2020-07-28T10:56:20Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-28T10:56:20Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=fba78f24a825995123c7fe06ba4cd92e7afe78ef'/>
<id>urn:sha1:fba78f24a825995123c7fe06ba4cd92e7afe78ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Python syntax typo.</title>
<updated>2020-07-28T10:04:02Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-07-28T10:04:02Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6445498b2128a05692acd00f11bfd1ad85769a51'/>
<id>urn:sha1:6445498b2128a05692acd00f11bfd1ad85769a51</id>
<content type='text'>
</content>
</entry>
</feed>
