Comment by smalltorch
1 day ago
The base64 encoding adds about 30% overhead. It's not ideal but it was a limitation of bash. Passing raw binary does not work in bash (or I couldn't get it to work).
1 day ago
The base64 encoding adds about 30% overhead. It's not ideal but it was a limitation of bash. Passing raw binary does not work in bash (or I couldn't get it to work).
I was also curious about the base64 encoding in the stack. I'm not knowledgeable in this area though so it was more for my own education than questioning the choices.
Its a product of me troubleshooting why my audio pipe wasn't working in early prototyping. I tried quite a few things and the first time I got the successful loopback on a remote device I had implemented the base64 and it solved the piping errors I was getting.
Turns out bash totally can pipe raw binary you just need to appropriately wrap the blob with the correct command.
By the time I had the working pipe I was in feature building mode.
What exactly was the problem you ran into? I've run binary through pipes just fine before.
your right it's not a problem. This has been implemented since v1 and I haven't really been focused to much this. Trying to decide if I should remove this step for future versions. It's a clear optimization but Im thinking it should at least be backwards compatible with old versions.
It's not really a latency saver but it definitely reduces load on the network.