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;