Index: mplex/lpcmstrm_in.cpp
===================================================================
--- ./mplex/lpcmstrm_in.cpp	(revision 3507)
+++ ./mplex/lpcmstrm_in.cpp	(working copy)
@@ -306,7 +306,15 @@
     default : bps_code = 3; break;
     }
     dst[4] = starting_frame_index;
-    unsigned int bsf_code = (samples_per_second == 48000) ? 0 : 1;
+    unsigned int bsf_code;
+    switch(samples_per_second)
+    {
+    case 48000: bsf_code = 0; break;
+    case 96000: bsf_code = 1; break;
+    case 44100: bsf_code = 2; break;
+    case 32000: bsf_code = 3; break;
+    }
+    //unsigned int bsf_code = (samples_per_second == 48000) ? 0 : 1;
     unsigned int channels_code = channels - 1;
     dst[5] = (bps_code << 6) | (bsf_code << 4) | channels_code;
     dst[6] = dynamic_range_code;
Index: mplex/stream_params.cpp
===================================================================
--- ./mplex/stream_params.cpp	(revision 3507)
+++ ./mplex/stream_params.cpp	(working copy)
@@ -46,7 +46,7 @@
 								unsigned int chans, 
 								unsigned int bits )
 {
-    if( samples != 48000 && samples != 96000 )
+    if( samples != 48000 && samples != 96000  && samples != 44100 && samples != 32000 )
         return 0;
     if( chans < 1 || chans > 7 )
         return 0;
