<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/encoder.h, branch v2.9.39</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.9.39</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.9.39'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2016-06-20T14:02:15Z</updated>
<entry>
<title>Encoder shutdown fixes.</title>
<updated>2016-06-20T14:02:15Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-06-20T14:02:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=795e5d916707da498acc7079ae1fb10aa6af6973'/>
<id>urn:sha1:795e5d916707da498acc7079ae1fb10aa6af6973</id>
<content type='text'>
Two fixes here; prevent the servers-list-changed callback being
called when Encoder is being destroyed, and stop ~Encoder throwing
exceptions.

I'm not sure if the catch (...) in ~Encoder will hide problems
that we should be handling, but I think by the time ~Encoder
is happening we'll already have seen any exceptions that we
need to report.
</content>
</entry>
<entry>
<title>Clean up of 3D-&gt;2D conversion.</title>
<updated>2016-06-14T14:07:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-06-14T14:07:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0b6f2d7b04819711228ed5fbc5d299b58cef997e'/>
<id>urn:sha1:0b6f2d7b04819711228ed5fbc5d299b58cef997e</id>
<content type='text'>
It makes slightly more sense to discard 2D in the Transcoder
rather than the Encoder.  Unfortunately this requires quite
invasive changes, mainly to remove Encoder::_position and instead
derive this information from the PlayerVideo that is being handled.
This is also nicer than before, I think.

A notable change is that in player.cc; using time rather than
content_video_to_dcp().  This means we are assuming that the decoder
returns video at the time we ask it to, rather than checking
what it has returned.  I can't think of a problem with this (yet).
</content>
</entry>
<entry>
<title>Remove some flawed condition manipulation.</title>
<updated>2016-06-07T15:05:43Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-06-07T15:05:43Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=538af3d961b5017303cedb56fa35c9be23d1658a'/>
<id>urn:sha1:538af3d961b5017303cedb56fa35c9be23d1658a</id>
<content type='text'>
I think this stuff is unnecessary as wait() is interruptible
by boost::thread::interrupt.  Hence instead of setting a flag
then signalling the condition we can just do interrupt(), the
exception will be thrown and that's that.
</content>
</entry>
<entry>
<title>No-op; fix GPL address and use the explicit-program-name version.</title>
<updated>2016-05-25T19:56:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-05-25T19:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3828baf56467224f5d44049bf1e7a7ed11f43a05'/>
<id>urn:sha1:3828baf56467224f5d44049bf1e7a7ed11f43a05</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename Server -&gt; EncodeServer, ServerFinder -&gt; EncodeServerFinder, ServerDescription -&gt; EncodeServerDescription.</title>
<updated>2015-12-11T11:56:22Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-12-06T19:59:47Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=17df947ac256397311a11894062070f8069c7e75'/>
<id>urn:sha1:17df947ac256397311a11894062070f8069c7e75</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unused variable.</title>
<updated>2015-12-09T14:55:47Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-12-09T14:55:47Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=01d0c14f03698d25af51f7d1a1b3112958da1cf3'/>
<id>urn:sha1:01d0c14f03698d25af51f7d1a1b3112958da1cf3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Various multi-reel fixes.</title>
<updated>2015-10-22T09:30:45Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-10-20T08:55:24Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2c5398adaea8bc56fe196144a9a233981657fba0'/>
<id>urn:sha1:2c5398adaea8bc56fe196144a9a233981657fba0</id>
<content type='text'>
* _video_frames_enqueued -&gt; _position
* some int -&gt; Frame replacements
* Call Writer::ref_write when there is nothing to encode / write
  for one frame.
* Assume Encoder::encode is called once per output video frame.
* Possibly correct some off-by-1 overlap bugs.
* Don't reset _last_written on FAKE write as I believe there is no need.
</content>
</entry>
<entry>
<title>Don't share _terminate.</title>
<updated>2015-09-02T16:03:50Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-09-02T16:03:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b010bf3a39efe65db2251fbbf2640b2d9e539200'/>
<id>urn:sha1:b010bf3a39efe65db2251fbbf2640b2d9e539200</id>
<content type='text'>
_terminate was being shared between enqueue() and the encoding
threads so that when terminating and recreating the encoding
threads any pending enqueue() was dropped (#683).
</content>
</entry>
<entry>
<title>Hack to remove boost atomic dependency.</title>
<updated>2015-09-01T10:22:18Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-09-01T10:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=52b928b4901aa11b00888ce6880de1c64debf426'/>
<id>urn:sha1:52b928b4901aa11b00888ce6880de1c64debf426</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Try to fix build.</title>
<updated>2015-09-01T09:51:37Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-09-01T09:51:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a5729cfb5061b9f4abb6057e6895f379e7654900'/>
<id>urn:sha1:a5729cfb5061b9f4abb6057e6895f379e7654900</id>
<content type='text'>
</content>
</entry>
</feed>
