64 lines
2.7 KiB
Plaintext
64 lines
2.7 KiB
Plaintext
|
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.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|