| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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.
-
|