Mon 12 Dec 2016 11:35:50 PM UTC, original submission:
Greetings. This is a duplicate of a bug report I made on the paranoia-dev[0] mailing list. However, cdparanoia is essentially abandoned at this point, so you guys get the bug.
What has changed in the interim, though, is that someone who wishes to remain anonymous (NOT ME) has contributed a fix[1].
The crux of the bug, according to the anonymous developer:
"When analyzing stage 2 of the ripping process and looking at what happens differently with the previous patch applied and not applied, I discovered that cdparanoia detected a rift when it was not applied but not when it was applied. This led me to the try_sort_sync function. Through some trial and error, I found that in all stage 2 calls of this function the variable zeropos is 10 when a match is found, except for where the error occurs, there it is -128. This will cause the try_sort_sync function to go into a mode where it tries to match other positions. So the problem is that there is some identical data that is matched that shouldn't be. The offset for this data is then wrong, which will result in jitter being reported (this is why there is a ! in the output). This jitter is seen as a rift, which cdparanoia tries to fix. Since the rift isn't actually there, the fixing makes incorrect merges."
They have contributed two potential fixes:
"Pretty sure I fixed the cdparanoia bug. It actually wasn't in a silence block. There were 2 identical 109 samples of data in the track right near each other. cdparanoia was matching the second one with the first one and saying it was jitter.
This fix doesn't lose out on any error correcting capablities. In the case of multiple matching runs it picks the one with the smallest (absolute value) offset (diff 1) or the one with the longest match (diff 2). Since multiple matching runs should be extremely rare, the impact of this change on other rips should be almost nonexistent. Both diffs fix the Julie Roberts track 5 bug."
[0] http://lists.xiph.org/pipermail/paranoia-dev/2016-August/000279.html
[1] http://lists.xiph.org/pipermail/paranoia-dev/2016-December/000280.html
|