- Timestamp:
- Dec 10, 2010 11:04:30 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia/clock_thread.c
r2515 r3392 51 51 52 52 #define MAX_JUMP_MSEC 500 53 #define USEC_IN_SEC (pj_uint64_t)1000000 53 54 54 55 /* … … 64 65 pjmedia_clock **p_clock) 65 66 { 67 return pjmedia_clock_create2(pool, 68 (unsigned)(samples_per_frame * USEC_IN_SEC / 69 channel_count / clock_rate), 70 clock_rate, options, cb, user_data, p_clock); 71 } 72 73 PJ_DEF(pj_status_t) pjmedia_clock_create2(pj_pool_t *pool, 74 unsigned usec_interval, 75 unsigned clock_rate, 76 unsigned options, 77 pjmedia_clock_callback *cb, 78 void *user_data, 79 pjmedia_clock **p_clock) 80 { 66 81 pjmedia_clock *clock; 67 82 pj_status_t status; 68 83 69 PJ_ASSERT_RETURN(pool && clock_rate && samples_per_frame && p_clock,84 PJ_ASSERT_RETURN(pool && usec_interval && clock_rate && p_clock, 70 85 PJ_EINVAL); 71 86 72 87 clock = PJ_POOL_ALLOC_T(pool, pjmedia_clock); 73 74 88 75 89 status = pj_get_timestamp_freq(&clock->freq); … … 77 91 return status; 78 92 79 clock->interval.u64 = samples_per_frame * clock->freq.u64 / 80 channel_count / clock_rate; 93 clock->interval.u64 = usec_interval * clock->freq.u64 / USEC_IN_SEC; 81 94 clock->next_tick.u64 = 0; 82 95 clock->timestamp.u64 = 0; 83 96 clock->max_jump = MAX_JUMP_MSEC * clock->freq.u64 / 1000; 84 clock->timestamp_inc = samples_per_frame / channel_count; 97 clock->timestamp_inc = (unsigned)(usec_interval * clock_rate / 98 USEC_IN_SEC); 85 99 clock->options = options; 86 100 clock->cb = cb; … … 111 125 112 126 127 113 128 /* 114 129 * Start the clock.
Note: See TracChangeset
for help on using the changeset viewer.