# # $Id: TODO 99 2006-10-30 04:30:30Z holbrookbw $ # ================================================= phpShout Bugs, Quirks, and FeatureRequests... ================================================= * The 'host' parameter is required in shout_create() - Description: Due to the complex nature of storing objects in the Zend global memory space, connection details are "hashed" to provide a unique string that identifies a particular connection. phpShout's hash looks like the following: "shout_localhost_8000_/mountpoint" This allows for connections to be access from between PHP sessions, providing "persistent" connections like in the mysql extension. As a result, if the shout_create() script is called again with an identical set of parameters, the existing connection will be returned, rather than a new connection created and returned. Since, at this time, a connection's hash key is ONLY calculated in shout_create(), the first call to shout_create() using the default parameters would calculate the hash and store it in PHP memory space. Even if the hostname, port, or mountpoint are changed in the future, the connection object's hash is STILL using the default parameters. Thus, multiple calls using only the default parameters would return a link to the same connection. - Solution: Re-calculate every object's hash whenever the hostname, port, or mount is changed. This way, if a following call is made to shout_create() with default parameters, there is no existing connection with the default hash, and a new connection is made, stored, and returned, just like it should be. * Add a send_file() function to let phpShout buffer and send an entire file - Could have blocking and non-blocking variants * Add ID3 support to parse MP3 metadata * Add libogg support to parse OGG metadata * Once ID3 and libogg are in place, add a set_title_format(string) function to customize the broadcast song title. - string would be lots of tokens like "%a - %t" where %a is the Artist and %t is the songTitle, etc, etc, etc...