<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/file_group.cc, branch 2623-add-windows</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=2623-add-windows</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=2623-add-windows'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2023-10-08T23:21:22Z</updated>
<entry>
<title>Use dcp::filesystem to wrap filesystem calls and fix_long_path</title>
<updated>2023-10-08T23:21:22Z</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=f0f4dd5e6b6ed5e50d0444a4de3b2a13156edf64'/>
<id>urn:sha1:f0f4dd5e6b6ed5e50d0444a4de3b2a13156edf64</id>
<content type='text'>
anything that is passed to read_file() from libcxml.

This should fix #2623 and other similar problems.
</content>
</entry>
<entry>
<title>Return AVERROR_EOF from the avio_read method when appropriate.</title>
<updated>2022-11-25T23:09:27Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-10-01T18:11:40Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=bc6fd8c020ad27c86c463876f76c8add042cb660'/>
<id>urn:sha1:bc6fd8c020ad27c86c463876f76c8add042cb660</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use dcp::File in DCP-o-matic (#2231).</title>
<updated>2022-05-05T21:38:41Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-04-16T20:20:54Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8a8c977c12fc65f1f50ea05099387e0fc8840e7d'/>
<id>urn:sha1:8a8c977c12fc65f1f50ea05099387e0fc8840e7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>C++11 tidying.</title>
<updated>2021-04-30T23:31:35Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-04-30T23:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8963f0007af1a312017b9627c18b82ec2a577591'/>
<id>urn:sha1:8963f0007af1a312017b9627c18b82ec2a577591</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix over-read behaviour of FileGroup to be the same on all platforms.</title>
<updated>2020-11-28T19:58:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-11-27T22:30:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=cf26869c2789b7ecf91e486fc3c7bf271276a592'/>
<id>urn:sha1:cf26869c2789b7ecf91e486fc3c7bf271276a592</id>
<content type='text'>
Instead of relying on the operating system's behaviour when seeking
off the end of a file, keep our own _position.  This normalises
the behaviour between POSIX and Windows.
</content>
</entry>
<entry>
<title>Fix the behaviour of FileGroup when seeking too far.</title>
<updated>2020-11-24T22:01:04Z</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=8a1da1da65ba0e6a6fb915c73ff6e6a81da349f2'/>
<id>urn:sha1:8a1da1da65ba0e6a6fb915c73ff6e6a81da349f2</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>Fix errors when over-reading a "large" amount from FileGroups on</title>
<updated>2020-10-13T16:51:11Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-10-06T23:02:47Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=e5277d4042b896c4b50c694fba0f1afb47337f45'/>
<id>urn:sha1:e5277d4042b896c4b50c694fba0f1afb47337f45</id>
<content type='text'>
Windows.  I haven't been able to find any conclusive explanation for
why this stuff happens;

https://stackoverflow.com/questions/7241168/safe-maximum-number-of-records-read-by-fread

is one possible lead.
</content>
</entry>
<entry>
<title>Improve OpenFileError so that it doesn't say "opening for read"</title>
<updated>2019-09-29T21:28:57Z</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=ab0e8cdcafdcb83096012380f674b8280474e851'/>
<id>urn:sha1:ab0e8cdcafdcb83096012380f674b8280474e851</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>
</feed>
