Rip SACD with a Blu-ray player

Hello all! I ripped my first SACD today, and it worked pretty well. However, it took more than 2.5 hours to rip a full-length SACD, stereo only. I heard it was more like 10 minutes. I wonder why so slow? Would it be faster if I connected the BDP-S5100 directly to my MacBook Pro via USB, instead of downloading over the network? I think my network is plenty fast, but any way that works. If I can use USB, what settings do I need to change in SACDExtractGUI? Thanks!
 
Hello all! I ripped my first SACD today, and it worked pretty well.

Welcome to HFH.

However, it took more than 2.5 hours to rip a full-length SACD, stereo only. I heard it was more like 10 minutes.
Thats way too long, it takes 12 or so minutes for stereo only discs (depending on the total playtime), and about twice that for stereo+multichannel discs (if you are ripping both).

I wonder why so slow?

If you are using WiFi to connect the player that would be a prime culprit, these units have old network interface cards and speeds that slow would suggest something drastically wrong, either a malfunctioning NIC, some big source of 2.4gHz interference, or too great a distance between player and router, or some combination of those 3 factors. Too nearby cell phones, home cordless phones, baby monitors, microwave ovens etc. can cause the interference problem. Distance should be easy to solve since this is effectively a headless operation after the player's settings are set initially, the player can then be relocated away from any displays or audio systems to a location nearby the router.

Better yet, if you had been using WiFi to connect, switch that to a wired Ethernet connection to the router to see if that changes things.

Would it be faster if I connected the BDP-S5100 directly to my MacBook Pro via USB, instead of downloading over the network?

That you cannot do at all.
 
Welcome to HFH.


Thats way too long, it takes 12 or so minutes for stereo only discs (depending on the total playtime), and about twice that for stereo+multichannel discs (if you are ripping both).



If you are using WiFi to connect the player that would be a prime culprit, these units have old network interface cards and speeds that slow would suggest something drastically wrong, either a malfunctioning NIC, some big source of 2.4gHz interference, or too great a distance between player and router, or some combination of those 3 factors. Too nearby cell phones, home cordless phones, baby monitors, microwave ovens etc. can cause the interference problem. Distance should be easy to solve since this is effectively a headless operation after the player's settings are set initially, the player can then be relocated away from any displays or audio systems to a location nearby the router.

Better yet, if you had been using WiFi to connect, switch that to a wired Ethernet connection to the router to see if that changes things.



That you cannot do at all.
Thanks. I could try moving the player nearer the router. Don't think there's any interference. What's a NIC?

I also notice that SACDExtractGUI hangs if the MacBook goes to sleep. I think I've figured out how to stop it from doing that. I've had to start over again several times.
 
Thanks. I could try moving the player nearer the router. Don't think there's any interference. What's a NIC?

I also notice that SACDExtractGUI hangs if the MacBook goes to sleep. I think I've figured out how to stop it from doing that. I've had to start over again several times.
Network Interface Card? Does my MacBook have one? I don't think that can be the problem, everything works fine otherwise.
 
Thanks. I could try moving the player nearer the router. Don't think there's any interference. What's a NIC?

I also notice that SACDExtractGUI hangs if the MacBook goes to sleep. I think I've figured out how to stop it from doing that. I've had to start over again several times.

You can't close the MacBook's lid or the rip process stops, unless you use/engage a 3rd party app like Caffeine or Amphetamine to prevent the Mac from sleeping. If the lid stays open the MacBook won't actually sleep, it just goes to screen saver and that won't harm the rip process.

What's a NIC?

A NIC is a network interface card, in this case the one residing inside the disc player, as described in my original reply. These players use old technology there, but it's still plenty of WiFi bandwidth to rip an SACD.

I could try moving the player nearer the router.

Or just use Ethernet, eliminates all possibility of interference, and always faster than WiFi with these players. That can be a temporary connection used only for your rip sessions. You will have to redo the player's network setup, and it will have a different IP address over wired vs. wireless.
 
You can't close the MacBook's lid or the rip process stops, unless you use/engage a 3rd party app like Caffeine or Amphetamine to prevent the Mac from sleeping. If the lid stays open the MacBook won't actually sleep, it just goes to screen saver and that won't harm the rip process.



A NIC is a network interface card, in this case the one residing inside the disc player, as described in my original reply. These players use old technology there, but it's still plenty of WiFi bandwidth to rip an SACD.



Or just use Ethernet, eliminates all possibility of interference, and always faster than WiFi with these players. That can be a temporary connection used only for your rip sessions. You will have to redo the player's network setup, and it will have a different IP address over wired vs. wireless.
Thanks for your advice! I used the "caffeinate" Terminal command to stop the MacBook from sleeping; that solved that problem. I dug out an Ethernet cable and connected the player directly to the router, and now it's ripping much faster. Took some doing since the router's in a closet; had to clear some space and figure out how to hook up the player and monitor in there. Good Saturday morning project ;)
 
I thought I was going nuts or had forgotten how to rip SACDs before I checked this thread! The issue with sacd_extract starting from macOS 14.4 "seems" to be caused by a change in the behavior of the iconv routine. The behavior change is probably only exposed by a bug in sacd_extract.

The actual bug seems to be that a buffer allocated in charset_convert in charset.c is too small. Replace:

outsize = ((insize + 3) & ~3) + 4;

With:

outsize = (((insize + 3) & ~3) + 4) * 8;

Someone with more patience than me can take it from here...
 
Someone with more patience than me can take it from here...
I take it from here slowly.

The actual bug seems to be that a buffer allocated in charset_convert in charset.c is too small. Replace:
If the buffer allocated is to small the iconv routine returns E2BIG and the case is properly treated in charset_convert() routine. It make a reallocation and the size of buffer is increased.
Here are quotes from libiconv documentation:
The output buffer has no more room for the next converted character. In this case it sets errno to E2BIG and returns(size_t)(−1).

Here is the excerpt from the source code of charset.c:

switch (errno)
{
case E2BIG:
used = outptr - out;
outsize = ((outsize - 4) * 2) + 4;
out = realloc(out, outsize);
outptr = out + used;
outleft = outsize - 4 - used;
goto retry;


Why do you propose multiply by 8 ? The insize or outsize represent the number of bytes.
outsize = (((insize + 3) & ~3) + 4) * 8;
There is no sense to multiply by 8 a number which represents a number of bytes (not bits !!!).


The issue with sacd_extract starting from macOS 14.4 "seems" to be caused by a change in the behavior of the iconv routine.

Conclusion: In my humble opinion you are wrong about this so called 'bug'.

Speaking about macOS 14.4 problem, my guess: the culprit can be a new firewall rule regarding 2002 port (used by a lot of malware) which now is blocked by default.
 
If the buffer allocated is to small the iconv routine returns E2BIG and the case is properly treated in charset_convert() routine. It make a reallocation and the size of buffer is increased.

Ah, that's probably what changed in macOS. Without this change, the IP address of my player was being truncated to just "192", and the actual error that prevented ripping was then "No route to host".

Why do you propose multiply by 8 ? The insize or outsize represent the number of bytes.

There is no sense to multiply by 8 a number which represents a number of bytes (not bits !!!).

I started with a multiply by 4 for UCS-32 code points, but I found that the last code point was still being truncated, so I just made the buffer larger. No point in trying to optimize this.

Conclusion: In my humble opinion you are wrong about this so called 'bug'.

Speaking about macOS 14.4 problem, my guess: the culprit can be a new firewall rule regarding 2002 port (used by a lot of malware) which now is blocked by default.

That's cool. I'm able to rip again after making this change. I'm sure a more precise change can be made, but I just wanted to work on ripping this pile of SACDs.
 
That's cool. I'm able to rip again after making this change. I'm sure a more precise change can be made, but I just wanted to work on ripping this pile of SACDs.

Thats really great, please for the benefit of others detail exactly what changes were made on your end that restored compatibility with macOS 14.4 and sacd_extract, we'd love it if everyone using macOS 14.4 can benefit as you have. Please post here with a positive attitude and respect for the membership at large, we have a very simple code of conduct here. Your previous 2 posts have been moderated accordingly.
 
Thats really great, please for the benefit of others detail exactly what changes were made on your end that restored compatibility with macOS 14.4 and sacd_extract, we'd love it if everyone using macOS 14.4 can benefit as you have. Please post here with a positive attitude and respect for the membership at large, we have a very simple code of conduct here. Your previous 2 posts have been moderated accordingly.

Code:
diff --git a/libs/libcommon/charset.c b/libs/libcommon/charset.c
index 845993a..e053e97 100644
--- a/libs/libcommon/charset.c
+++ b/libs/libcommon/charset.c
@@ -56,7 +56,7 @@ char* charset_convert(const char *string, size_t insize, const char *from, const
 
     /* Due to a GLIBC bug, round outbuf_size up to a multiple of 4 */
     /* + 4 for nul in case len == 1 */
-    outsize = ((insize + 3) & ~3) + 4;
+    outsize = (((insize + 3) & ~3) + 4) * 8;
     out = malloc(outsize);
     outleft = outsize - 4;
     outptr = out;
diff --git a/libs/libsacd/sacd_input.c b/libs/libsacd/sacd_input.c
index c8f8d4d..11e67fb 100644
--- a/libs/libsacd/sacd_input.c
+++ b/libs/libsacd/sacd_input.c
@@ -358,7 +358,7 @@ static sacd_input_t sacd_net_input_open(const char *target)
             atoi(strchr(target, ':') + 1), &tm);
     if (err)
     {
-        fprintf(stderr, "Failed to connect\n");
+        fprintf(stderr, "Failed to connect: %s\n", err);
         goto error;
     }
     socket_setblocking(&dev->fd);
diff --git a/tools/sacd_extract/main.c b/tools/sacd_extract/main.c
index f3d6ef4..3516d22 100644
--- a/tools/sacd_extract/main.c
+++ b/tools/sacd_extract/main.c
@@ -90,7 +90,7 @@ static struct opts_s
 scarletbook_handle_t *handle;
 scarletbook_output_t *output;
 
-void mkdir_wrap(char *name, char *mode){
+void mkdir_wrap(char *name, mode_t mode){
 #ifdef __MINGW32__
     wchar_t *wname;
     wname = (wchar_t *) charset_convert(name, strlen(name), "UTF-8", "UCS-2-INTERNAL");
 
hello MickeyFresh

been successfully ripping my library of SACD's , all done but just one that's not operating, any ideas?




View attachment 79814

Welcome to HFH.

The error message you are getting suggests the disc you are trying to rip is not a Scarlet Book SACD. Which disc title/artist and label/catalog number are you trying to rip there?
 
Hi, I am brand new here and would love to rip my SACDs! Firstly thank you for this fantastic resource, I am really looking forward to the results. But I am in need of some help as have tried all day here in the UK to try and figure out where I am going wrong. Your help would be much appreciated!!
I had a Sony BDP-S380 from new and realising that this model was a little too old to do this, I bought a Sony BDP-S390 for this process which arrived today, but whilst its working fine playing blurays etc - its not working for the ripping process.

Problem 1 - I took a download of the dropbox file a while ago when I was tinkering with the 380, the "Sony / Pioneer" one, and wanted today to do a fresh download to start afresh but its saying I cannot access it. Please would it be possible to grant me access? Do I need to give you my email address or would you have it as moderator?

Problem 2 - I have also read that the firmware needs updating in the BDP-S390 to work as well. I am targeting to use M12R0510 version as suggested here. I found a download from a Sony website as the auto update doesn't seem to be supported anymore, followed the instructions to the letter, have burned it to both CD and USB - but the player will not run it when the disc is inserted. It recognises the disc and USB but just says "no playable files". So am feeling a bit stuck. It does look like the M12R0510 is different to the last firmware that I can find specific to the 390 which is "M11R0502"??

Please would it be possible to ask for some help? I guess the file access may be an easy one but I am really struggling to get the firmware to update.

Many thanks indeed
Julian
 
Hi, I am brand new here and would love to rip my SACDs! Firstly thank you for this fantastic resource, I am really looking forward to the results. But I am in need of some help as have tried all day here in the UK to try and figure out where I am going wrong. Your help would be much appreciated!!
I had a Sony BDP-S380 from new and realising that this model was a little too old to do this, I bought a Sony BDP-S390 for this process which arrived today, but whilst its working fine playing blurays etc - its not working for the ripping process.

Problem 1 - I took a download of the dropbox file a while ago when I was tinkering with the 380, the "Sony / Pioneer" one, and wanted today to do a fresh download to start afresh but its saying I cannot access it. Please would it be possible to grant me access? Do I need to give you my email address or would you have it as moderator?

Problem 2 - I have also read that the firmware needs updating in the BDP-S390 to work as well. I am targeting to use M12R0510 version as suggested here. I found a download from a Sony website as the auto update doesn't seem to be supported anymore, followed the instructions to the letter, have burned it to both CD and USB - but the player will not run it when the disc is inserted. It recognises the disc and USB but just says "no playable files". So am feeling a bit stuck. It does look like the M12R0510 is different to the last firmware that I can find specific to the 390 which is "M11R0502"??

Please would it be possible to ask for some help? I guess the file access may be an easy one but I am really struggling to get the firmware to update.

Many thanks indeed
Julian
Just to add, the M12R0510 zip file I download from a Sony website contained the two files - "MSB12-FW.BIN" and "MSB12-FW.ID". I have read online that an ISO file could be needed, but there isn't one in the zip folder. This is kind of where my computing experience starts and finishes!!
 
Hi, I am brand new here and would love to rip my SACDs!

Welcome to HFH, we can help you rip SACD.

I bought a Sony BDP-S390 for this process which arrived today, but whilst its working fine playing blurays etc - its not working for the ripping process.

The first question there in determining if the player is in proper working order involves playing an SACD, not a Blu-ray. In playing an SACD, the on-screen display should say DSD/SACD and not CD. This will indicate that the player's laser is not on the fritz (a faulty laser will sometimes only want to play the CD layer of an SACD hybrid).

Problem 1 - I took a download of the dropbox file a while ago when I was tinkering with the 380, the "Sony / Pioneer" one, and wanted today to do a fresh download to start afresh but its saying I cannot access it.

It's not a file but a folder called AutoScript which contains 3 files. Do you still have that folder from your original download?

Problem 2 - I have also read that the firmware needs updating in the BDP-S390 to work as well. I am targeting to use M12R0510 version as suggested here. I found a download from a Sony website as the auto update doesn't seem to be supported anymore

There was never any auto update with that player, you need to enter the player's settings and use Network Update:

Sony_network_update.PNG

Can you perform a Network Update (player must have an internet connection, wired/Ethernet is preferable)?
 
Back
Top