<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/content_factory.cc, 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>2025-10-15T20:33:26Z</updated>
<entry>
<title>Disable use of stream IDs if there are duplicates, rather than rewriting.</title>
<updated>2025-10-15T20:33:26Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-10-14T15:02:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2d8d05c2e7ad67ebac2ff250670a219a891d09ca'/>
<id>urn:sha1:2d8d05c2e7ad67ebac2ff250670a219a891d09ca</id>
<content type='text'>
It turns out that FFmpeg decoders (e.g. flv, see FFmpeg
25faaa311a74efdfdc4fed56996d7338ed807488) check stream IDs and sometimes
create new streams if they see one that they didn't see before.  If we
change stream IDs we break this.

Here we try to use stream indices in cases where the IDs are duplicated.
We also account for the case where a new stream appears during
examination. This wasn't covered by tests until the FFmpeg commit
mentioned above, were the flv decoder creates a new stream during
examination of boon_telly.mkv.
</content>
</entry>
<entry>
<title>Remove compose.hpp includes.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T20:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=bad01065584014aee4024e7cbc4a66acac7617e1'/>
<id>urn:sha1:bad01065584014aee4024e7cbc4a66acac7617e1</id>
<content type='text'>
sed -i "/include.*compose.hpp/d;" src/lib/*.cc src/wx/*.cc src/wx/*.h src/tools/*.cc src/lib/*.h test/*.cc
</content>
</entry>
<entry>
<title>Replace String::compose with fmt.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T20:53:27Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=62c34b28567a097e8f22576e7d7891bd3dbe0ac0'/>
<id>urn:sha1:62c34b28567a097e8f22576e7d7891bd3dbe0ac0</id>
<content type='text'>
sed -i "/Plural-Forms/n;/%100/n;/scanf/n;s/%[123456789]/{}/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc src/lib/po/*.po src/wx/po/*.po src/tools/po/*.po test/*.cc
sed -i "s/String::compose */fmt::format/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc test/*.cc
</content>
</entry>
<entry>
<title>Convert some paths to string.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T19:55:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=7a4763153548619b379222d5c22d10b238ba0ac3'/>
<id>urn:sha1:7a4763153548619b379222d5c22d10b238ba0ac3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support FCP XML files containing subtitles (#2909).</title>
<updated>2024-12-26T16:20:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-06T16:46:24Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=54e2644ed4dcc4faf5135e60926cfdda14886fea'/>
<id>urn:sha1:54e2644ed4dcc4faf5135e60926cfdda14886fea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup: header sorting.</title>
<updated>2024-12-26T16:20:25Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-06T16:46:06Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a8b96e31ddb5a08a7d90ec16490c2727be5f4854'/>
<id>urn:sha1:a8b96e31ddb5a08a7d90ec16490c2727be5f4854</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix thinko in relative path change.</title>
<updated>2024-09-18T08:41:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-09-16T08:10:46Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a9cb7313f7846f8b2bf9f96d19cf28abd7caf7fc'/>
<id>urn:sha1:a9cb7313f7846f8b2bf9f96d19cf28abd7caf7fc</id>
<content type='text'>
We have to canonicalise relative paths with respect to the film's
directory on load, otherwise we try to use the relative path and it's
interpreted against the current working directory.

This unfortunately requires the film's directory to be piped into quite
a lot of new places.
</content>
</entry>
<entry>
<title>Adapt to some libdcp class renaming to allow open captions/closed subtitles.</title>
<updated>2024-09-03T15:02:24Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-08-06T21:57:22Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=f3ab77e34a41ad4d8f5156e9d6598314975b9565'/>
<id>urn:sha1:f3ab77e34a41ad4d8f5156e9d6598314975b9565</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace deprecated leaf() with filename().</title>
<updated>2023-11-12T21:11:27Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-11-11T00:31:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=dfa7b94e802b05bba4243381460eef96626102a0'/>
<id>urn:sha1:dfa7b94e802b05bba4243381460eef96626102a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use dcp::filesystem to wrap filesystem calls and fix_long_path</title>
<updated>2023-10-09T21:38:28Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-06T00:37:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=96f50dd5e600925488fdd9db1580aa01b026269b'/>
<id>urn:sha1:96f50dd5e600925488fdd9db1580aa01b026269b</id>
<content type='text'>
anything that is passed to read_file() from libcxml.

This should fix #2623 and other similar problems.
</content>
</entry>
</feed>
