# HG changeset patch # User Mychaela Falconia # Date 1720325838 0 # Node ID 2032201bd034dec1977a531378751e5433996b83 # Parent 695fdb670d3051ccbbb1271ea0e6b5b46a961cde implement twrtp_endp_bind_ip_port() diff -r 695fdb670d30 -r 2032201bd034 include/endp.h --- a/include/endp.h Sun Jul 07 04:06:16 2024 +0000 +++ b/include/endp.h Sun Jul 07 04:17:18 2024 +0000 @@ -59,3 +59,5 @@ void twrtp_endp_destroy(struct twrtp_endp *endp); int twrtp_endp_register_fds(struct twrtp_endp *endp); +int twrtp_endp_bind_ip_port(struct twrtp_endp *endp, const char *ip, + uint16_t port); diff -r 695fdb670d30 -r 2032201bd034 src/Makefile --- a/src/Makefile Sun Jul 07 04:06:16 2024 +0000 +++ b/src/Makefile Sun Jul 07 04:17:18 2024 +0000 @@ -1,5 +1,5 @@ -OBJS= bind_fdpair.o endp_create.o endp_register.o twjit.o twjit_in.o \ - twjit_out.o twjit_vty.o +OBJS= bind_fdpair.o endp_bind.o endp_create.o endp_register.o twjit.o \ + twjit_in.o twjit_out.o twjit_vty.o LIB= libtwrtp.a include ../config.defs diff -r 695fdb670d30 -r 2032201bd034 src/endp_bind.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/endp_bind.c Sun Jul 07 04:17:18 2024 +0000 @@ -0,0 +1,26 @@ +/* + * Here we implement the wrapper function that first obtains a pair of fds + * bound to IP & port for RTP & RTCP, then registers them with twrtp_endp. + */ + +#include +#include +#include + +#include +#include + +int twrtp_endp_bind_ip_port(struct twrtp_endp *endp, const char *ip, + uint16_t port) +{ + int rc; + + if (endp->register_done) + return -EBUSY; + + rc = twrtp_bind_fdpair(ip, port, &endp->rtp_fd, &endp->rtcp_fd); + if (rc < 0) + return rc; + + return twrtp_endp_register_fds(endp); +}