<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/audio_decoder.h, branch disk-opt</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=disk-opt</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=disk-opt'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2021-01-07T21:48:29Z</updated>
<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>Obey audio timestamps if they don't deviate by more than some threshold.</title>
<updated>2020-12-02T23:23:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-28T23:51:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8798bfab1539c3ac6031bb325e1b181c58b13fc5'/>
<id>urn:sha1:8798bfab1539c3ac6031bb325e1b181c58b13fc5</id>
<content type='text'>
Previously we would ignore audio timestamps because they are not
contiguous in a sample-accurate way.

However with bugs like #1833 we do need to obey large discontinuities
in audio timestamps, otherwise we get large sync errors.

Here we change timestamp handling to ignore small discontinuities
in timestamps but not larger ones.
</content>
</entry>
<entry>
<title>Remove out-of-date comment.</title>
<updated>2020-06-21T19:25:17Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-06-21T19:25:17Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9e5d71ceede8bcafc1e401814b38e2fc8b17e9c7'/>
<id>urn:sha1:9e5d71ceede8bcafc1e401814b38e2fc8b17e9c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make DecoderPart::_position an optional.</title>
<updated>2019-11-11T13:15:44Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-11-10T21:51:55Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0e8a1ab7c41756115f44229053e1e7024530fb32'/>
<id>urn:sha1:0e8a1ab7c41756115f44229053e1e7024530fb32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Put Time types in dcpomatic namespace.</title>
<updated>2019-05-10T22:43:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-05-08T22:41:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c4403784febdbdd42e9c32e67fadb147f11fe566'/>
<id>urn:sha1:c4403784febdbdd42e9c32e67fadb147f11fe566</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>Tidy up with some typedefs.</title>
<updated>2018-03-05T01:12:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-03-05T01:12:32Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=112826fec70f99de7d0b81d152b759d2a60344cd'/>
<id>urn:sha1:112826fec70f99de7d0b81d152b759d2a60344cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>AudioDecoder::_positions is at the resampled rate, if applicable;</title>
<updated>2018-02-16T21:54:01Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-02-16T21:54:01Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a8855402f9bc9815b10405ff68c313f4a4584651'/>
<id>urn:sha1:a8855402f9bc9815b10405ff68c313f4a4584651</id>
<content type='text'>
fix its initial setup.  Fixes problems when seeking deep into
resampled content; before this commit the audio time stamps got
out of whack sufficiently that the butler would fill with video
before any audio made it past the range checks.
</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>Restore correct setup of fast resampler when the player is set to fast.</title>
<updated>2017-09-03T21:41:40Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2017-09-03T21:41:40Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=4b2cf0764a4091b9466f90e6dbbeb029e04bc2be'/>
<id>urn:sha1:4b2cf0764a4091b9466f90e6dbbeb029e04bc2be</id>
<content type='text'>
</content>
</entry>
</feed>
