MCPcopy Create free account
hub / github.com/BigPig0/RelayLive / AddHandleAsync

Method AddHandleAsync

Modules/LiveClient/LiveWorker.cpp:430–460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

428 }
429
430 bool CLiveWorker::AddHandleAsync(ILiveHandle* h, HandleType t, int c)
431 {
432 if(c == 0) {
433 // ԭʼͨ��
434 if(!m_pOrigin)
435 m_pOrigin = new CLiveChannel;
436 CHECK_POINT_BOOL(m_pOrigin);
437 m_pOrigin->AddHandle(h, t);
438 } else {
439 // ��չͨ��
440#ifdef EXTEND_CHANNELS
441 //MutexLock lock(&m_csChls);
442 auto fit = m_mapChlEx.find(c);
443 if(fit != m_mapChlEx.end()) {
444 fit->second->AddHandle(h, t);
445 } else {
446 CLiveChannel *nc = new CLiveChannel(c, 640, 480);
447 nc->AddHandle(h, t);
448 nc->SetDecoder(m_pDecoder);
449 m_mapChlEx.insert(make_pair(c, nc));
450 }
451#else
452 // ԭʼͨ��
453 if(!m_pOrigin)
454 m_pOrigin = new CLiveChannel;
455 CHECK_POINT_BOOL(m_pOrigin);
456 m_pOrigin->AddHandle(h, t);
457#endif
458 }
459 return true;
460 }
461
462 bool CLiveWorker::RemoveHandle(ILiveHandle* h)
463 {

Callers 1

async_cbFunction · 0.80

Calls 5

findMethod · 0.80
AddHandleMethod · 0.45
endMethod · 0.45
SetDecoderMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected