- 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/master_port.c
r3214 r3392 57 57 unsigned samples_per_frame; 58 58 unsigned bytes_per_frame; 59 pjmedia_audio_format_detail *u_afd, *d_afd; 59 60 pj_status_t status; 60 61 … … 62 63 PJ_ASSERT_RETURN(pool && u_port && d_port && p_m, PJ_EINVAL); 63 64 65 u_afd = pjmedia_format_get_audio_format_detail(&u_port->info.fmt, PJ_TRUE); 66 d_afd = pjmedia_format_get_audio_format_detail(&d_port->info.fmt, PJ_TRUE); 64 67 65 68 /* Both ports MUST have equal clock rate */ 66 PJ_ASSERT_RETURN(u_ port->info.clock_rate == d_port->info.clock_rate,69 PJ_ASSERT_RETURN(u_afd->clock_rate == d_afd->clock_rate, 67 70 PJMEDIA_ENCCLOCKRATE); 68 71 69 72 /* Both ports MUST have equal samples per frame */ 70 PJ_ASSERT_RETURN( u_port->info.samples_per_frame==71 d_port->info.samples_per_frame,73 PJ_ASSERT_RETURN(PJMEDIA_PIA_SPF(&u_port->info)== 74 PJMEDIA_PIA_SPF(&d_port->info), 72 75 PJMEDIA_ENCSAMPLESPFRAME); 73 76 74 77 /* Both ports MUST have equal channel count */ 75 PJ_ASSERT_RETURN(u_ port->info.channel_count == d_port->info.channel_count,78 PJ_ASSERT_RETURN(u_afd->channel_count == d_afd->channel_count, 76 79 PJMEDIA_ENCCHANNEL); 77 80 78 81 79 82 /* Get clock_rate and samples_per_frame from one of the port. */ 80 clock_rate = u_ port->info.clock_rate;81 samples_per_frame = u_port->info.samples_per_frame;82 channel_count = u_ port->info.channel_count;83 clock_rate = u_afd->clock_rate; 84 samples_per_frame = PJMEDIA_PIA_SPF(&u_port->info); 85 channel_count = u_afd->channel_count; 83 86 84 87 … … 86 89 * buffer. We take the larger size of the two ports. 87 90 */ 88 bytes_per_frame = u_port->info.bytes_per_frame;89 if ( d_port->info.bytes_per_frame> bytes_per_frame)90 bytes_per_frame = d_port->info.bytes_per_frame;91 bytes_per_frame = PJMEDIA_AFD_AVG_FSZ(u_afd); 92 if (PJMEDIA_AFD_AVG_FSZ(d_afd) > bytes_per_frame) 93 bytes_per_frame = PJMEDIA_AFD_AVG_FSZ(d_afd); 91 94 92 95 … … 208 211 PJ_ASSERT_RETURN(m && port, PJ_EINVAL); 209 212 213 /* Only supports audio for now */ 214 PJ_ASSERT_RETURN(port->info.fmt.type==PJMEDIA_TYPE_AUDIO, PJ_ENOTSUP); 215 210 216 /* If we have downstream port, make sure they have matching samples per 211 217 * frame. … … 213 219 if (m->d_port) { 214 220 PJ_ASSERT_RETURN( 215 port->info.clock_rate/port->info.samples_per_frame==216 m->d_port->info.clock_rate/m->d_port->info.samples_per_frame,221 PJMEDIA_PIA_PTIME(&port->info) == 222 PJMEDIA_PIA_PTIME(&m->d_port->info), 217 223 PJMEDIA_ENCSAMPLESPFRAME 218 224 ); … … 246 252 { 247 253 PJ_ASSERT_RETURN(m && port, PJ_EINVAL); 254 255 /* Only supports audio for now */ 256 PJ_ASSERT_RETURN(port->info.fmt.type==PJMEDIA_TYPE_AUDIO, PJ_ENOTSUP); 248 257 249 258 /* If we have upstream port, make sure they have matching samples per … … 252 261 if (m->u_port) { 253 262 PJ_ASSERT_RETURN( 254 port->info.clock_rate/port->info.samples_per_frame==255 m->u_port->info.clock_rate/m->u_port->info.samples_per_frame,263 PJMEDIA_PIA_PTIME(&port->info) == 264 PJMEDIA_PIA_PTIME(&m->u_port->info), 256 265 PJMEDIA_ENCSAMPLESPFRAME 257 266 );
Note: See TracChangeset
for help on using the changeset viewer.