Ticket #496: ticket496.patch

File ticket496.patch, 1.4 KB (added by nanang, 15 years ago)
  • pjmedia/src/pjmedia/sound_port.c

     
    9999    frame.timestamp.u32.lo = timestamp; 
    100100 
    101101#if PJMEDIA_SOUND_USE_DELAYBUF 
    102     status = pjmedia_delay_buf_get(snd_port->delay_buf, (pj_int16_t*)output); 
    103     if (status != PJ_SUCCESS) { 
    104         pj_bzero(output, size); 
     102    if (snd_port->delay_buf) { 
     103        status = pjmedia_delay_buf_get(snd_port->delay_buf, (pj_int16_t*)output); 
     104        if (status != PJ_SUCCESS) { 
     105            pj_bzero(output, size); 
     106        } 
     107 
     108        frame.type = PJMEDIA_FRAME_TYPE_AUDIO; 
     109        pjmedia_port_put_frame(port, &frame); 
    105110    } 
    106  
    107     pjmedia_port_put_frame(port, &frame); 
    108111#endif 
    109112 
    110113    status = pjmedia_port_get_frame(port, &frame); 
     
    200203    } 
    201204 
    202205#if PJMEDIA_SOUND_USE_DELAYBUF 
    203     PJ_UNUSED_ARG(size); 
    204     PJ_UNUSED_ARG(timestamp); 
    205     PJ_UNUSED_ARG(frame); 
    206     pjmedia_delay_buf_put(snd_port->delay_buf, (pj_int16_t*)input); 
     206    if (snd_port->delay_buf) { 
     207        PJ_UNUSED_ARG(size); 
     208        PJ_UNUSED_ARG(timestamp); 
     209        PJ_UNUSED_ARG(frame); 
     210 
     211        pjmedia_delay_buf_put(snd_port->delay_buf, (pj_int16_t*)input); 
     212    } else { 
     213        frame.buf = (void*)input; 
     214        frame.size = size; 
     215        frame.type = PJMEDIA_FRAME_TYPE_AUDIO; 
     216        frame.timestamp.u32.lo = timestamp; 
     217 
     218        pjmedia_port_put_frame(port, &frame); 
     219    } 
    207220#else 
    208221    frame.buf = (void*)input; 
    209222    frame.size = size;