コード例 #1
0
ファイル: pj_vpx.c プロジェクト: iTeach/SipClient
/*
 * Enum codecs supported by this factory.
 */
static pj_status_t pj_vpx_enum_codecs(pjmedia_vid_codec_factory *factory,
        unsigned *count, pjmedia_vid_codec_info codecs[]) {
    unsigned i;

    PJ_ASSERT_RETURN(codecs && *count > 0, PJ_EINVAL);
    PJ_ASSERT_RETURN(factory == &vpx_factory.base, PJ_EINVAL);
    PJ_LOG(4, (THIS_FILE, "Enum codecs..."));

    *count = 0;
    codecs[*count].fmt_id = PJMEDIA_FORMAT_PACK('L', 'V', 'P', '8');
    codecs[*count].pt = PJMEDIA_RTP_PT_VP8;
    codecs[*count].encoding_name = pj_str("VP8");
    codecs[*count].encoding_desc = pj_str("WebM Project VP8 Encoder");
    codecs[*count].dir = PJMEDIA_DIR_ENCODING_DECODING;
    codecs[*count].clock_rate = 90000;
    codecs[*count].fps_cnt = 0;
    codecs[*count].dec_fmt_id_cnt = 1;
    codecs[*count].dec_fmt_id[0] = PJMEDIA_FORMAT_I420;

    /*
     codecs[*count].fps[0].num = 15;
     codecs[*count].fps[0].denum = 1;
     */
    codecs[*count].packings = PJMEDIA_VID_PACKING_PACKETS;

    (*count)++;

    return PJ_SUCCESS;
}
コード例 #2
0
ファイル: pj_vpx.c プロジェクト: imace/mbgapp
/*
 * Generate default attribute.
 */
static pj_status_t pj_vpx_default_attr(pjmedia_vid_codec_factory *factory,
        const pjmedia_vid_codec_info *info, pjmedia_vid_codec_param *attr) {

    PJ_ASSERT_RETURN(factory==&vpx_factory.base, PJ_EINVAL);
    PJ_ASSERT_RETURN(info && attr, PJ_EINVAL);

    TRACE_((THIS_FILE, "vpx default attr"));


    pj_bzero(attr, sizeof(pjmedia_vid_codec_param));

    /* Scan the requested packings and use the lowest number */
    attr->packing = 1;

    /* Direction */
    attr->dir = PJMEDIA_DIR_ENCODING_DECODING;

    /* Encoded format */
    pjmedia_format_init_video(&attr->enc_fmt, PJMEDIA_FORMAT_PACK('L', 'V', 'P', '8'), 640, 480, 30,
            1);

    /* Decoded format */
    pjmedia_format_init_video(&attr->dec_fmt, PJMEDIA_FORMAT_I420, 640, 480, 30,
            1);

    /* Decoding fmtp */
    attr->dec_fmtp.cnt = 0;

    /* Bitrate */
    attr->enc_fmt.det.vid.avg_bps = 1024 * 1000;
    attr->enc_fmt.det.vid.max_bps = 1024 * 1000;

    attr->enc_fmtp.cnt = 0;

    /* Encoding MTU */
    attr->enc_mtu = PJMEDIA_MAX_VID_PAYLOAD_SIZE;

    return PJ_SUCCESS;
}