コード例 #1
0
ファイル: prot_configmgr.c プロジェクト: franzks/gecko-dev
uint16_t
sip_config_video_add_codecs (rtp_ptype aSupportedCodecs[],
                             uint16_t supportedCodecsLen,
                             uint16_t codec_mask)
{
  uint16_t count = 0;

  // All things being equal, prefer VP8 > H.264 p1 > H.264 p0 -> H.263
  if ( codec_mask & VCM_CODEC_RESOURCE_VP8) {
    aSupportedCodecs[count] = RTP_VP8;
    count++;
  }
  if ( codec_mask & VCM_CODEC_RESOURCE_H264) {
    if (vcmGetVideoMaxSupportedPacketizationMode() == 1) {
      aSupportedCodecs[count] = RTP_H264_P1;
      count++;
    }
    aSupportedCodecs[count] = RTP_H264_P0;
    count++;
  }
  if ( codec_mask & VCM_CODEC_RESOURCE_H263) {
    aSupportedCodecs[count] = RTP_H263;
    count++;
  }
  return count;
}
コード例 #2
0
ファイル: prot_configmgr.c プロジェクト: JuannyWang/gecko-dev
/*
 * sip_config_local_supported_codecs_get()
 *
 * Get the locally supported codec list.
 */
uint16_t
sip_config_video_supported_codecs_get (rtp_ptype aSupportedCodecs[],
                          uint16_t supportedCodecsLen, boolean isOffer)
{
    uint16_t count = 0;
    int codec_mask;
    cc_uint32_t major_ver, minor_ver;

    if ( isOffer ) {
        codec_mask = vcmGetVideoCodecList(VCM_DSP_FULLDUPLEX);
    } else {
        /* we are trying to match the answer then we
           already have the rx stream open */
        //codec_mask = vcmGetVideoCodecList(DSP_ENCODEONLY);
        codec_mask = vcmGetVideoCodecList(VCM_DSP_IGNORE);
    }
    if ( codec_mask & VCM_CODEC_RESOURCE_H264) {
      /*
       * include payload type for packetization mode 1 only if ucm sis version
       * is equal to or greater than 5.1.0 (AngelFire).
       */
      platGetSISProtocolVer(&major_ver, &minor_ver, NULL, NULL);
      if ((major_ver > SIS_PROTOCOL_MAJOR_VERSION_ANGELFIRE) ||
          (major_ver == SIS_PROTOCOL_MAJOR_VERSION_ANGELFIRE &&
           minor_ver >= SIS_PROTOCOL_MINOR_VERSION_ANGELFIRE)) {
          if (vcmGetVideoMaxSupportedPacketizationMode() == 1) {
            aSupportedCodecs[count] = RTP_H264_P1;
            count++;
          }
      }
      aSupportedCodecs[count] = RTP_H264_P0;
      count++;
    }
    if ( codec_mask & VCM_CODEC_RESOURCE_VP8) {
      aSupportedCodecs[count] = RTP_VP8;
      count++;
    }
    if ( codec_mask & VCM_CODEC_RESOURCE_H263) {
      aSupportedCodecs[count] = RTP_H263;
      count++;
    }

    return count;
}