void MpCodecFactory::addCodecsToList(SdpCodecList &codecList) const { UtlHashBagIterator iter(mCodecsInfo); MpCodecSubInfo* pCodec; while ((pCodec = (MpCodecSubInfo*)iter())) { const MppCodecInfoV1_1 *pCodecInfo = pCodec->getCodecInfo(); if (pCodecInfo->fmtpsNum == 0) { SdpCodec::SdpCodecTypes codecType; OsStatus res = SdpDefaultCodecFactory::getCodecType(pCodecInfo->mimeSubtype, pCodecInfo->sampleRate, pCodecInfo->numChannels, "", codecType); OsSysLog::add(FAC_MP, PRI_DEBUG, "Codec added to list: [%3d]:%s/%d/%d fmtp=\"%s\"\n", res==OS_SUCCESS?codecType:-1, pCodecInfo->mimeSubtype, pCodecInfo->sampleRate, pCodecInfo->numChannels, ""); if (res == OS_SUCCESS) { codecList.addCodec(SdpDefaultCodecFactory::getCodec(codecType)); } } else { for (unsigned fmtpIdx=0; fmtpIdx<pCodecInfo->fmtpsNum; fmtpIdx++) { SdpCodec::SdpCodecTypes codecType; OsStatus res = SdpDefaultCodecFactory::getCodecType(pCodecInfo->mimeSubtype, pCodecInfo->sampleRate, pCodecInfo->numChannels, pCodecInfo->fmtps[fmtpIdx], codecType); OsSysLog::add(FAC_MP, PRI_DEBUG, "Codec added to list: [%3d]:%s/%d/%d fmtp=\"%s\"\n", res==OS_SUCCESS?codecType:-1, pCodecInfo->mimeSubtype, pCodecInfo->sampleRate, pCodecInfo->numChannels, pCodecInfo->fmtps[fmtpIdx]); if (res == OS_SUCCESS) { codecList.addCodec(SdpDefaultCodecFactory::getCodec(codecType)); } } } } }