ChanInfo类:保存频道信息
::String name;
GnuID id,bcID;
int bitrate;
TYPE contentType;
PROTOCOL srcProtocol;
unsigned int lastPlayStart,lastPlayEnd;
unsigned int numSkips;
unsigned int createdTime;
STATUS status;
TrackInfo track;
::String desc,genre,url,comment;
Channel类:管理具体的频道操作
THREAD_PROC Channel::stream(ThreadInfo *thread)
ChannelMgr类,它完成频道创建、管理、寻找、停止等操作
Channel *ChanMgr::createChannel(ChanInfo &info, const char *mount)
void ChanMgr::findAndPlayChannel(ChanInfo &info, bool keep)
ChannelSource负责具体的流传输工作,其中定义一个虚方法stream由子类PeercastSource、ICYSource、URLSource实现
virtual void stream(Channel *) = 0;
ChannelHit:维持一份与你收听同一个频道的节点的信息
void ChanHit::pickNearestIP(Host &h)
void ChanHit::initLocal(int numl,int numr,int,int uptm,bool connected,unsigned int oldp,unsigned int newp)
ChannelHitList:维持一份ChannelHit列表
ChanHit *ChanHitList::addHit(ChanHit &h)