Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > c97ca6af4e19f453b5f30d2501448e0f > files > 10

mpg321-0.2.3-1mdk.i586.rpm

Please help! This list is in the order I (generally) want to get to them.
Version 0.3.0 will support networking if I have to get to it myself. Hopefully
id3 tags will be supported before then. Red Hat users, RPMs and good spec files
would be appreciated.

* add id3 tag support, using libid3tag from MAD
* xterm title setting - do people want this?
* Check http/ftp/etc support wrt mpg123; maybe pull the routines out of 
  XMMS - we need proxy support too. None of this currently works.
* Tied to the above: look at -b option. In mpg123, it appears that separate
  decoding and output processes are fork()ed off, and data is piped or otherwise
  transmitted from one process to the other. Implement using mitshm.
* As well, we need to make sure we're always doing the right thing wrt seeking
  and buffering when playing over the network. I don't think we special-case
  network enough, and there are definitely bugs. Oh yes.
* Error message printing, like mpg123 - just need to hook in an error
  handler function on mad_decoder_init.
* Look at downsampling in madplay to duplicate for mpg321
* Look up information as to how to implement -o h, -o s, -o l on sun machines
  (headphones, speakers, line out) - probably just an ioctl. Maybe roll
  this support into libao.
* RPM files, of mpg321 and its dependencies (mad and libao)

On-going potential design and speed improvements:
* The routines read_header and output in mad.c are absolutely critical to 
  performance, because they're called for every single frame in the mp3 file.
  If there are any gains to be made within the mpg321 code, this is it. I
  encourage any performance-minded hackers to take a look.
* MAD itself could possibly benefit from more speed work.
  The best places to optimize performance are probably synthesis 
  (synth.c:synth_full()), the Layer III IMDCT (layer3.c:imdct36()),
  and maybe Layer III Huffman decoding (layer3.c:III_huffdecode()).
  To help out with MAD, contact Rob Leslie <rob@mars.org>
* A lot of the design is pretty disjointed and sketchy at best. I know about 
  this, but sometimes I just don't have the will, desire, or time to do the
  'right thing.' I welcome better people than I to improve upon it.