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); |
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 | } |