<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/ffmpeg_decoder.h, branch main</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=main</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2026-02-21T01:37:42Z</updated>
<entry>
<title>Handle FFmpeg content with only subtitles enabled better.</title>
<updated>2026-02-21T01:37:42Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2026-02-21T01:37:42Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c2adc362e4ce0a64d7e7a1c6b634b024d862c8c1'/>
<id>urn:sha1:c2adc362e4ce0a64d7e7a1c6b634b024d862c8c1</id>
<content type='text'>
Previously if some FFmpeg content was set to use only its subtitles, and
the first subtitle was 1 minute in to the content, the content would be
selected for pass() until its first minute had been scanned.

This could be slow, and incorrect as on the way to this 1 minute we want
to look at other content.

Here we store the PTS of dropped packets to use as a fallback position
when there is no video or audio enabled.
</content>
</entry>
<entry>
<title>Extract constants.h</title>
<updated>2022-12-09T23:47:30Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-12-09T23:47:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=da38c8a0156808595be0aae1b1490069a663fb78'/>
<id>urn:sha1:da38c8a0156808595be0aae1b1490069a663fb78</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>Extract VideoFilterGraphSet.</title>
<updated>2022-10-18T18:25:57Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-10-06T21:38:07Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=bdbec5b501af2c020dd783eb8b0b8c18c34b6552'/>
<id>urn:sha1:bdbec5b501af2c020dd783eb8b0b8c18c34b6552</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove believed-unnecessary mutex.</title>
<updated>2022-10-18T18:25:57Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-10-06T21:37:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b65d616d5e187ca2153f5f9390dd8ad16d7da30e'/>
<id>urn:sha1:b65d616d5e187ca2153f5f9390dd8ad16d7da30e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix checking of frame channels vs stream channels.</title>
<updated>2022-10-01T10:04:12Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-10-01T10:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=dba7e1137282b52a1bd6ad1d56fe6371a8c97e30'/>
<id>urn:sha1:dba7e1137282b52a1bd6ad1d56fe6371a8c97e30</id>
<content type='text'>
The comment says that we're handling differences between channel
counts in the frame and stream but the code wasn't doing that.
</content>
</entry>
<entry>
<title>Handle multiple bitmap subtitles at the same time correctly (#2239).</title>
<updated>2022-04-28T12:00:07Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-04-28T12:00:07Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e06941199da90359f41ce80c276752bc0f172d7e'/>
<id>urn:sha1:e06941199da90359f41ce80c276752bc0f172d7e</id>
<content type='text'>
Previously if there were two images at the same time we would start
them both, then the stop time would be set in the second one but
not the first.  This meant that the first one would hang around
forever.
</content>
</entry>
<entry>
<title>Tidying.</title>
<updated>2022-04-28T11:48:29Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-04-28T11:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d52426b1e69f8af2f7d33022ed4e173a8c876afc'/>
<id>urn:sha1:d52426b1e69f8af2f7d33022ed4e173a8c876afc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>C++11 and whitespace cleanups.</title>
<updated>2022-04-03T21:25:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-04-02T22:04:31Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d311043bf3c1e3e7f41b314f7ab7c91ed7e5aa7f'/>
<id>urn:sha1:d311043bf3c1e3e7f41b314f7ab7c91ed7e5aa7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup: move some stuff into process_video_frame().</title>
<updated>2022-01-11T21:16:08Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-01-11T15:38:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=84039db657c3cc72719706a136c90741170c765a'/>
<id>urn:sha1:84039db657c3cc72719706a136c90741170c765a</id>
<content type='text'>
</content>
</entry>
</feed>
