We badly need:
 - header reorganization (lots of stuff don't belong to mpg123.h)
 - integer type safety - STOP using ints where size_t or at least long would be appropriate (expecially stream readers)
 - sprintf -> snprintf (maybe with switch to support ancient libc; or replacement by us)
 - rewrite httpget.c; that thing has been a can of bugs for years and I understand why when I look at it (way too many cooks)
 - really parse ID3V2 tags instead of skipping; done for RVA values... using the string info (just?) needs some Unicode/Locale handling
 - check support for fixed point arithmentic; generic_nofpu seems wo work generally, but resampling does not sound nice

From Nicholas: 
 - Seperate out MPEG Audio decoder (only) into seperate library
 - Allow choice of audio output at runtime, rather than compile time
 - Choose processor optimization at runtime, rather than compile time?
 
From Michael (some time after/around pre-0.59s):

- add CRC check.
- add 'free format stream' support.
- optimize layer2.c:
   step_two: fraction as pointer .. 
   process first channel 0 than channel 1
   copy channel 0 to channel 1 for: i >= jsbound
- better frame reader .. especially for layer 3 - DONE by a good deal by Thomas
- MPEG system stream decoder
- check again layer1 !! (Layer-1 support not heavily tested ..)
  Problems with Layer1 fl7 reference stream
- Write a special (optimized) 'single channel' decode.
- optimized dct64 for down sampling modes
- native audio support for AIX and DEC
- update manpage
- optimizations for downsampling modes on layer2 and layer1

MORE TODO: (partially done)
---------------------------

A few notes on how mpg123 tries to select a 'good' 
audio encoding and frequency. (not full implemented yet!!)

- mpg123 tries to set the settings you specify on the command line
  in the order of its appearence (exclusiv .. no fallback then)
  (-r <rate>, --mono, --stereo, --8bit, etc )

- after this, mpg123 tries to set 
    1. the number of channels (or fallback to mono if stereo isn't possible)
    2. the audioformat to 16 bit (or fallback to 8bit)
    3. the "best" frequency: (in this order)
        - the exact stream frequency or fallback to
        - 2:1 frequency or fallback to
        - 4:1 frequency or try the
        - nearest frequency lower than the frequency of your stream
       mpg123 automagically converts the rate. 

So, if you think (or even know), that your hardware supports a higher
frequency only with eg. mono,8bit you must force mpg123 to play mono 
and 8bit. ("--8bit -m") etc....

If you wanna a constant format eg to output the data to stdout you 
must explicit force it with eg: '-r 44100 --stereo'
Else the format will be the format of the mpeg stream.

       



