shithub: sox

Download patch

ref: 17ea867c6e3e568fe22a73856729306fbba4ef03
parent: e95bf6acc5d699b6d86fa89d817f9aa9af7f8c42
author: robs <robs>
date: Fri Mar 21 19:08:58 EDT 2008

apparently, sphere is signed (or u-law) only

--- a/src/sphere.c
+++ b/src/sphere.c
@@ -93,9 +93,6 @@
   if (!bytes_per_sample)
     bytes_per_sample = encoding == SOX_ENCODING_ULAW? 1 : 2;
 
-  if (encoding == SOX_ENCODING_SIGN2 && bytes_per_sample == 1)
-    encoding = SOX_ENCODING_UNSIGNED;
-
   while (header_size) {
     bytes_read = lsx_readbuf(ft, buf, header_size);
     if (bytes_read == 0) {
@@ -167,10 +164,9 @@
 
 SOX_FORMAT_HANDLER(sphere)
 {
-  static char const *const names[] = { "sph", "nist", NULL };
+  static char const *const names[] = {"sph", "nist", NULL};
   static unsigned const write_encodings[] = {
-    SOX_ENCODING_SIGN2, 16, 24, 32, 0,
-    SOX_ENCODING_UNSIGNED, 8, 0,
+    SOX_ENCODING_SIGN2, 8, 16, 24, 32, 0,
     SOX_ENCODING_ULAW, 8, 0,
     0
   };