--- src/pulsecore/sconv.c	2006/09/01 20:06:31	1.1
+++ src/pulsecore/sconv.c	2006/09/01 20:43:26
@@ -72,6 +72,22 @@ static void float32ne_from_float32ne(uns
     oil_memcpy(b, a, sizeof(float) * n);
 }
 
+static void float32re_to_float32ne(unsigned n, const void *a, float *b) {
+    assert(a);
+    assert(b);
+
+    while (n-- > 0)
+	((uint32_t *)b)[n] = UINT32_SWAP (((uint32_t *)a)[n]);
+}
+
+static void float32re_from_float32ne(unsigned n, const float *a, void *b) {
+    assert(a);
+    assert(b);
+
+    while (n-- > 0)
+	((uint32_t *)b)[n] = UINT32_SWAP (((uint32_t *)a)[n]);
+}
+
 static void ulaw_to_float32ne(unsigned n, const void *a, float *b) {
     const uint8_t *ca = a;
 
@@ -140,6 +156,8 @@ pa_convert_to_float32ne_func_t pa_get_co
             return pa_sconv_s16be_to_float32ne;
         case PA_SAMPLE_FLOAT32NE:
             return float32ne_to_float32ne;
+	case PA_SAMPLE_FLOAT32RE:
+	    return float32re_to_float32ne;
         case PA_SAMPLE_ALAW:
             return alaw_to_float32ne;
         case PA_SAMPLE_ULAW:
@@ -159,6 +177,8 @@ pa_convert_from_float32ne_func_t pa_get_
             return pa_sconv_s16be_from_float32ne;
         case PA_SAMPLE_FLOAT32NE:
             return float32ne_from_float32ne;
+        case PA_SAMPLE_FLOAT32RE:
+            return float32re_from_float32ne;
         case PA_SAMPLE_ALAW:
             return alaw_from_float32ne;
         case PA_SAMPLE_ULAW:
--- src/pulsecore/sample-util.c	2006/09/01 20:33:16	1.1
+++ src/pulsecore/sample-util.c	2006/09/01 20:33:24
@@ -68,6 +68,7 @@ void pa_silence_memory(void *p, size_t l
         case PA_SAMPLE_S16LE:
         case PA_SAMPLE_S16BE:
         case PA_SAMPLE_FLOAT32:
+        case PA_SAMPLE_FLOAT32RE:
             c = 0;
             break;
         case PA_SAMPLE_ALAW:

