Changeset 5410 for pjproject/trunk/pjmedia/src/pjmedia/vid_stream.c
- Timestamp:
- Aug 5, 2016 7:26:18 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/vid_stream.c
r5234 r5410 155 155 156 156 pj_bool_t force_keyframe;/**< Forced to encode keyframe? */ 157 unsigned num_keyframe; /**< The number of keyframe needed 158 to be sent, after the stream 159 is created. */ 160 pj_timestamp last_keyframe_tx; 161 /**< Timestamp of the last 162 keyframe. */ 163 157 164 158 165 #if defined(PJMEDIA_STREAM_ENABLE_KA) && PJMEDIA_STREAM_ENABLE_KA!=0 … … 851 858 frame_out.size = 0; 852 859 860 /* Check if need to send keyframe. */ 861 if (stream->num_keyframe) { 862 unsigned elapse_time; 863 pj_timestamp now; 864 865 pj_get_timestamp(&now); 866 867 elapse_time = pj_elapsed_msec(&stream->last_keyframe_tx, &now); 868 869 if (elapse_time > stream->info.sk_cfg.interval) 870 { 871 stream->force_keyframe = PJ_TRUE; 872 if (--stream->num_keyframe) 873 stream->last_keyframe_tx = now; 874 } 875 } 876 853 877 /* Init encoding option */ 854 878 pj_bzero(&enc_opt, sizeof(enc_opt)); … … 1460 1484 stream->use_ka = info->use_ka; 1461 1485 #endif 1486 stream->num_keyframe = info->sk_cfg.count; 1462 1487 1463 1488 /* Build random RTCP CNAME. CNAME has user@host format */ … … 2010 2035 2011 2036 2037 /* 2038 * Initialize the video stream send keyframe with default settings. 2039 */ 2040 PJ_DEF(void) 2041 pjmedia_vid_stream_sk_config_default(pjmedia_vid_stream_sk_config *cfg) 2042 { 2043 pj_bzero(cfg, sizeof(*cfg)); 2044 cfg->count = PJMEDIA_VID_STREAM_START_KEYFRAME_CNT; 2045 cfg->interval = PJMEDIA_VID_STREAM_START_KEYFRAME_INTERVAL_MSEC; 2046 } 2047 2048 2012 2049 #endif /* PJMEDIA_HAS_VIDEO */
Note: See TracChangeset
for help on using the changeset viewer.