<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/file_group.cc, branch debug-corruption</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=debug-corruption</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=debug-corruption'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2024-10-19T13:20:58Z</updated>
<entry>
<title>Log/hash data coming out of FileGroup.</title>
<updated>2024-10-19T13:20:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-10-19T13:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=fa1d847967f8189ba28db83bd1e38e49bfd8428a'/>
<id>urn:sha1:fa1d847967f8189ba28db83bd1e38e49bfd8428a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix stupid bug introduced in 5db3eda9c6f0</title>
<updated>2024-09-11T21:08:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-09-11T21:08:32Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=179e362688a5a533f771942cde5126c0b11c7d08'/>
<id>urn:sha1:179e362688a5a533f771942cde5126c0b11c7d08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a few places where we should use dcp::File::open_error()</title>
<updated>2024-09-03T15:55:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-09-03T15:55:11Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=4049ec5e8bdddbc48689521a26bf47236c2b490d'/>
<id>urn:sha1:4049ec5e8bdddbc48689521a26bf47236c2b490d</id>
<content type='text'>
to get a more accurate error number on Windows.
</content>
</entry>
<entry>
<title>Fix confusion about operator bool() with optional.</title>
<updated>2024-09-03T15:55:19Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-09-03T15:53:24Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5db3eda9c6f0d6b027263c519000997677253504'/>
<id>urn:sha1:5db3eda9c6f0d6b027263c519000997677253504</id>
<content type='text'>
I think previously no exception would be thrown even if the file weren't
open.
</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>
<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>
</feed>
