通过日志文件分析Peercast频道的创建过程

本文介绍了一个关于频道管理及流媒体启动的过程。通过ChannelMgr创建新的频道,并将其加入到当前频道列表中。Channel类负责启动频道并将它加入到Hit列表中。此外,还根据频道信息创建了相应的源。

由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;

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值