<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/player.h, branch debug/niclas</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=debug%2Fniclas</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=debug%2Fniclas'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2018-02-24T23:35:11Z</updated>
<entry>
<title>Speed some operations by re-using the last PlayerVideo but with</title>
<updated>2018-02-24T23:35:11Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-02-24T01:05:14Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=14cccb179fff7bbbf422e13f9d2e3264239c93c7'/>
<id>urn:sha1:14cccb179fff7bbbf422e13f9d2e3264239c93c7</id>
<content type='text'>
updated metadata (where possible).  Helps with #1194.
</content>
</entry>
<entry>
<title>Fix implementation of delay in 7758260; it needs to apply to</title>
<updated>2018-02-23T00:58:08Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-02-23T00:57:04Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=24ba224ab4871e453df50fde94b5b32649a3d47b'/>
<id>urn:sha1:24ba224ab4871e453df50fde94b5b32649a3d47b</id>
<content type='text'>
anything passed to emit_video(), not just things that come from
decoders.
</content>
</entry>
<entry>
<title>Add a 2-frame `delay' on content arriving at the player to give</title>
<updated>2018-02-20T23:37:24Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-02-20T23:34:59Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a0eff2446835a2a29d751a4810fe182c486a2eb6'/>
<id>urn:sha1:a0eff2446835a2a29d751a4810fe182c486a2eb6</id>
<content type='text'>
subtitle content the chance to catch up.  Fixes problems observed
when overlaying a DCP subtitle onto an existing DCP and then seeking
into the first subtitle.  After the seek the decoder positions were:

DCP: 0.
subtitle: first subtitle time.

This causes the DCP decoder to be pass()ed first and so the subtitle
for the video frame has not arrived yet.

I hope this does not cause unpredicted side effects...
</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>Add comment.</title>
<updated>2018-01-15T23:14:00Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-01-15T23:14:00Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=598483f71fabde104250296ab4bfe4ec70d82d66'/>
<id>urn:sha1:598483f71fabde104250296ab4bfe4ec70d82d66</id>
<content type='text'>
</content>
</entry>
<entry>
<title>A previous commit took care to make Decoder::position() not be updated</title>
<updated>2018-01-02T21:09:36Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-01-02T21:09:36Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2537a2d959a5872c2e75b322022a7679d24c7e60'/>
<id>urn:sha1:2537a2d959a5872c2e75b322022a7679d24c7e60</id>
<content type='text'>
if the data that was emitted from the decoder was not taken by the player.

This means that when the decoder moves into its end trim the position will
stay where it is (since the player does not take the data).

I can't see the point of doing this; the only use of Decoder::position()
is to decide what to pass() next (I think).

It is also inconvenient because we would like to check Decoder::position()
to decide whether to stop passing a decoder since it's in its end trim
(not doing this causes #1154).
</content>
</entry>
<entry>
<title>Fix incorrect reel lengths in some cases; account for emitted data being rejected by the player, and for initial audio not to be at time 0.</title>
<updated>2017-08-29T23:59:26Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2017-08-29T23:59:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9ba99535750e19c341f6ff535c6c8991658a8fbb'/>
<id>urn:sha1:9ba99535750e19c341f6ff535c6c8991658a8fbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Basics of forced reduction of JPEG2000 decode resolution.</title>
<updated>2017-08-14T20:07:49Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2017-08-03T16:54:06Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0253b4e45c71a1c2e2a8bffaf1c3cb84a0a3e41a'/>
<id>urn:sha1:0253b4e45c71a1c2e2a8bffaf1c3cb84a0a3e41a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add some tests; fix failure to make DCP when there is a bit of audio right at the end of the film (with no corresponding video).</title>
<updated>2017-07-12T14:21:31Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2017-07-12T14:21:31Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2517ec798da291dedc02dd7a7a432f7aa63133e4'/>
<id>urn:sha1:2517ec798da291dedc02dd7a7a432f7aa63133e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unused Player::_ignore_audio.  Ignore position</title>
<updated>2017-07-11T13:46:52Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2017-07-11T13:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=081f974c2c75c306d07d5a6f5da6847826a05a9c'/>
<id>urn:sha1:081f974c2c75c306d07d5a6f5da6847826a05a9c</id>
<content type='text'>
of things that we are ignoring; this fixes strange behaviour (delays)
when analysing audio as it used to keep pass()ing decoders to get
data that would never come.
</content>
</entry>
</feed>
