<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/test/content_test.cc, branch arbitrary-hz</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=arbitrary-hz</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=arbitrary-hz'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-09-02T20:40:13Z</updated>
<entry>
<title>Untested conversion to num/den DCPTime.</title>
<updated>2025-09-02T20:40:13Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-21T23:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=33b0928b20618da5bc295711bfdf3d638863afa5'/>
<id>urn:sha1:33b0928b20618da5bc295711bfdf3d638863afa5</id>
<content type='text'>
Summary of required changes:

Replace ::from_frames with a constructor that takes num/den.
Provide and use member to_debug_string() instead of to_string().
Provide and use member to_serializable_string() and string constructor instead of fmt::to_string on .get() and number constructor.
Provide and use content_time() member instead of ContentTime constructor from DCPTime.
Use frames_round(96000) instead of get() when comparing times to see if they are "close enough".
Provide and use DCPTime(x, FrameRateChange) constructor when converting from ContentTime.
Use .seconds() when calculating proportions or sometimes when dividing by HZ.
Provide and use operator bool().
Pass explicit 96000 denominator in a lot of places.
Add member max() and use it instead of static max()
Change BOOST_CHECK_EQUAL to BOOST_CHECK
Provide operator/ and use it instead of .get() / 2.
</content>
</entry>
<entry>
<title>Change Film::examine_and_add_content to take a vector of content.</title>
<updated>2025-07-15T16:03:57Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-15T01:36:59Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=21415bdb69a99c4fc36cf4b5e5160a171bb1cad4'/>
<id>urn:sha1:21415bdb69a99c4fc36cf4b5e5160a171bb1cad4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove default video bit rate settings.</title>
<updated>2024-05-29T08:35:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-09T20:13:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2d82f86d2f99b812edd5d64d13f3dd5a4950719e'/>
<id>urn:sha1:2d82f86d2f99b812edd5d64d13f3dd5a4950719e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename new_test_film2 -&gt; new_test_film.</title>
<updated>2024-05-22T08:33:45Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-20T14:55:57Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=c95ba3eb99c5e4d6dca90cee7e5bb9077b6ed02c'/>
<id>urn:sha1:c95ba3eb99c5e4d6dca90cee7e5bb9077b6ed02c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up some more tests.</title>
<updated>2024-05-20T15:05:16Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-20T15:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=2d5c461cbc1ebef67d0afdcb1dd2272dad58c22b'/>
<id>urn:sha1:2d5c461cbc1ebef67d0afdcb1dd2272dad58c22b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up another big test.</title>
<updated>2024-05-20T14:58:55Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-20T14:58:55Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8366fcb9b393563a44255a445b5784e468016077'/>
<id>urn:sha1:8366fcb9b393563a44255a445b5784e468016077</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use new_test_film2.</title>
<updated>2024-05-20T14:00:47Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-20T14:00:47Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=df6cc62c6acb30d42581e07c2eefdcea0e25110d'/>
<id>urn:sha1:df6cc62c6acb30d42581e07c2eefdcea0e25110d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change how video timing is done.</title>
<updated>2024-01-28T01:01:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-09-29T08:17:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=895143459866dcb373c93b8e674d1344a129a6df'/>
<id>urn:sha1:895143459866dcb373c93b8e674d1344a129a6df</id>
<content type='text'>
This commit changes the approach with video timing.  Previously,
we would (more-or-less) try to use every video frame from the content
in the output, hoping that they come at a constant frame rate.

This is not always the case, however.  Here we preserve the PTS
of video frames, and then when one arrives we output whatever
DCP video frames we can (at the regular DCP frame rate).

Hopefully this will solve a range of sync problems, but it
could also introduce new ones.
</content>
</entry>
<entry>
<title>Fix errors with WAVs containing markers (#2617).</title>
<updated>2023-09-28T22:57:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-09-26T22:16:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e67ce8ae4b9121bbcef2c1dcb61bdb5b9330ad78'/>
<id>urn:sha1:e67ce8ae4b9121bbcef2c1dcb61bdb5b9330ad78</id>
<content type='text'>
I'm not 100% sure about this but they seem to end up giving audio
packets with no channels and no frames.  Here we handle such packets
better.
</content>
</entry>
<entry>
<title>Go back to respecting the user's choice for the number of audio channels in the MXF.</title>
<updated>2023-08-06T20:05:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-07-25T09:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=02d4493e593d567b210cd7f2b98d33a345867d1d'/>
<id>urn:sha1:02d4493e593d567b210cd7f2b98d33a345867d1d</id>
<content type='text'>
</content>
</entry>
</feed>
