Fwd: [PATCH] Fix reading last track when using -O on some drives
Weird Kerning <[email protected]> Tue, 30 Jul 2013 11:02:54 -0400
| Newsgroups | gmane.comp.audio.cd-paranoia.devel |
|---|---|
| Message-ID | <CACd4uUQOPbAev_-B_-32y5T8+JCwvvqanwPehnX6tgamtnyQjw@mail.gmail.com> |
--20cf3010e7194fec4204e2bbe716 Content-Type: multipart/alternative; boundary=20cf3010e7194fec3d04e2bbe714 --20cf3010e7194fec3d04e2bbe714 Content-Type: text/plain; charset=ISO-8859-1 Hi, Sorry, just realized I sent these to the wrong list. Didn't realize there was a -dev mailing list. The second patch fixes an issue that occurs for some (but not all, apparently) drives that do not support overreading when ripping the last audio track if it's followed by a data track. ---------- Forwarded message ---------- From: Weird Kerning <[email protected]> Date: Mon, Jul 29, 2013 at 11:15 AM Subject: [PATCH] Fix reading last track when using -O on some drives To: [email protected] Hi, It's often desirable to pass -O <sample offset> when ripping discs so that it's easy to assess the accuracy of the rip by comparing to the rips other have made by using AccurateRip and the like. On drives that require a large -- presumably >= 588 -- sample offset correction that do not support reading into the lead-out area of the disc, cdparanoia will cause (Linux -- not tested elsewhere) kernel transport errors and will fail when trying to rip the last track. This patch adds an option to force overreading into the lead-out (-x, --force-overread) when ripping the last track on the disc, which is disabled by default, since most drives are not actually able to successfully do this. When it's not enabled, digital silence is written to pad out the extracted audio so the track is the correct length. This matches the behavior of other popular DAE tools like EAC and dbpoweramp. This patch also fixes a bug that prevented overreading into the lead-out from working even on drives that do support it. Without this patch when using a read offset correction even for drives that do correctly overread, the samples that are in the lead-out after offset correction were not being correctly read, and were being written to the output as digital silence. This patch forces a buffer flush before trying to read the extra sectors, which causes the data to actually be read. This patch resolves issues users have hit this issue: https://github.com/thomasvs/morituri/issues/36 when using morituri, a cli DAE tool that uses cdparanoia for audio extraction. Patch is against the head of the cdparanoia svn repo. Please apply if appropriate. --20cf3010e7194fec3d04e2bbe714 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div><div>Hi,<br><br></div>Sorry, just realized I sent the= se to the wrong list. Didn't realize there was a -dev mailing list.<br>= <br></div>The second patch fixes an issue that occurs for some (but not all= , apparently) drives that do not support overreading when ripping the last = audio track if it's followed by a data track.<br> <div><br><br><div><div>---------- Forwarded message ----------<br><div clas= s=3D"gmail_quote">From: <b class=3D"gmail_sendername">Weird Kerning</b> <sp= an dir=3D"ltr"><<a href=3D"mailto:[email protected]">weirdkerning@g= mail.com</a>></span><br> Date: Mon, Jul 29, 2013 at 11:15 AM<br>Subject: [PATCH] Fix reading last tr= ack when using -O on some drives<br>To: <a href=3D"mailto:[email protected]= ">[email protected]</a><br><br><br><div dir=3D"ltr"><div><div><div><div>Hi,= <br> <br></div>It's often desirable to pass -O <sample offset> when ri= pping discs so that it's easy to assess the accuracy of the rip by comp= aring to the rips other have made by using AccurateRip and the like. On dri= ves that require a large -- presumably >=3D 588 -- sample offset correct= ion that do not support reading into the lead-out area of the disc, cdparan= oia will cause (Linux -- not tested elsewhere) kernel transport errors and = will fail when trying to rip the last track.<br> <br></div>This patch adds an option to force overreading into the lead-out = (-x, --force-overread) when ripping the last track on the disc, which is di= sabled by default, since most drives are not actually able to successfully = do this. When it's not enabled, digital silence is written to pad out t= he extracted audio so the track is the correct length. This matches the beh= avior of other popular DAE tools like EAC and dbpoweramp.<br> <br></div>This patch also fixes a bug that prevented overreading into the l= ead-out from working even on drives that do support it. Without this patch = when using a read offset correction even for drives that do correctly overr= ead, the samples that are in the lead-out after offset correction were not = being correctly read, and were being written to the output as digital silen= ce. This patch forces a buffer flush before trying to read the extra sector= s, which causes the data to actually be read.<br> <br></div><div>This patch resolves issues users have hit this issue: <a hre= f=3D"https://github.com/thomasvs/morituri/issues/36" target=3D"_blank">http= s://github.com/thomasvs/morituri/issues/36</a>=A0 when using morituri, a cl= i DAE tool that uses cdparanoia for audio extraction.<br> </div><div><br></div><div>Patch is against the head of the cdparanoia svn r= epo. Please apply if appropriate.<br></div></div> </div><br></div></div></div></div> --20cf3010e7194fec3d04e2bbe714-- --20cf3010e7194fec4204e2bbe716 Content-Type: application/octet-stream; name="01-overread.patch" Content-Disposition: attachment; filename="01-overread.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hjr8hh811 SW5kZXg6IGNkcGFyYW5vaWEuMQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjZHBhcmFub2lhLjEJKHJldmlzaW9u IDE4OTY1KQorKysgY2RwYXJhbm9pYS4xCSh3b3JraW5nIGNvcHkpCkBAIC0yMDcsNiArMjA3LDEx IEBACiBrbm93biB1c2VyIGRhdGEgYXJlYSBvZiB0aGUgZGlzYywgcHJvYmFibHkgY2F1c2luZyBy ZWFkIGVycm9ycyBvbiBtb3N0CiBkcml2ZXMgYW5kIHBvc3NpYmx5IGV2ZW4gaGFyZCBsb2NrdXBz IG9uIHNvbWUgYnVnZ3kgaGFyZHdhcmUuCiAKKy5UUAorLkJJICJcLXggLS1mb3JjZS1vdmVycmVh ZAorRm9yY2Ugb3ZlcnJlYWRpbmcgaW50byB0aGUgbGVhZC1vdXQgcG9ydGlvbiBvZiB0aGUgZGlz Yy4gVGhpcyBvcHRpb24gaXMgb25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgdGhlCisuQiAtTwor b3B0aW9uIHdpdGggYSBwb3NpdGl2ZSBzYW1wbGUgb2Zmc2V0IHZhbHVlLiBNYW55IGRyaXZlcyBh cmUgbm90IGNhcGFibGUgb2YgcmVhZGluZyBpbnRvIHRoaXMgcG9ydGlvbiBvZiB0aGUgZGlzYyBh bmQgYXR0ZW1wdGluZyB0byBkbyBzbyBvbiB0aG9zZSBkcml2ZXMgd2lsbCBwcm9kdWNlIHJlYWQg ZXJyb3JzIGFuZCBwb3NzaWJseSBoYXJkIGxvY2t1cHMuCiAKIC5UUAogLkIgXC1aIC0tZGlzYWJs ZS1wYXJhbm9pYQpJbmRleDogbWFpbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1haW4uYwkocmV2aXNpb24g MTg5NjUpCisrKyBtYWluLmMJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQAogIiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3RcbiIKICIgIC1PIC0tc2Ft cGxlLW9mZnNldCA8bj4gICAgICAgICAgOiBBZGQgPG4+IHNhbXBsZXMgdG8gdGhlIG9mZnNldCB3 aGVuXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGluZyBkYXRh LiAgTWF5IGJlIG5lZ2F0aXZlLlxuIgorIiAgLXggLS1mb3JjZS1vdmVycmVhZCAgICAgICAgICAg ICA6IEVuYWJsZSBvdmVycmVhZGluZyBpbnRvIHRoZSBsZWFkLW91dC5cbiIKICIgIC16IC0tbmV2 ZXItc2tpcFs9bl0gICAgICAgICAgICAgOiBuZXZlciBhY2NlcHQgYW55IGxlc3MgdGhhbiBwZXJm ZWN0XG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSByZWNvbnN0 cnVjdGlvbiAoZG9uJ3QgYWxsb3cgJ1YncylcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBidXQgaWYgW25dIGlzIGdpdmVuLCBza2lwIGFmdGVyIFtuXVxuIgpAQCAtNjA3 LDcgKzYwOCw3IEBACiAgICAgbWVtc2V0KGRpc3BjYWNoZSwnICcsZ3JhcGgpOwogfQogCi1jb25z dCBjaGFyICpvcHRzdHJpbmcgPSAiZXNjQ246bzpPOmQ6ZzprOlM6cHJSd2FmdnFWUWhaejo6WVhX Qmk6VHQ6bDo6TDo6QSI7Citjb25zdCBjaGFyICpvcHRzdHJpbmcgPSAiZXNjQ246bzpPOnhkOmc6 azpTOnByUndhZnZxVlFoWno6OllYV0JpOlR0Omw6Okw6OkEiOwogCiBzdHJ1Y3Qgb3B0aW9uIG9w dGlvbnMgW10gPSB7CiAJeyJzdGRlcnItcHJvZ3Jlc3MiLG5vX2FyZ3VtZW50LE5VTEwsJ2UnfSwK QEAgLTYyMSw2ICs2MjIsNyBAQAogCXsiZm9yY2UtZ2VuZXJpYy1kZXZpY2UiLHJlcXVpcmVkX2Fy Z3VtZW50LE5VTEwsJ2cnfSwKIAl7ImZvcmNlLXJlYWQtc3BlZWQiLHJlcXVpcmVkX2FyZ3VtZW50 LE5VTEwsJ1MnfSwKIAl7InNhbXBsZS1vZmZzZXQiLHJlcXVpcmVkX2FyZ3VtZW50LE5VTEwsJ08n fSwKKwl7ImZvcmNlLW92ZXJyZWFkIixub19hcmd1bWVudCxOVUxMLCd4J30sCiAJeyJ0b2Mtb2Zm c2V0IixyZXF1aXJlZF9hcmd1bWVudCxOVUxMLCd0J30sCiAJeyJ0b2MtYmlhcyIsbm9fYXJndW1l bnQsTlVMTCwnVCd9LAogCXsib3V0cHV0LXJhdyIsbm9fYXJndW1lbnQsTlVMTCwncCd9LApAQCAt NjgyLDYgKzY4NCw3IEBACiAgIGNoYXIgKmZvcmNlX2dlbmVyaWNfZGV2aWNlPU5VTEw7CiAgIGNo YXIgKmZvcmNlX2Nvb2tlZF9kZXZpY2U9TlVMTDsKICAgaW50IGZvcmNlX2Nkcm9tX3NwZWVkPTA7 CisgIGludCBmb3JjZV9vdmVycmVhZD0wOwogICBpbnQgbWF4X3JldHJpZXM9MjA7CiAgIGNoYXIg KnNwYW49TlVMTDsKICAgaW50IG91dHB1dF90eXBlPTE7IC8qIDA9cmF3LCAxPXdhdiwgMj1haWZj ICovCkBAIC04NTYsNiArODU5LDkgQEAKICAgICBjYXNlICdPJzoKICAgICAgIHNhbXBsZV9vZmZz ZXQ9YXRvaShvcHRhcmcpOwogICAgICAgYnJlYWs7CisgICAgY2FzZSAneCc6CisgICAgICBmb3Jj ZV9vdmVycmVhZD0xOworICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgIHVzYWdlKHN0 ZGVycik7CiAgICAgICBleGl0KDEpOwpAQCAtMTE3OSwxMSArMTE4NSwxOCBAQAogICAgICAgCiAg ICAgfQogCisJaWYgKHRvY19vZmZzZXQgJiYgIWZvcmNlX292ZXJyZWFkKSB7CisJCWQtPmRpc2Nf dG9jW2QtPnRyYWNrc10uZHdTdGFydFNlY3RvciAtPSB0b2Nfb2Zmc2V0OworCQlpZiAobGFzdF9z ZWN0b3IgPiBjZGRhX3RyYWNrX2xhc3RzZWN0b3IoZCwgZC0+dHJhY2tzKSkKKwkJCWxhc3Rfc2Vj dG9yIC09IHRvY19vZmZzZXQ7CisgICAgfQorCiAgICAgewogICAgICAgbG9uZyBjdXJzb3I7CiAg ICAgICBpbnQxNl90IG9mZnNldF9idWZmZXJbMTE3Nl07CiAgICAgICBpbnQgb2Zmc2V0X2J1ZmZl cl91c2VkPTA7CiAgICAgICBpbnQgb2Zmc2V0X3NraXA9c2FtcGxlX29mZnNldCo0OworICAgICAg b2ZmX3Qgc2VjdG9ybGVuOwogCiAgICAgICBwPXBhcmFub2lhX2luaXQoZCk7CiAgICAgICBwYXJh bm9pYV9tb2Rlc2V0KHAscGFyYW5vaWFfbW9kZSk7CkBAIC0xMjA1LDcgKzEyMTgsNyBAQAogCSBu ZWVkIHRvIHNldCB0aGUgZGlzYyBsZW5ndGggZm9yd2FyZCBoZXJlIHNvIHRoYXQgdGhlIGxpYnMg YXJlCiAJIHdpbGxpbmcgdG8gcmVhZCBwYXN0LCBhc3N1bWluZyB0aGF0IHdvcmtzIG9uIHRoZSBo YXJkd2FyZSwgb2YKIAkgY291cnNlICovCi0gICAgICBpZihzYW1wbGVfb2Zmc2V0KQorICAgICAg aWYoc2FtcGxlX29mZnNldCAmJiBmb3JjZV9vdmVycmVhZCkKIAlkLT5kaXNjX3RvY1tkLT50cmFj a3NdLmR3U3RhcnRTZWN0b3IrKzsKIAogICAgICAgd2hpbGUoY3Vyc29yPD1sYXN0X3NlY3Rvcil7 CkBAIC0xMzIyLDE4ICsxMzM1LDI1IEBACiAJICAgIGZmbHVzaChsb2dmaWxlKTsKIAkgIH0KIAl9 Ci0JCisKKwlzZWN0b3JsZW4gPSBiYXRjaF9sYXN0IC0gYmF0Y2hfZmlyc3QgKyAxOworCWlmIChj ZGRhX3NlY3Rvcl9nZXR0cmFjayhkLCBjdXJzb3IpID09IGQtPnRyYWNrcyAmJgorCQl0b2Nfb2Zm c2V0ID4gMCAmJiAhZm9yY2Vfb3ZlcnJlYWQpCisJeworCQlzZWN0b3JsZW4gKz0gdG9jX29mZnNl dDsKKwl9CisKIAlzd2l0Y2gob3V0cHV0X3R5cGUpewogCWNhc2UgMDogLyogcmF3ICovCiAJICBi cmVhazsKIAljYXNlIDE6IC8qIHdhdiAqLwotCSAgV3JpdGVXYXYob3V0LChiYXRjaF9sYXN0LWJh dGNoX2ZpcnN0KzEpKkNEX0ZSQU1FU0laRV9SQVcpOworCSAgV3JpdGVXYXYob3V0LCBzZWN0b3Js ZW4gKiBDRF9GUkFNRVNJWkVfUkFXKTsKIAkgIGJyZWFrOwogCWNhc2UgMjogLyogYWlmYyAqLwot CSAgV3JpdGVBaWZjKG91dCwoYmF0Y2hfbGFzdC1iYXRjaF9maXJzdCsxKSpDRF9GUkFNRVNJWkVf UkFXKTsKKwkgIFdyaXRlQWlmYyhvdXQsIHNlY3RvcmxlbiAqIENEX0ZSQU1FU0laRV9SQVcpOwog CSAgYnJlYWs7CiAJY2FzZSAzOiAvKiBhaWZmICovCi0JICBXcml0ZUFpZmYob3V0LChiYXRjaF9s YXN0LWJhdGNoX2ZpcnN0KzEpKkNEX0ZSQU1FU0laRV9SQVcpOworCSAgV3JpdGVBaWZmKG91dCwg c2VjdG9ybGVuICogQ0RfRlJBTUVTSVpFX1JBVyk7CiAJICBicmVhazsKIAl9CiAJCkBAIC0xNDAy LDQ0ICsxNDIyLDcwIEBACiAKIAkgIC8qIE9uZSBsYXN0IGJpdCBvZiBzaWxsaW5lc3MgdG8gZGVh bCB3aXRoIHNhbXBsZSBvZmZzZXRzICovCiAJICBpZihzYW1wbGVfb2Zmc2V0ICYmIGN1cnNvcj5i YXRjaF9sYXN0KXsKLQkgICAgaW50IGk7Ci0JICAgIC8qIHJlYWQgYSBzZWN0b3IgYW5kIG91dHB1 dCB0aGUgcGFydGlhbCBvZmZzZXQuICBTYXZlIHRoZQotICAgICAgICAgICAgICAgcmVzdCBmb3Ig dGhlIG5leHQgYmF0Y2ggaXRlcmF0aW9uICovCi0JICAgIHJlYWRidWY9cGFyYW5vaWFfcmVhZF9s aW1pdGVkKHAsY2FsbGJhY2ssbWF4X3JldHJpZXMpOwotCSAgICBlcnI9Y2RkYV9lcnJvcnMoZCk7 bWVzPWNkZGFfbWVzc2FnZXMoZCk7CisJCWlmIChjZGRhX3NlY3Rvcl9nZXR0cmFjayhkLCBiYXRj aF9sYXN0KSA8IGQtPnRyYWNrcyB8fCBmb3JjZV9vdmVycmVhZCkgeworCQkgICAgaW50IGk7CiAK LQkgICAgaWYobWVzIHx8IGVycikKLQkgICAgICBmcHJpbnRmKHN0ZGVyciwiXHIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIgotCQkgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxyJXMlc1xuIiwKLQkJICAgICAgbWVzP21lczoiIixlcnI/ZXJy OiIiKTsKLQkgIAotCSAgICBpZihlcnIpZnJlZShlcnIpO2lmKG1lcylmcmVlKG1lcyk7Ci0JICAg IGlmKHJlYWRidWY9PU5VTEwpewotCSAgICAgIHNraXBwZWRfZmxhZz0xOwotCSAgICAgIHJlcG9y dCgiXG5wYXJhbm9pYV9yZWFkOiBVbnJlY292ZXJhYmxlIGVycm9yIHJlYWRpbmcgdGhyb3VnaCAi Ci0JCSAgICAgInNhbXBsZV9vZmZzZXQgc2hpZnRcblx0YXQgZW5kIG9mIHRyYWNrLCBiYWlsaW5n LlxuIik7Ci0JICAgICAgYnJlYWs7Ci0JICAgIH0KLQkgICAgaWYoc2tpcHBlZF9mbGFnICYmIGFi b3J0X29uX3NraXApYnJlYWs7Ci0JICAgIHNraXBwZWRfZmxhZz0wOwotCSAgICAvKiBkbyBub3Qg bW92ZSB0aGUgY3Vyc29yICovCi0JICAKLQkgICAgaWYob3V0cHV0X2VuZGlhbiE9YmlnZW5kaWFu cCgpKQotCSAgICAgIGZvcihpPTA7aTxDRF9GUkFNRVNJWkVfUkFXLzI7aSsrKQotCQlvZmZzZXRf YnVmZmVyW2ldPXN3YXAxNihyZWFkYnVmW2ldKTsKLQkgICAgZWxzZQotCSAgICAgIG1lbWNweShv ZmZzZXRfYnVmZmVyLHJlYWRidWYsQ0RfRlJBTUVTSVpFX1JBVyk7Ci0JICAgIG9mZnNldF9idWZm ZXJfdXNlZD1zYW1wbGVfb2Zmc2V0KjQ7Ci0JICAKLQkgICAgY2FsbGJhY2soY3Vyc29yKihDRF9G UkFNRVdPUkRTKSwtMik7CisJCQkvKiBOZWVkIHRvIGZsdXNoIHRoZSBidWZmZXIgd2hlbiBvdmVy cmVhZGluZyBpbnRvIHRoZSBsZWFkb3V0ICovCisJCQlpZiAoY2RkYV9zZWN0b3JfZ2V0dHJhY2so ZCwgYmF0Y2hfbGFzdCkgPT0gZC0+dHJhY2tzKQorCQkJCXBhcmFub2lhX3NlZWsocCwgY3Vyc29y LCBTRUVLX1NFVCk7CiAKLQkgICAgaWYoYnVmZmVyaW5nX3dyaXRlKG91dCwoY2hhciAqKW9mZnNl dF9idWZmZXIsCisJCSAgICAvKiByZWFkIGEgc2VjdG9yIGFuZCBvdXRwdXQgdGhlIHBhcnRpYWwg b2Zmc2V0LiAgU2F2ZSB0aGUKKwkgICAgICAgICAgICAgICByZXN0IGZvciB0aGUgbmV4dCBiYXRj aCBpdGVyYXRpb24gKi8KKwkJICAgIHJlYWRidWY9cGFyYW5vaWFfcmVhZF9saW1pdGVkKHAsY2Fs bGJhY2ssbWF4X3JldHJpZXMpOworCQkgICAgZXJyPWNkZGFfZXJyb3JzKGQpO21lcz1jZGRhX21l c3NhZ2VzKGQpOworCQorCQkgICAgaWYobWVzIHx8IGVycikKKwkJICAgICAgZnByaW50ZihzdGRl cnIsIlxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKKwkJCSAgICAgICIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHIlcyVzXG4iLAorCQkJICAgICAg bWVzP21lczoiIixlcnI/ZXJyOiIiKTsKKwkJICAKKwkJICAgIGlmKGVycilmcmVlKGVycik7aWYo bWVzKWZyZWUobWVzKTsKKwkJICAgIGlmKHJlYWRidWY9PU5VTEwpeworCQkgICAgICBza2lwcGVk X2ZsYWc9MTsKKwkJICAgICAgcmVwb3J0KCJcbnBhcmFub2lhX3JlYWQ6IFVucmVjb3ZlcmFibGUg ZXJyb3IgcmVhZGluZyB0aHJvdWdoICIKKwkJCSAgICAgInNhbXBsZV9vZmZzZXQgc2hpZnRcblx0 YXQgZW5kIG9mIHRyYWNrLCBiYWlsaW5nLlxuIik7CisJCSAgICAgIGJyZWFrOworCQkgICAgfQor CQkgICAgaWYoc2tpcHBlZF9mbGFnICYmIGFib3J0X29uX3NraXApYnJlYWs7CisJCSAgICBza2lw cGVkX2ZsYWc9MDsKKwkJICAgIC8qIGRvIG5vdCBtb3ZlIHRoZSBjdXJzb3IgKi8KKwkJICAKKwkJ ICAgIGlmKG91dHB1dF9lbmRpYW4hPWJpZ2VuZGlhbnAoKSkKKwkJICAgICAgZm9yKGk9MDtpPENE X0ZSQU1FU0laRV9SQVcvMjtpKyspCisJCQlvZmZzZXRfYnVmZmVyW2ldPXN3YXAxNihyZWFkYnVm W2ldKTsKKwkJICAgIGVsc2UKKwkJICAgICAgbWVtY3B5KG9mZnNldF9idWZmZXIscmVhZGJ1ZixD RF9GUkFNRVNJWkVfUkFXKTsKKwkJICAgIG9mZnNldF9idWZmZXJfdXNlZD1zYW1wbGVfb2Zmc2V0 KjQ7CisJCSAgICBjYWxsYmFjayhjdXJzb3IqKENEX0ZSQU1FV09SRFMpLC0yKTsKKwkJICB9IGVs c2UgeworCQkJbWVtc2V0KG9mZnNldF9idWZmZXIsIDAsIHNpemVvZihvZmZzZXRfYnVmZmVyKSk7 CisJCQlvZmZzZXRfYnVmZmVyX3VzZWQgPSBzYW1wbGVfb2Zmc2V0ICogNDsKKwkJICB9CisKKwkJ ICBpZihidWZmZXJpbmdfd3JpdGUob3V0LChjaGFyICopb2Zmc2V0X2J1ZmZlciwKIAkJCSAgICAg ICBvZmZzZXRfYnVmZmVyX3VzZWQpKXsKLQkgICAgICByZXBvcnQoIkVycm9yIHdyaXRpbmcgb3V0 cHV0OiAlcyIsc3RyZXJyb3IoZXJybm8pKTsKLQkgICAgICBleGl0KDEpOwotCSAgICB9Ci0JICB9 CisJCSAgICAgIHJlcG9ydCgiRXJyb3Igd3JpdGluZyBvdXRwdXQ6ICVzIixzdHJlcnJvcihlcnJu bykpOworCQkgICAgICBleGl0KDEpOworCQkgIH0KKwkJfQogCX0KKworCS8qIFdyaXRlIHNlY3Rv cnMgb2Ygc2lsZW50IGF1ZGlvIHRvIGNvbXBlbnNhdGUgZm9yCisgICAgICAgbWlzc2luZyBzYW1w bGVzIHRoYXQgd291bGQgYmUgaW4gdGhlIGxlYWRvdXQgKi8KKwlpZiAoY2RkYV9zZWN0b3JfZ2V0 dHJhY2soZCwgYmF0Y2hfbGFzdCkgPT0gZC0+dHJhY2tzICYmCisJCXRvY19vZmZzZXQgPiAwICYm ICFmb3JjZV9vdmVycmVhZCkKKwl7CisJCWNoYXIgKnNpbGVuY2U7CisJCXNpemVfdCBtaXNzaW5n X3NlY3Rvcl9ieXRlcyA9IENEX0ZSQU1FU0laRV9SQVcgKiB0b2Nfb2Zmc2V0OworCisJCXNpbGVu Y2UgPSBjYWxsb2ModG9jX29mZnNldCwgQ0RfRlJBTUVTSVpFX1JBVyk7CisJCWlmICghc2lsZW5j ZSB8fCBidWZmZXJpbmdfd3JpdGUob3V0LCBzaWxlbmNlLCBtaXNzaW5nX3NlY3Rvcl9ieXRlcykp IHsKKwkJICAgICAgcmVwb3J0KCJFcnJvciB3cml0aW5nIG91dHB1dDogJXMiLCBzdHJlcnJvcihl cnJubykpOworCQkgICAgICBleGl0KDEpOworCQl9CisJCWZyZWUoc2lsZW5jZSk7CisJfQorCiAJ Y2FsbGJhY2soY3Vyc29yKihDRF9GUkFNRVNJWkVfUkFXLzIpLTEsLTEpOwogCWJ1ZmZlcmluZ19j bG9zZShvdXQpOwogCWlmKHNraXBwZWRfZmxhZyl7Cg== --20cf3010e7194fec4204e2bbe716 Content-Type: application/octet-stream; name="02-overread_data.patch" Content-Disposition: attachment; filename="02-overread_data.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hjr8hq9f1 ZGlmZiAtdSBtYWluLmMgbWFpbi5jCi0tLSBtYWluLmMJKHdvcmtpbmcgY29weSkKKysrIG1haW4u Ywkod29ya2luZyBjb3B5KQpAQCAtNjkyLDYgKzY5Miw3IEBACiAgIGludCBxdWVyeV9vbmx5PTA7 CiAgIGludCBiYXRjaD0wLGk7CiAgIGludCBydW5fY2FjaGVfdGVzdD0wOworICBpbnQgbGFzdF9h dWRpb190cmFjazsKIAogICBjaGFyICpsb2dmaWxlX25hbWU9TlVMTDsKICAgY2hhciAqcmVwb3J0 ZmlsZV9uYW1lPU5VTEw7CkBAIC0xMTg1LDkgKzExODYsMTkgQEAKICAgICAgIAogICAgIH0KIAor CWxhc3RfYXVkaW9fdHJhY2sgPSBkLT50cmFja3M7CiAJaWYgKHRvY19vZmZzZXQgJiYgIWZvcmNl X292ZXJyZWFkKSB7Ci0JCWQtPmRpc2NfdG9jW2QtPnRyYWNrc10uZHdTdGFydFNlY3RvciAtPSB0 b2Nfb2Zmc2V0OwotCQlpZiAobGFzdF9zZWN0b3IgPiBjZGRhX3RyYWNrX2xhc3RzZWN0b3IoZCwg ZC0+dHJhY2tzKSkKKwkJaW50IGx0OworCisJCWZvciAobHQgPSBkLT50cmFja3MgOyBsdCA+IDAg OyBsdC0tKQorCQkJaWYgKGNkZGFfdHJhY2tfYXVkaW9wKGQsIGx0KSkKKwkJCQlicmVhazsKKwor CQlpZiAobHQgPiAwKQorCQkJbGFzdF9hdWRpb190cmFjayA9IGx0OworCisJCWQtPmRpc2NfdG9j W2xhc3RfYXVkaW9fdHJhY2tdLmR3U3RhcnRTZWN0b3IgLT0gdG9jX29mZnNldDsKKwkJaWYgKGxh c3Rfc2VjdG9yID4gY2RkYV90cmFja19sYXN0c2VjdG9yKGQsIGxhc3RfYXVkaW9fdHJhY2spKQog CQkJbGFzdF9zZWN0b3IgLT0gdG9jX29mZnNldDsKICAgICB9CiAKQEAgLTEzMzcsNyArMTM0OCw3 IEBACiAJfQogCiAJc2VjdG9ybGVuID0gYmF0Y2hfbGFzdCAtIGJhdGNoX2ZpcnN0ICsgMTsKLQlp ZiAoY2RkYV9zZWN0b3JfZ2V0dHJhY2soZCwgY3Vyc29yKSA9PSBkLT50cmFja3MgJiYKKwlpZiAo Y2RkYV9zZWN0b3JfZ2V0dHJhY2soZCwgY3Vyc29yKSA9PSBsYXN0X2F1ZGlvX3RyYWNrICYmCiAJ CXRvY19vZmZzZXQgPiAwICYmICFmb3JjZV9vdmVycmVhZCkKIAl7CiAJCXNlY3RvcmxlbiArPSB0 b2Nfb2Zmc2V0OwpAQCAtMTQyMiwxMSArMTQzMywxMSBAQAogCiAJICAvKiBPbmUgbGFzdCBiaXQg b2Ygc2lsbGluZXNzIHRvIGRlYWwgd2l0aCBzYW1wbGUgb2Zmc2V0cyAqLwogCSAgaWYoc2FtcGxl X29mZnNldCAmJiBjdXJzb3I+YmF0Y2hfbGFzdCl7Ci0JCWlmIChjZGRhX3NlY3Rvcl9nZXR0cmFj ayhkLCBiYXRjaF9sYXN0KSA8IGQtPnRyYWNrcyB8fCBmb3JjZV9vdmVycmVhZCkgeworCQlpZiAo Y2RkYV9zZWN0b3JfZ2V0dHJhY2soZCwgYmF0Y2hfbGFzdCkgPCBsYXN0X2F1ZGlvX3RyYWNrIHx8 IGZvcmNlX292ZXJyZWFkKSB7CiAJCSAgICBpbnQgaTsKIAogCQkJLyogTmVlZCB0byBmbHVzaCB0 aGUgYnVmZmVyIHdoZW4gb3ZlcnJlYWRpbmcgaW50byB0aGUgbGVhZG91dCAqLwotCQkJaWYgKGNk ZGFfc2VjdG9yX2dldHRyYWNrKGQsIGJhdGNoX2xhc3QpID09IGQtPnRyYWNrcykKKwkJCWlmIChj ZGRhX3NlY3Rvcl9nZXR0cmFjayhkLCBiYXRjaF9sYXN0KSA9PSBsYXN0X2F1ZGlvX3RyYWNrKQog CQkJCXBhcmFub2lhX3NlZWsocCwgY3Vyc29yLCBTRUVLX1NFVCk7CiAKIAkJICAgIC8qIHJlYWQg YSBzZWN0b3IgYW5kIG91dHB1dCB0aGUgcGFydGlhbCBvZmZzZXQuICBTYXZlIHRoZQpAQCAtMTQ3 Miw3ICsxNDgzLDcgQEAKIAogCS8qIFdyaXRlIHNlY3RvcnMgb2Ygc2lsZW50IGF1ZGlvIHRvIGNv bXBlbnNhdGUgZm9yCiAgICAgICAgbWlzc2luZyBzYW1wbGVzIHRoYXQgd291bGQgYmUgaW4gdGhl IGxlYWRvdXQgKi8KLQlpZiAoY2RkYV9zZWN0b3JfZ2V0dHJhY2soZCwgYmF0Y2hfbGFzdCkgPT0g ZC0+dHJhY2tzICYmCisJaWYgKGNkZGFfc2VjdG9yX2dldHRyYWNrKGQsIGJhdGNoX2xhc3QpID09 IGxhc3RfYXVkaW9fdHJhY2sgJiYKIAkJdG9jX29mZnNldCA+IDAgJiYgIWZvcmNlX292ZXJyZWFk KQogCXsKIAkJY2hhciAqc2lsZW5jZTsK --20cf3010e7194fec4204e2bbe716 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Paranoia-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/paranoia-dev --20cf3010e7194fec4204e2bbe716--