Ignore:
Timestamp:
Feb 24, 2011 7:47:55 AM (14 years ago)
Author:
nanang
Message:

Re #1182:

  • Added video stream interface in vid_stream.h, the video stream will be able to handle different video formats in encoding and decoding direction.
  • Renamed video device stream class identifiers from 'pjmedia_vid_stream*' to 'pjmedia_vid_dev_stream*' as 'pjmedia_vid_stream' is used by video stream interface.
  • Added ffmpeg video capability to be able to parse SDP format param for H263 and also decide video format for encoding direction based on remote preference and local format-capability setting.
  • Added some new APIs in jitter buffer for handling video stream: pjmedia_jbuf_put_frame3(), pjmedia_jbuf_get_frame3(), pjmedia_jbuf_peek_frame(), and pjmedia_jbuf_remove_frame().
  • Moved pjmedia_stream_info_from_sdp() from session to stream
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia/vid_codec.c

    r3392 r3420  
    2929static pjmedia_vid_codec_mgr *def_vid_codec_mgr; 
    3030 
    31 /* Definition of default codecs parameters */ 
    32 struct pjmedia_vid_codec_default_param 
    33 { 
    34     pjmedia_vid_codec_param     *param; 
     31 
     32/* 
     33 * Codec manager maintains array of these structs for each supported 
     34 * codec. 
     35 */ 
     36typedef struct pjmedia_vid_codec_desc 
     37{ 
     38    pjmedia_vid_codec_info           info;      /**< Codec info.            */ 
     39    pjmedia_codec_id                 id;        /**< Fully qualified name   */ 
     40    pjmedia_codec_priority           prio;      /**< Priority.              */ 
     41    pjmedia_vid_codec_factory       *factory;   /**< The factory.           */ 
     42    pjmedia_vid_codec_param         *def_param; /**< Default codecs  
     43                                                     parameters.            */ 
     44} pjmedia_vid_codec_desc; 
     45 
     46 
     47/* The declaration of video codec manager */ 
     48struct pjmedia_vid_codec_mgr 
     49{ 
     50    /** Codec manager mutex. */ 
     51    pj_mutex_t                  *mutex; 
     52 
     53    /** List of codec factories registered to codec manager. */ 
     54    pjmedia_vid_codec_factory    factory_list; 
     55 
     56    /** Number of supported codecs. */ 
     57    unsigned                     codec_cnt; 
     58 
     59    /** Array of codec descriptor. */ 
     60    pjmedia_vid_codec_desc       codec_desc[PJMEDIA_CODEC_MGR_MAX_CODECS]; 
     61 
    3562}; 
     63 
    3664 
    3765 
     
    94122PJ_DEF(pjmedia_vid_codec_mgr*) pjmedia_vid_codec_mgr_instance(void) 
    95123{ 
    96     pj_assert(def_vid_codec_mgr); 
     124    //pj_assert(def_vid_codec_mgr); 
    97125    return def_vid_codec_mgr; 
    98126} 
     
    616644                  &param->dec_fmtp.param[i].val); 
    617645    } 
    618     for (i = 0; i < param->dec_fmtp.cnt; ++i) { 
    619         pj_strdup(pool, &p->dec_fmtp.param[i].name,  
    620                   &param->dec_fmtp.param[i].name); 
    621         pj_strdup(pool, &p->dec_fmtp.param[i].val,  
    622                   &param->dec_fmtp.param[i].val); 
     646    for (i = 0; i < param->enc_fmtp.cnt; ++i) { 
     647        pj_strdup(pool, &p->enc_fmtp.param[i].name,  
     648                  &param->enc_fmtp.param[i].name); 
     649        pj_strdup(pool, &p->enc_fmtp.param[i].val,  
     650                  &param->enc_fmtp.param[i].val); 
    623651    } 
    624652 
Note: See TracChangeset for help on using the changeset viewer.