| 567 | } |
| 568 | |
| 569 | void CLiveWorker::ReceiveStreamAsync(AV_BUFF buff) |
| 570 | { |
| 571 | if(buff.eType == AV_TYPE::RTP) { |
| 572 | |
| 573 | } else if(buff.eType == AV_TYPE::H264_NALU) { |
| 574 | //ԭʼͨ������h264����ת����ȥ |
| 575 | if(m_pOrigin){ |
| 576 | m_pOrigin->ReceiveStream(buff); |
| 577 | } |
| 578 | //��չͨ���������������yuv�ٷ���ȥ |
| 579 | #ifdef EXTEND_CHANNELS |
| 580 | //MutexLock lock(&m_csChls); |
| 581 | if(!m_mapChlEx.empty()){ |
| 582 | if(nullptr == m_pDecoder) { |
| 583 | m_pDecoder = IDecoder::Create(H264DecodeCb,this); |
| 584 | for(auto it:m_mapChlEx){ |
| 585 | it.second->SetDecoder(m_pDecoder); |
| 586 | } |
| 587 | } |
| 588 | m_pDecoder->Decode(buff); |
| 589 | } else { |
| 590 | SAFE_DELETE(m_pDecoder); |
| 591 | } |
| 592 | #endif |
| 593 | } |
| 594 | } |
| 595 | |
| 596 | #ifdef EXTEND_CHANNELS |
| 597 | void CLiveWorker::ReceiveYUV(AV_BUFF buff) |
no test coverage detected