Commit 3cb99237 authored by Warren Dukes's avatar Warren Dukes

TODO updates

git-svn-id: https://svn.musicpd.org/mpd/trunk@1074 09075e82-0dd4-0310-85a5-a0d7c8717e4f
parent 1be91059
1) play streams 1) play streams
a) don't use libcurl, too messy, instead write own http code. lots of a) for mp3, remember to turn off IGNORECRC for mp3 streams
examples in alsaplayer, xine, xmms, etc. THis will be b) make deal with non-blocking in the beginning better.
much more flexible and prevent from needing to spawn an extra c) check inStream->seekable after opening and store this in
process! decoderControl to deal with seeking better
b) pass decoderControl to inputStream, so that if we are doing blocking d) fetch metadata and store in DecoderControl and pass to
stuff, its easy to halt it and return PlayerControl
c) for mp3, remember to turn off IGNORECRC for mp3 streams 1) eventually deal with icy-metadata
2) parse metadata on the fly in decoders
2) streaming and playing in general e) command for dealing with the changing metadata, currentsonginfo
a) determine a clever interface to play, so that play doesn't block or something
until the file is opened, but just returns when the command
is accepted. 2) how to deal with streams and the db
b) put errors in error stuff of PlayerControl and report this to a) should streams be stored in the db?
b) handle url playlists!
1) have one fd for opening playlists in a url (allow only
loading of one of these at a time).
2) check for new data on it in the main while(select()) loop
3) block client requesting the log until the load is finished
4) need a timeout for this, 10 seconds, configurable?
3) streaming and playing in general
a) put errors in error stuff of PlayerControl and report this to
status and print to error logs status and print to error logs
c) this will help streaming from blocking indefinetly or waiting
on a response
3) resampling audio for compatibility, and better gapless/crossfading 4) resampling audio for compatibility, and better gapless/crossfading
a) default audio format is (44.1khz, 16-bit, stereo) a) use resampling from oggenc (is it fast enough for realtime?)
b) use resampling from oggenc (is it fast enough for realtime?)
4) when writing combined interface for all decodes to use, be sure to add a 5) when writing combined interface for all decodes to use, be sure to add a
common function and abstrct dealing with DecoderControl * and put common function and abstrct dealing with DecoderControl * and put
cycleLogFiles in there, so we cycleLogFiles while decoding, not just when cycleLogFiles in there, so we cycleLogFiles while decoding, not just when
decoding has stopped. decoding has stopped.
5) ACK error codes 6) ACK error codes
6) cleanup main() 7) cleanup main()
7) handle '\n' in filenames 8) handle '\n' in filenames
8) allow "add" command to load playlists, then depricate "load" command, this 9) allow "add" command to load playlists, then depricate "load" command, this
will be benneficial for adding m3u url's will be benneficial for adding m3u url's
9) compute average replaygain to use for non-replaygain songs 10) compute average replaygain to use for non-replaygain songs
Post-1.0 Post-1.0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment