From ca2666985d790e6dc633b42a27c38816ce8e3e2a Mon Sep 17 00:00:00 2001 From: Aaro Altonen Date: Tue, 28 May 2019 10:11:36 +0300 Subject: [PATCH] Add function for writing complete RTP frames --- src/send.cc | 24 ++++++++++++++++++++++++ src/send.hh | 7 +++++++ 2 files changed, 31 insertions(+) diff --git a/src/send.cc b/src/send.cc index f9f7508..5ba0b99 100644 --- a/src/send.cc +++ b/src/send.cc @@ -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; +} diff --git a/src/send.hh b/src/send.hh index 7d42a2b..2829830 100644 --- a/src/send.hh +++ b/src/send.hh @@ -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 + ); }; };