To follow up on the meta data concerns, I went ahead and added trace out in flash code to show what I get. I picked up a random aac station from the shoutcast directory.
code:
Play stream type: Shoutcast Stream uri: ;stream.nsv
[SWF] c:\wamp\www\bonkers\Shoutcast.swf - 58,803 bytes after decompression
Provider Loaded
onChannelReady : MetaData
_____________
Response : ICY 200 OK
icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>
icy-notice2:SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>
_____________
Metadata :
br : 32
name : KissFM Romania - www.kissfm.ro - Cea Mai Buna Muzica Se Aude La Kiss
url : http
content-type : audio/aacp
audiocodec : AAC
metaint : 8192
genre : Top 40
audiocodecid : 10
pub : 1
Meta length 32
Metadata :
br : 32
StreamTitle : ''
name : KissFM Romania - www.kissfm.ro - Cea Mai Buna Muzica Se Aude La Kiss
audiocodecid : 10
content-type : audio/aacp
audiocodec : AAC
pub : 1
genre : Top 40
url : http
StreamUrl : ''
metaint : 8192
.
.
onChannelReady : AAC
.
The first flv metadata event is the aggregated icy headers, and the second one is when the first metaint had passed. I aggregated the data into the existing meta object and re-dispatched it.