<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.E-MailFormatvorlage20
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Hello,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>thank you for the response, I’ll try compiling later with these lines removed. I’d be in favor of a proper compile-time option for this.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>> I think providing an API function and flac+metaflac command line option is going to be confusing and they will probably be misused. A compile time option might be possible though, libogg provides that too.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>I don’t see how the option would be misused or be confusing. As I’ve discovered, popular FLAC-compatible tools like ffmpeg (or libavcodec’s FLAC implementation respectively) don’t strictly adhere to the standard here in order to support weirder files, and the FLAC tools themselves already have options to adhere or deviate from the streamable subset, i.e. a particularly simple part of the FLAC format. If the option has a name that cannot be used by accident, and if it’s properly documented that it may lead to mis-syncing, glitchy audio etc., I don’t see the harm in a run-time option. Though I won’t die on this hill, so feel free to ignore me here.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Regards and thanks for your help,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>kleines Filmröllchen<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b>Von:</b> Martijn van Beurden <mvanb1@gmail.com> <br><b>Gesendet:</b> Freitag, 30. Juni 2023 07:23<br><b>An:</b> Manuel Bertsch <malu.bertsch@gmail.com><br><b>Cc:</b> flac-dev@xiph.org<br><b>Betreff:</b> Re: [flac-dev] Disable all checksum verification in flac/metaflac<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Hi,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Is it possible for you to compile flac/metaflac yourself? Then you'll only need to remove a few lines, namely these 4: <a href="https://github.com/xiph/flac/blob/28e4f0528c76b296c561e922ba67d43751990599/src/libFLAC/stream_decoder.c#L2118-L2121">https://github.com/xiph/flac/blob/28e4f0528c76b296c561e922ba67d43751990599/src/libFLAC/stream_decoder.c#L2118-L2121</a> and these 7: <a href="https://github.com/xiph/flac/blob/28e4f0528c76b296c561e922ba67d43751990599/src/libFLAC/stream_decoder.c#L2141-L2147">https://github.com/xiph/flac/blob/28e4f0528c76b296c561e922ba67d43751990599/src/libFLAC/stream_decoder.c#L2141-L2147</a> As you can see these lines are also disabled on fuzzing.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I think providing an API function and flac+metaflac command line option is going to be confusing and they will probably be misused. A compile time option might be possible though, libogg provides that too.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Kind regards,<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Martijn van Beurden<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Op do 29 jun. 2023 22:28 schreef Manuel Bertsch <<a href="mailto:malu.bertsch@gmail.com" target="_blank">malu.bertsch@gmail.com</a>>:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hello all,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US>I’m trying to use flac and metaflac as tooling to analyze the generated FLAC files of a new encoder implementation. However, while my own third-party decoder can handle the output just fine, flac, metaflac, and other tools discard the output since the frame checksum (footer CRC-16) is invalid. This is expected, since I have no checksum generation implemented apart from the frame header checksum (all other checksums are written as 0), but it prevents me from making development process without being able to check my outputs against the reference implementation. I looked around and I couldn’t find a way to turn off either tool’s checksum verification. So I’d like to know how one could turn off checksum verification in the tools, and if that’s not currently possible, I’d like to see that as a feature in a future version of flac. (In that case I would also try to disable the checks in code permanently, though my solution is most likely not going to be upstreamable in any capacity.)</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US>FYI, the third-party decoder is highly compliant according to the spec test suite, producing identical audio playback on almost all of the files, but it also doesn’t verify or error on any checksums. ffplay and ffmpeg both accept the file and can play and transcode it correctly, although they ignore the sample count in the streaminfo header and will read all frames they can find. The latter leads me to believe that checksums are the actual issue, even though flac reports the generic “Bad Header” and “Lost Sync”.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US>Greetings and thanks in advance,</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span lang=EN-US>Kleines Filmröllchen</span><o:p></o:p></p></div></div><p class=MsoNormal>_______________________________________________<br>flac-dev mailing list<br><a href="mailto:flac-dev@xiph.org" target="_blank">flac-dev@xiph.org</a><br><a href="http://lists.xiph.org/mailman/listinfo/flac-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/flac-dev</a><o:p></o:p></p></blockquote></div></div></div></body></html>