add patches subdirectory to dist

decide if mp101 should use iso8859 or utf8 (see bundled player?)

support ASX playlists
support mms streams

support other playlists found in http://gonze.com/playlists/playlist-format-survey.html ?

escape certain character (space => %20 etc) when doing http requests? or reverse?

attempt to GET immediately if HEAD fails? or skip HEAD support altogether?
check Content-Type in HTTP/ICY GET/HEAD headers against --file-types list?

improve error messages:
  Attempting to read 1048602 bytes at 1235  =>>> BUT READ HOW MANY!?
  Found URL  =>> DISCARDING OR ADDING!?

implement ICY data every 4096 bytes? (must send ICY-MetaData:1)

if a playlist has a single file, merge that one into the playlist!

audioBroadcast cannot be paused by mp101!! but other types can

http://forums.radiotoolbox.com/viewtopic.php?t=74

add HTTP buffering somehow (not at first - mp101 does it automaticly)

add rtsp types.

fix name identification for HTTP urls (don't use base_name)

rename --file-types to --data-types or just --types (for http)?

give up after N invalid entries in simple playlists?
support for urls in playlists (playlists only?)
can playlist support be implemented by not processing playlists? check how other apps do it.
sorting support - both in input dirs and inside upnp.

---

try intel tools again, in regard to <res> @protocolInfo, @size etc.
assumption: specifying res specifies all res attributes. (or at least the required ones?!)
should @protocolInfo be specified or protocolInfo?
MP101 does: res, class, duration, upnp:artist, upnp:album, upnp:genre

test search parsing:
unterminated strings: should cause error every time
test other and any strings!

---

use quotearg etc for "die", "warn" and logging.

from Daniel Bachfeld:
FYI: the twonkyvision ini-File for the musicserver contains a specific
setting for the m1000:

# param -nosearch [n] = set to 1 to supress search support
# mainly needed for ROKU which brings own UI when search is enabled
nosearch=0

The vendor suggest to set it to 1. However, it works still with 0
---

mp101: test uncompressed wave  playing
read UPNP device architecture.
add section to README about relevant standards and documentation
internal:
  remove generic entry detail. instead support the following:
    EntryDirectoryInfo - including local_path!
    EntryTagInfo
announce on www.media-servers.com: forums?
clean up upnp support. as much as necessary and CORRECT is the keyword.
  upnp: What do we do with A_ARG_* variables? Handle in get_variable_request?
  upnp: Subscriptions: What is subscribable?!

RELEASE V2:

convert into supported audio format in realtime (mp3 encoder or just decode to wave?)
when do we need to report 'res' URL? check contentdir docs. why doesn't twonky do it?
improved debugging for webserver.c, metadata.c, contentdir.c
implement variables such as UpdateID (always returns 0!)
check out .m3u support correctly
check out radio support, simple and advanced user configuration of url & item data
log connected control points
implement stuff in connectmgr.c, contentdir.c
set up web server to serve all SPCD documents
communication over subnets: does it work in Windows? if yes, then something must be incorrectly set up in linux (multicast?)
support other formats than mp3. find out what formats are supported. WAVE?

threading: do we need mutexes to synch data?
improve parsing of --expire-time in main.c: allow for 1h2s or 1m2s (see 'info coreutils sleep').

DISTANT FUTURE:

gnulib: use closeout?
external or (why not) native rtsp support
become a full GNU project - hand over copyright to FSF, if they want it
caching of metadata, even across restarts (storing to cache file), keeping partial tree in memory
virtual representation vs physical representation
log as soon as a control point connects to us. requires libupnp modifications/feature additions!

directory file discovery
  plain filename (no extension)
  id3
  db4 database lookup
    key=full path|relative path|filename only
    value=cvs of key=value
  file table lookup
    FILESPEC\nKEY=VALUE,..
  postgresql database lookup
    QUERY+FILESPEC TYPE+COLUMN MAP (colname,..)
    DATABASE URL
  mysql database lookup

external program
  generates XML?
    in: directory
    out: xml

xml database
  complete file

custom database
  n-level
  level 1: query, column map
  level 2: query, column map

feature: search caching

-I include file match
-X exclude file match

-m method of getting song information
   name
   id3
   filelookup
   external program: PATH
   db file
   database lookup: DATABASE SPEC, QUERY
-d/-l/-i INTERFACE interface to listen on
-b background
-o FILE output to file, append if necessary
-V N verbosity
-c FILE read config
-C cache discovered info into FILE (for this dir/all dirs)
   keeps modified-time for all dirs?

====

basic client for gmediaserver, console based
