<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/test/ffmpeg_decoder_seek_test.cc, branch edgecode2</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=edgecode2</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=edgecode2'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-12-14T23:20:53Z</updated>
<entry>
<title>Fix error when seeking a file with no video and &gt;1 audio stream (#3128).</title>
<updated>2025-12-14T23:20:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-12-12T10:43:45Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=52b3eee4e7285e26469b2a5f4d9d9eac20aba387'/>
<id>urn:sha1:52b3eee4e7285e26469b2a5f4d9d9eac20aba387</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Try AVSEEK_FLAG_ANY if _BACKWARD fails.</title>
<updated>2025-12-08T19:50:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-12-07T01:17:34Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9bd8b3304f35f0b27bf18f2167302f1fd5d3f92b'/>
<id>urn:sha1:9bd8b3304f35f0b27bf18f2167302f1fd5d3f92b</id>
<content type='text'>
We usually want to do _BACKWARD as this should seek to the keyframe
before the seek position.  On some files this fails, and then it
seems that _ANY is a good next thing to try.
</content>
</entry>
<entry>
<title>Clean up a setup.</title>
<updated>2025-12-08T19:49:54Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-12-07T15:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=deacb9bae6893f4d40c7b68a098b72549176df7b'/>
<id>urn:sha1:deacb9bae6893f4d40c7b68a098b72549176df7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>White space: ffmpeg_decoder_seek_test.cc</title>
<updated>2025-12-08T19:49:54Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-12-07T13:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=cd5dc2719fa4d113381e84aee867037855537634'/>
<id>urn:sha1:cd5dc2719fa4d113381e84aee867037855537634</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>Replace all new_test_film with new_test_film2.</title>
<updated>2024-05-21T21:52:46Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-20T14:54:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e3dba6242aed7415eddbbfb1e5d56ce6680603c1'/>
<id>urn:sha1:e3dba6242aed7415eddbbfb1e5d56ce6680603c1</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 when seeking FFmpeg for some formats.</title>
<updated>2021-06-04T20:31:07Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-06-03T20:55:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9f4cb3b340376d93be39dc97c2e0c631e9cf73c4'/>
<id>urn:sha1:9f4cb3b340376d93be39dc97c2e0c631e9cf73c4</id>
<content type='text'>
The comments discuss this in a bit more depth, but basically we see
errors from avcodec_send_packet after seek.  ffplay etc. seem basically
to ignore all errors from avcodec_send_packet, and I can't find a
"proper" fix, so here's a half-way house hack: ignore some errors
after seek.  Nasty.
</content>
</entry>
<entry>
<title>C++11 tidying.</title>
<updated>2021-06-03T20:46:53Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-06-03T20:46:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=881e5de77401086265c5d901c7bde10d35d50231'/>
<id>urn:sha1:881e5de77401086265c5d901c7bde10d35d50231</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>
</feed>
