<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/piece.h, branch 1771-resample-glitches-take2</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=1771-resample-glitches-take2</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=1771-resample-glitches-take2'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2020-06-23T20:04:04Z</updated>
<entry>
<title>wip.</title>
<updated>2020-06-23T20:04:04Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-23T20:04:04Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=da4e9f8be51a0e064fd87a1e2f096a7ffb59f323'/>
<id>urn:sha1:da4e9f8be51a0e064fd87a1e2f096a7ffb59f323</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Some more piece layer stuff.</title>
<updated>2020-06-22T22:58:23Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-22T22:58:23Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=dc9269b658819ecbe35060fffe176137e613a252'/>
<id>urn:sha1:dc9269b658819ecbe35060fffe176137e613a252</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move two methods into Piece.</title>
<updated>2020-06-22T22:23:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-22T22:23:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ade7cc821117c2c81321a6503bbef3bac61d6fa1'/>
<id>urn:sha1:ade7cc821117c2c81321a6503bbef3bac61d6fa1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move some methods into piece.cc</title>
<updated>2020-06-22T22:14:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-22T22:14:03Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c7dbc5b9e7cd5e7d54b9e46b3db38fae8edad030'/>
<id>urn:sha1:c7dbc5b9e7cd5e7d54b9e46b3db38fae8edad030</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add another piece wrapper.</title>
<updated>2020-06-21T23:38:46Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-21T23:38:46Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=77cfe09ac8cb11a088b164e83309ded5b46a2195'/>
<id>urn:sha1:77cfe09ac8cb11a088b164e83309ded5b46a2195</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move some methods into Piece.</title>
<updated>2020-06-21T23:34:26Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-21T23:34:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=f06f74bb2c6f1ff322eeacf05d8d74cf90a832f8'/>
<id>urn:sha1:f06f74bb2c6f1ff322eeacf05d8d74cf90a832f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add and use Piece::end().</title>
<updated>2020-06-21T23:05:29Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-21T23:05:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ad01cbdca9a1976e234ac17d27d0f544f876e1d5'/>
<id>urn:sha1:ad01cbdca9a1976e234ac17d27d0f544f876e1d5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add and use Piece::position().</title>
<updated>2020-06-21T23:01:23Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-21T23:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=20caf8930ef95badaa3fef822dfc5932af788481'/>
<id>urn:sha1:20caf8930ef95badaa3fef822dfc5932af788481</id>
<content type='text'>
</content>
</entry>
<entry>
<title>In general the player assumes that it won't receive out of order video.</title>
<updated>2018-01-16T21:01:30Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-01-16T21:01:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1aad2c33896ce6222f3c929c7af7fe4ff5fda0f2'/>
<id>urn:sha1:1aad2c33896ce6222f3c929c7af7fe4ff5fda0f2</id>
<content type='text'>
This clearly can happen with separate L/R sources.  A pass in L might
emit two frames which means the arrivals can't possibly be in order.

This commit fixes this by introducing a Shuffler which all alternate-3D
sources send their video to.  The Shuffler re-orders things before they
arrive at the player.

It also fixes the code which inserts video frames before one that arrives
after a gap.  This didn't cope with 3D right before.

The audio code solves a similar (perhaps the same?) problem with the
AudioMerger; perhaps we should have a similar thing for video and make
the player emit complete 3D frames.

Should help with #976.
</content>
</entry>
<entry>
<title>Various fixes to push audio vaguely in the right direction.</title>
<updated>2017-04-19T22:04:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2017-02-21T21:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=89aa9d4ba69e471949f791cdafe4ae20cea554d2'/>
<id>urn:sha1:89aa9d4ba69e471949f791cdafe4ae20cea554d2</id>
<content type='text'>
</content>
</entry>
</feed>
