<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/dcp_decoder.cc, branch v2.14.34</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.14.34</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.14.34'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2020-02-19T16:02:27Z</updated>
<entry>
<title>New way of checking for 2D content mislabelled as 3D (#1565).</title>
<updated>2020-02-19T16:02:27Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-02-19T16:02:24Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3443fdbc38f56f4c83776d000f6aa61d00305cc8'/>
<id>urn:sha1:3443fdbc38f56f4c83776d000f6aa61d00305cc8</id>
<content type='text'>
Required because of the change to the way video frame timing
is done.
</content>
</entry>
<entry>
<title>Give DCPDecoder its own ::position which just returns its internal</title>
<updated>2020-01-09T23:52:20Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-01-09T23:52:20Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=4285355ff2bec853924647f0523d121860fe64e3'/>
<id>urn:sha1:4285355ff2bec853924647f0523d121860fe64e3</id>
<content type='text'>
_next time.

This is important because Decoder::position does the wrong thing
with DCPs in the following case.

1.  DCPDecoder emits a subtitle event (start/stop) at time t.
2.  There follows a long time T with no subtitle events.  During
    this time the DCPDecoder's position is reported as t (since
    TextDecoder notes its position as the time of the last thing
    it emitted --- which is all it reasonably can do, I think).
3.  During this T the DCPDecoder may be incorrectly pass()ed because
    its position is reported as earlier than it really is; this results
    in video/audio being emitted by the DCPDecoder but other contemporary
    sources may not be pass()ed.

The upshot of this can be that no audio is emitted, as a contemporary audio
source is not pass()ed and hence the merger is waiting for audio that will
take a long time to come.  When the butler is running this can result in
audio underruns as the video buffers overflow with no sign of any audio.

It is also simpler this way; DCPDecoder was already maintaining the required
information.
</content>
</entry>
<entry>
<title>Flush audio decoder when a DCPDecoder finishes so that</title>
<updated>2019-12-16T23:00:12Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-12-16T23:00:12Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1444299fa4582fc65c5237edd6c115921f20f872'/>
<id>urn:sha1:1444299fa4582fc65c5237edd6c115921f20f872</id>
<content type='text'>
resamplers are emptied and hence we don't lose any
samples.  Fixes #1691.
</content>
</entry>
<entry>
<title>Fix dying butler on changing CPL from one without to one with</title>
<updated>2019-10-30T21:39:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-10-30T21:39:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=da39ed1516f2463f8a9bf4795a94f23d420c9ca3'/>
<id>urn:sha1:da39ed1516f2463f8a9bf4795a94f23d420c9ca3</id>
<content type='text'>
subtitles (#1641).
</content>
</entry>
<entry>
<title>Don't set up decoder parts for DCPs unless they can be played</title>
<updated>2019-04-19T23:29:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-04-19T23:29:55Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5fd2395577ff5eedca060e8b333129ad6de9aa27'/>
<id>urn:sha1:5fd2395577ff5eedca060e8b333129ad6de9aa27</id>
<content type='text'>
(i.e. are not encrypted and not missing assets).  Fixes full audio
buffers on locates with large encrypted DCPs and no KDMs; in these
cases silent audio is created by the fill_audio() at the bottom of
Player::pass() but no video is created by anybody.
</content>
</entry>
<entry>
<title>Support PNG subs in DCPSubtitleDecoder (#1479).</title>
<updated>2019-03-08T23:23:49Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-03-08T23:23:49Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6e5c998593842ff76f5d0ae5cab0d03cbe11b607'/>
<id>urn:sha1:6e5c998593842ff76f5d0ae5cab0d03cbe11b607</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Put Film pointer into Decoder.</title>
<updated>2018-11-21T02:45:30Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-11-21T02:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=84012cdd64f451891febd36154b7226ea21a899b'/>
<id>urn:sha1:84012cdd64f451891febd36154b7226ea21a899b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Take Film pointer out of Content.</title>
<updated>2018-11-21T01:59:04Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-11-21T01:59:04Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=254b3044d72de6b033d7c584f5abd2b9aa70aad5'/>
<id>urn:sha1:254b3044d72de6b033d7c584f5abd2b9aa70aad5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Collect subtitles at the same time before emitting them from</title>
<updated>2018-10-16T15:02:39Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-10-16T15:02:39Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c75484af73d38b00a4f27143f8e434b6f25bf355'/>
<id>urn:sha1:c75484af73d38b00a4f27143f8e434b6f25bf355</id>
<content type='text'>
DCPDecoder.  Prevents overlaid text in, for example, lines with
partial italic.
</content>
</entry>
<entry>
<title>Change MagickImageProxy to FFmpegImageProxy and make it use FFmpeg</title>
<updated>2018-10-11T23:46:00Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-10-11T23:46:00Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=72b11d5eb036651b6ff68edf3ed270e8fc52960f'/>
<id>urn:sha1:72b11d5eb036651b6ff68edf3ed270e8fc52960f</id>
<content type='text'>
to decode images.  Hence remove {Image,Graphics}Magick.
</content>
</entry>
</feed>
