<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/shuffler.cc, branch v2.17.1</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.17.1</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.17.1'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2022-10-03T23:10:48Z</updated>
<entry>
<title>Change how video timing is done.</title>
<updated>2022-10-03T23:10:48Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-09-29T08:17:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=fb2e821b36c4b50709f3a085131325b668d4ed57'/>
<id>urn:sha1:fb2e821b36c4b50709f3a085131325b668d4ed57</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>C++11 tidying.</title>
<updated>2021-04-30T23:31:35Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-04-30T23:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8963f0007af1a312017b9627c18b82ec2a577591'/>
<id>urn:sha1:8963f0007af1a312017b9627c18b82ec2a577591</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More enum class additions.</title>
<updated>2021-01-31T02:14:24Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-31T02:14:24Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8fedaaa75c4586a4cc7ffb393bd71d1fdb091dc8'/>
<id>urn:sha1:8fedaaa75c4586a4cc7ffb393bd71d1fdb091dc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename debug type THREED to THREED_D.</title>
<updated>2021-01-30T15:33:26Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-30T15:33:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=4985d87750c87019dfe5dc7ef44e12c45326dd0e'/>
<id>urn:sha1:4985d87750c87019dfe5dc7ef44e12c45326dd0e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>BOOST_FOREACH.</title>
<updated>2021-01-07T22:27:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-04T20:32:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a5d004b0773f633401528392fc28e66d70e13ac8'/>
<id>urn:sha1:a5d004b0773f633401528392fc28e66d70e13ac8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std::shared_ptr</title>
<updated>2021-01-07T21:48:29Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-04T20:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26'/>
<id>urn:sha1:dd9be86db6cde0afa5da0d1d1ac43b42e05dca26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a bit more debug logging to the player.</title>
<updated>2020-05-20T19:56:28Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-05-20T18:20:08Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=591ccb82d75070d7cba55995bab23513741ff5cf'/>
<id>urn:sha1:591ccb82d75070d7cba55995bab23513741ff5cf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix weirdly-allowed misplaced bracket.</title>
<updated>2020-03-01T23:31:50Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-03-01T23:31:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=69861be7113fef28bf1cbd9aa6371e5c9b033dd9'/>
<id>urn:sha1:69861be7113fef28bf1cbd9aa6371e5c9b033dd9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unused LOG_DEBUG_DECODE and re-use it to add some 3D shuffler logging.</title>
<updated>2020-03-01T21:58:49Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-03-01T21:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=981100bbff6883ff024b41d4b62e00b2ab8caec4'/>
<id>urn:sha1:981100bbff6883ff024b41d4b62e00b2ab8caec4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixes to 3D shuffler to fix #1463.</title>
<updated>2019-02-13T00:17:10Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-02-13T00:17:10Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=27fbe80bccafe744ca3f96129c9e582f39921891'/>
<id>urn:sha1:27fbe80bccafe744ca3f96129c9e582f39921891</id>
<content type='text'>
Make the shuffler longer; I've seen examples where the video and sound
are over a second apart within the muxed file.

Allow the shuffler to pass through complete missed frames;
e.g. if the input is L1 R1 L3 R3 we can pass that through without
worrying about the missing frame #2.

Add a log warning if the shuffler fills: at this point, 3D sync
may be lost.
</content>
</entry>
</feed>
