From 9ee23183849c30b52f4aa693650bc6d617d19610 Mon Sep 17 00:00:00 2001 From: Aaro Altonen Date: Wed, 12 Aug 2020 10:19:26 +0300 Subject: [PATCH] Remove low-level socket handlers This kind of functionality is now provided by RTP packet dispatcher for receive-functionality and similar kind of send functionality is implemented very soon --- include/socket.hh | 14 ----------- src/socket.cc | 63 ----------------------------------------------- 2 files changed, 77 deletions(-) diff --git a/include/socket.hh b/include/socket.hh index cc3d026..ba97544 100644 --- a/include/socket.hh +++ b/include/socket.hh @@ -138,16 +138,6 @@ namespace uvg_rtp { /* Get the out address for the socket if it exists */ sockaddr_in& get_out_address(); - /* Some media types (such as HEVC) require finer control over the sending/receiving process - * These functions can be used to install low-level (the higher level API will call these) - * functions for dealing with media-specific details - * - * Return RTP_OK if installation succeeded - * Return RTP_INVALID_VALUE if the handler is nullptr */ - void install_ll_recv(rtp_error_t (*recv)(socket_t, uint8_t *, size_t , int , sockaddr_in *, int *)); - void install_ll_sendto(rtp_error_t (*sendto)(socket_t, sockaddr_in&, uint8_t *, size_t, int, int *)); - void install_ll_sendtov(rtp_error_t (*send)(socket_t, sockaddr_in&, std::vector>, int, int *)); - private: /* helper function for sending UPD packets, see documentation for sendto() above */ rtp_error_t __sendto(sockaddr_in& addr, uint8_t *buf, size_t buf_len, int flags, int *bytes_sent); @@ -157,10 +147,6 @@ namespace uvg_rtp { /* __sendtov() does the same as __sendto but it combines multiple buffers into one frame and sends them */ rtp_error_t __sendtov(sockaddr_in& addr, std::vector> buffers, int flags, int *bytes_sent); - rtp_error_t (*recv_handler_)(socket_t, uint8_t *, size_t , int , sockaddr_in *, int *); - rtp_error_t (*sendto_handler_)(socket_t, sockaddr_in&, uint8_t *, size_t, int, int *); - rtp_error_t (*sendtov_handler_)(socket_t, sockaddr_in&, std::vector>, int, int *); - socket_t socket_; sockaddr_in addr_; uvg_rtp::srtp *srtp_; diff --git a/src/socket.cc b/src/socket.cc index 3f82ce3..65e11e8 100644 --- a/src/socket.cc +++ b/src/socket.cc @@ -22,9 +22,6 @@ using namespace mingw; #include "util.hh" uvg_rtp::socket::socket(int flags): - recv_handler_(nullptr), - sendto_handler_(nullptr), - sendtov_handler_(nullptr), socket_(-1), srtp_(nullptr), flags_(flags) @@ -175,33 +172,21 @@ rtp_error_t uvg_rtp::socket::__sendto(sockaddr_in& addr, uint8_t *buf, size_t bu rtp_error_t uvg_rtp::socket::sendto(uint8_t *buf, size_t buf_len, int flags) { - if (sendto_handler_) - return sendto_handler_(socket_, addr_, buf, buf_len, flags, nullptr); - return __sendto(addr_, buf, buf_len, flags, nullptr); } rtp_error_t uvg_rtp::socket::sendto(uint8_t *buf, size_t buf_len, int flags, int *bytes_sent) { - if (sendto_handler_) - return sendto_handler_(socket_, addr_, buf, buf_len, flags, bytes_sent); - return __sendto(addr_, buf, buf_len, flags, bytes_sent); } rtp_error_t uvg_rtp::socket::sendto(sockaddr_in& addr, uint8_t *buf, size_t buf_len, int flags, int *bytes_sent) { - if (sendto_handler_) - return sendto_handler_(socket_, addr, buf, buf_len, flags, bytes_sent); - return __sendto(addr, buf, buf_len, flags, bytes_sent); } rtp_error_t uvg_rtp::socket::sendto(sockaddr_in& addr, uint8_t *buf, size_t buf_len, int flags) { - if (sendto_handler_) - return sendto_handler_(socket_, addr, buf, buf_len, flags, nullptr); - return __sendto(addr, buf, buf_len, flags, nullptr); } @@ -276,25 +261,16 @@ rtp_error_t uvg_rtp::socket::__sendtov( rtp_error_t uvg_rtp::socket::sendto(std::vector> buffers, int flags) { - if (sendtov_handler_) - return sendtov_handler_(socket_, addr_, buffers, flags, nullptr); - return __sendtov(addr_, buffers, flags, nullptr); } rtp_error_t uvg_rtp::socket::sendto(std::vector> buffers, int flags, int *bytes_sent) { - if (sendtov_handler_) - return sendtov_handler_(socket_, addr_, buffers, flags, bytes_sent); - return __sendtov(addr_, buffers, flags, bytes_sent); } rtp_error_t uvg_rtp::socket::sendto(sockaddr_in& addr, std::vector> buffers, int flags) { - if (sendtov_handler_) - return sendtov_handler_(socket_, addr, buffers, flags, nullptr); - return __sendtov(addr, buffers, flags, nullptr); } @@ -304,9 +280,6 @@ rtp_error_t uvg_rtp::socket::sendto( int flags, int *bytes_sent ) { - if (sendtov_handler_) - return sendtov_handler_(socket_, addr, buffers, flags, bytes_sent); - return __sendtov(addr, buffers, flags, bytes_sent); } @@ -483,60 +456,24 @@ rtp_error_t uvg_rtp::socket::__recvfrom(uint8_t *buf, size_t buf_len, int flags, rtp_error_t uvg_rtp::socket::recvfrom(uint8_t *buf, size_t buf_len, int flags, sockaddr_in *sender, int *bytes_read) { - if (recv_handler_) - return recv_handler_(socket_, buf, buf_len, flags, sender, bytes_read); - return __recvfrom(buf, buf_len, flags, sender, bytes_read); } rtp_error_t uvg_rtp::socket::recvfrom(uint8_t *buf, size_t buf_len, int flags, int *bytes_read) { - if (recv_handler_) - return recv_handler_(socket_, buf, buf_len, flags, nullptr, bytes_read); - return __recvfrom(buf, buf_len, flags, nullptr, bytes_read); } rtp_error_t uvg_rtp::socket::recvfrom(uint8_t *buf, size_t buf_len, int flags, sockaddr_in *sender) { - if (recv_handler_) - return recv_handler_(socket_, buf, buf_len, flags, sender, nullptr); - return __recvfrom(buf, buf_len, flags, sender, nullptr); } rtp_error_t uvg_rtp::socket::recvfrom(uint8_t *buf, size_t buf_len, int flags) { - if (recv_handler_) - return recv_handler_(socket_, buf, buf_len, flags, nullptr, nullptr); - return __recvfrom(buf, buf_len, flags, nullptr, nullptr); } -void uvg_rtp::socket::install_ll_recv( - rtp_error_t (*recv)(socket_t, uint8_t *, size_t , int , sockaddr_in *, int *) -) -{ - assert(recv != nullptr); - recv_handler_ = recv; -} - -void uvg_rtp::socket::install_ll_sendto( - rtp_error_t (*sendto)(socket_t, sockaddr_in&, uint8_t *, size_t, int, int *) -) -{ - assert(sendto != nullptr); - sendto_handler_ = sendto; -} - -void uvg_rtp::socket::install_ll_sendtov( - rtp_error_t (*sendtov)(socket_t, sockaddr_in&, std::vector>, int, int *) -) -{ - assert(sendtov != nullptr); - sendtov_handler_ = sendtov; -} - sockaddr_in& uvg_rtp::socket::get_out_address() { return addr_;