<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/audio_decoder.cc, branch v2.16.97</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.16.97</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.16.97'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2023-08-15T16:27:09Z</updated>
<entry>
<title>Cope with unexpected channel counts in data coming from audio decoders.</title>
<updated>2023-08-15T16:27:09Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-08-15T13:46:41Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=df7697962ef1049077643636918fba3cd3457e71'/>
<id>urn:sha1:df7697962ef1049077643636918fba3cd3457e71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve flushing behaviour when there is a lot of space to fill (#2364).</title>
<updated>2022-11-15T21:42:43Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-11-14T23:44:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d42bc731c125170efb1bb7b8c9f990a3e9fa5b57'/>
<id>urn:sha1:d42bc731c125170efb1bb7b8c9f990a3e9fa5b57</id>
<content type='text'>
Previously a call to flush() could result in a lot of audio being
emitted from the decoder (if there is a big gap between the end
of the audio and the video).  This would end up being emitted in
one chunk from the player, crashing the audio analyser with an OOM
in some cases.
</content>
</entry>
<entry>
<title>Use the resampled rate to calculate the slack threshold rather than just 48kHz (#2275).</title>
<updated>2022-06-29T22:53:20Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-06-19T20:45:18Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=f49a724918ad3d1082384576960b1098d7f15822'/>
<id>urn:sha1:f49a724918ad3d1082384576960b1098d7f15822</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix incorrectly-timed emission of silence padding causing buffer fill (#2217).</title>
<updated>2022-03-15T08:20:17Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-03-14T19:29:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0c846af54055b9915c6c68617cd28176d5f84351'/>
<id>urn:sha1:0c846af54055b9915c6c68617cd28176d5f84351</id>
<content type='text'>
On initialisation or after seek we insert silence corresponding to
a positive delay in an audio stream.  Previously this inserted silence
was done at time 0, so that after a seek to time T the silent frames
would come out of the audio merger at time 0 and then the player would
fill the space up to time T with silence.  If T was far enough along
this would fill the audio buffers without there being any video.
</content>
</entry>
<entry>
<title>Assorted tidying.</title>
<updated>2021-09-19T23:44:30Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-09-19T23:44:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2e2f11b29651cffe37c64275dbd45c7563310020'/>
<id>urn:sha1:2e2f11b29651cffe37c64275dbd45c7563310020</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Assorted C++11/formatting cleanups.</title>
<updated>2021-04-08T19:32:44Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-04-08T19:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3339d3bce70afe9ae2ca10e9fcfc4b54b748fbf4'/>
<id>urn:sha1:3339d3bce70afe9ae2ca10e9fcfc4b54b748fbf4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More c++ tidying.</title>
<updated>2021-01-09T08:27:29Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-09T08:27:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=0241df1707c7ea5658f471828ff6dc944e21af42'/>
<id>urn:sha1:0241df1707c7ea5658f471828ff6dc944e21af42</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>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>
</feed>
