chienbv / sacd-ripper

Automatically exported from code.google.com/p/sacd-ripper
GNU General Public License v2.0
0 stars 0 forks source link

Ripping Guano Apes Don't Give Me Names SACD fails #77

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1.Ripping this SACD to iso or to tracks

What is the expected output? What do you see instead?

Playable iso or DSD tracks. The ripped iso doesn't play in any way (foobar, 
SACD-R). sacd_extract freezes during extraction of tracks.

What version of the product are you using? On what operating system?

sacd-ripper / sacd_extract 0.36 / 0.37

Please provide any additional information below.

Original issue reported on code.google.com by gr...@index.hu on 28 Dec 2013 at 11:28

GoogleCodeExporter commented 9 years ago
The advice below from a member of another forum fixed the problem.

"if i understand correctly the rip on PS3 of that Guano Apes SACD is total 
garbage – i mean the ISO data are totally corrupted. 

so, if it plays on PS3, but sacd-ripper cannot make working ISO of it that 
means this is one of the very rare SACDs without encryption – that’s why 
when sacd-ripper decrypts already already unencrypted data the result is total 
garbage.

there is already fix for that in sacd-ripper – you can look the source code 
in “scarletbook_output.c”.

so, until now all known unencrypted discs were “DSD 3 14/16 discs” as the 
comment in sacd-ripper source code says:

“user reports tell me that the only non-encrypted discs out there are DSD 3 
14/16 discs.
this is a quick hack/fix for these discs.”

that means basically if Guano Apes SACD is not encrypted to fix sacd-ripper is 
one line of code change – build modified sacd-ripper that assumes all SACDs 
are unencrypted – to do that change:

// encrypted blocks need to be decrypted first
if (encrypted && non_encrypted_disc == 0)
{
sacd_decrypt(ft->sb_handle->sacd, output->read_buffer, block_size);
}

to:

// encrypted blocks need to be decrypted first
if (encrypted && non_encrypted_disc == 0)
{
// sacd_decrypt(ft->sb_handle->sacd, output->read_buffer, block_size);
}

in other words comment the line that assumes the data are encrypted and 
decrypts them.

good luck, but i’m like 99% sure that will fix it, if i understand the 
problem report correctly."

Original comment by gr...@index.hu on 1 Feb 2014 at 1:13