Add function for writing complete RTP frames

This commit is contained in:
Aaro Altonen 2019-05-28 10:11:36 +03:00
parent 76b59f449f
commit ca2666985d
2 changed files with 31 additions and 0 deletions

View File

@ -92,3 +92,27 @@ rtp_error_t kvz_rtp::sender::write_generic_frame(kvz_rtp::connection *conn, kvz_
return RTP_OK;
}
rtp_error_t kvz_rtp::sender::write_frame(
kvz_rtp::connection *conn,
uint8_t *header, size_t header_len,
uint8_t *payload, size_t payload_len
)
{
if (!conn || !header || !payload || header_len == 0 || payload_len == 0)
return RTP_INVALID_VALUE;
rtp_error_t ret;
if ((ret = kvz_rtp::sender::write_generic_header(conn, header, header_len)) != RTP_OK) {
LOG_ERROR("Failed to write generic header, length: %zu", header_len);
return ret;
}
if ((ret = kvz_rtp::sender::write_payload(conn, payload, payload_len)) != RTP_OK) {
LOG_ERROR("Failed to write payload, length: %zu", payload_len);
return ret;
}
return ret;
}

View File

@ -29,5 +29,12 @@ namespace kvz_rtp {
*
* Return RTP_OK on success and RTP_ERROR on error */
rtp_error_t write_generic_frame(kvz_rtp::connection *conn, kvz_rtp::frame::rtp_frame *frame);
/* TODO: */
rtp_error_t write_frame(
kvz_rtp::connection *conn,
uint8_t *header, size_t header_len,
uint8_t *payload, size_t payload_len
);
};
};