view src/endp_register.c @ 39:1485211d4492

twjit: don't clear stats in twrtp_jibuf_reset() This function needs to reset all operating state of twjit to initial, but we should not clear any of our stats counters: those counters are across the lifetime of the RTP endpoint, including stops and restarts for call hold etc.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 20 Dec 2024 09:01:24 +0000
parents 695fdb670d30
children
line wrap: on
line source

/*
 * Here we implement the step of fd registration in twrtp_endp.
 */

#include <stdint.h>
#include <stdbool.h>
#include <unistd.h>

#include <osmocom/core/osmo_io.h>
#include <osmocom/core/utils.h>

#include <themwi/rtp/endp.h>

int twrtp_endp_register_fds(struct twrtp_endp *endp)
{
	int rc;

	if (endp->register_done)
		return 0;

	rc = osmo_iofd_register(endp->iofd_rtp, endp->rtp_fd);
	if (rc < 0) {
		close(endp->rtp_fd);
		close(endp->rtcp_fd);
		return rc;
	}

	rc = osmo_iofd_register(endp->iofd_rtcp, endp->rtcp_fd);
	if (rc < 0) {
		osmo_iofd_close(endp->iofd_rtp);
		close(endp->rtcp_fd);
		return rc;
	}

	endp->register_done = true;
	return 0;
}