由ChanMgr创建新频道并加入到当前的频道列表中
[CHAN] New channel created
Channel *ChanMgr::createChannel(ChanInfo &info, const char *mount)
{
Channel *nc=NULL;
nc = new Channel();
nc->info = info;
nc->next = channel;
channel = nc;
LOG_CHANNEL("New channel created");
return nc;
}
由Channel类启动频道,并加入到ChangMgr的Hit列表中
[CHAN] Channel started
THREAD_PROC Channel::stream(ThreadInfo *thread)
{
// thread->lock();
Channel *ch = (Channel *)thread->data;
while (thread->active && !peercastInst->isQuitting)
{
LOG_CHANNEL("Channel started");
ChanHitList *chl = chanMgr->findHitList(ch->info);
if (!chl)
chanMgr->addHitList(ch->info);
ch->sourceData->stream(ch);
由Channel根据频道信息,创建相应的源
[CHAN] Channel is MP3 - meta: 0
ChannelStream *Channel::createSource()
{
ChannelStream *source=NULL;
switch(info.contentType)
{
case ChanInfo::T_MP3:
LOG_CHANNEL("Channel is MP3 - meta: %d",icyMetaInterval);
source = new MP3Stream();
break;
}
return source;
}
本文介绍了一个关于频道管理及流媒体启动的过程。通过ChannelMgr创建新的频道,并将其加入到当前频道列表中。Channel类负责启动频道并将它加入到Hit列表中。此外,还根据频道信息创建了相应的源。
144

被折叠的 条评论
为什么被折叠?



