<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/file_group.cc, branch master</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=master</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2020-11-24T22:08:35Z</updated>
<entry>
<title>Fix the behaviour of FileGroup when seeking too far.</title>
<updated>2020-11-24T22:08:35Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-24T22:01:04Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=82faf2d5817af3ca8d303a8e1b62f23bb461dcaf'/>
<id>urn:sha1:82faf2d5817af3ca8d303a8e1b62f23bb461dcaf</id>
<content type='text'>
Previously, if you did a seek off the end of the file group,
the seek would return an error.

This is not what fseek() does; it returns no error, and preserves
the file pointer (returned by ftell()) as if the seek had been
successful.  fread()s after a too-far seek return no data, of
course.

Parsing some files (the example used to find the bug was a
H264 MP4) involves a seek which is to the byte after the end
of the mp4 file.  If this fails the whole header parsing fails
and DCP-o-matic refuses to use the file.
</content>
</entry>
<entry>
<title>Improve OpenFileError so that it doesn't say "opening for read"</title>
<updated>2019-10-08T18:16:13Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2019-09-29T21:28:57Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=93e89bd463bd51de6823a6796288f6283f885b06'/>
<id>urn:sha1:93e89bd463bd51de6823a6796288f6283f885b06</id>
<content type='text'>
in one case where it should say "opening for read/write".

Also add some unit tests for ReelWriter.
</content>
</entry>
<entry>
<title>Let's not accept EAGAIN until we're sure it's possible.</title>
<updated>2018-12-19T22:24:35Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-12-19T22:24:35Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d60fd90a6e13c727a05b629c8c4b93d4bf3b717b'/>
<id>urn:sha1:d60fd90a6e13c727a05b629c8c4b93d4bf3b717b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hopefully fix error handling (including EAGAIN) in FileGroup.</title>
<updated>2018-12-19T22:16:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-12-19T22:15:34Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=7c3f9fd51051330c8fc58c298b907222d734fa31'/>
<id>urn:sha1:7c3f9fd51051330c8fc58c298b907222d734fa31</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Even better open-file error reports.</title>
<updated>2016-08-21T21:59:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-08-21T21:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=92984df6ab50ba4ec90d105e44b58efa863c4b59'/>
<id>urn:sha1:92984df6ab50ba4ec90d105e44b58efa863c4b59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Better errors on open fails; remove unused exception.</title>
<updated>2016-08-18T16:02:33Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-08-18T16:02:33Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=513947df0f421c086ac56dff48dfe540b0a380c2'/>
<id>urn:sha1:513947df0f421c086ac56dff48dfe540b0a380c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>No-op; fix GPL address and use the explicit-program-name version.</title>
<updated>2016-05-25T19:56:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2016-05-25T19:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3828baf56467224f5d44049bf1e7a7ed11f43a05'/>
<id>urn:sha1:3828baf56467224f5d44049bf1e7a7ed11f43a05</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lots of #include &lt;iostream&gt;s for Arch.</title>
<updated>2015-09-14T21:49:36Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-09-14T21:49:36Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=1858190cff2f960f3d1f0a5cc02c69da86088f5b'/>
<id>urn:sha1:1858190cff2f960f3d1f0a5cc02c69da86088f5b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>No-op: remove all trailing whitespace.</title>
<updated>2015-06-21T00:15:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2015-06-21T00:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e60bb3e51bd1508b149e6b8f6608f09b5196ae26'/>
<id>urn:sha1:e60bb3e51bd1508b149e6b8f6608f09b5196ae26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge master.</title>
<updated>2014-07-01T12:59:50Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2014-07-01T12:59:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=05654d0e1799746a9df3ccab040c92e0ed825cac'/>
<id>urn:sha1:05654d0e1799746a9df3ccab040c92e0ed825cac</id>
<content type='text'>
</content>
</entry>
</feed>
