if (payload) {
payload->size = packet_len;
memcpy(payload->buf, rtpheader, packet_len);
- ast_data_buffer_put(rtp->send_buffer, rtp->seqno, payload);
+ if (ast_data_buffer_put(rtp->send_buffer, rtp->seqno, payload) == -1) {
+ ast_free(payload);
+ }
}
}
payload->size = res;
memcpy(payload->buf, rtpheader, res);
- ast_data_buffer_put(rtp->recv_buffer, seqno, payload);
+ if (ast_data_buffer_put(rtp->recv_buffer, seqno, payload) == -1) {
+ ast_free(payload);
+ }
/* If this sequence number is removed that means we had a gap and this packet has filled it in
* some. Since it was part of the gap we will have already added any other missing sequence numbers