osmux: encapsulate for osmux state information in struct mgcp_endpoint

Just a cleanup, wrap around the osmux state information in a struct.
This commit is contained in:
Pablo Neira Ayuso 2014-08-26 13:31:53 +02:00
parent a4faeb1a79
commit 63650bbc5d
3 changed files with 12 additions and 10 deletions

View File

@ -173,10 +173,11 @@ struct mgcp_endpoint {
/* tap for the endpoint */
struct mgcp_rtp_tap taps[MGCP_TAP_COUNT];
/* osmux is enabled/disabled */
int osmux;
/* osmux internal to unbatch messages for this endpoint */
struct osmux_out_handle osmux_out;
struct {
int enable;
/* handle to unbatch messages */
struct osmux_out_handle out;
} osmux;
};
#define ENDPOINT_NUMBER(endp) abs(endp - endp->tcfg->endpoints)

View File

@ -327,7 +327,8 @@ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp,
len = snprintf(sdp_record, sizeof(sdp_record),
"I: %u%s\n\n",
endp->ci,
endp->cfg->osmux && endp->osmux ? "\nX-Osmux: On" : "");
endp->cfg->osmux && endp->osmux.enable ?
"\nX-Osmux: On" : "");
if (len < 0)
return NULL;
@ -346,7 +347,7 @@ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp,
static void send_dummy(struct mgcp_endpoint *endp)
{
if (endp->osmux)
if (endp->osmux.enable)
osmux_send_dummy(endp);
else
mgcp_send_dummy(endp);

View File

@ -272,7 +272,7 @@ int osmux_read_from_bsc_nat_cb(struct osmo_fd *ofd, unsigned int what)
"sending extracted RTP from OSMUX to BSC via endpoint=%u "
"(allocated=%d)\n", ENDPOINT_NUMBER(endp), endp->allocated);
osmux_xfrm_output(osmuxh, &endp->osmux_out, &list);
osmux_xfrm_output(osmuxh, &endp->osmux.out, &list);
osmux_tx_sched(&list, scheduled_tx_bts_cb, endp);
}
out:
@ -360,7 +360,7 @@ int osmux_read_from_bsc_cb(struct osmo_fd *ofd, unsigned int what)
"sending extracted RTP from OSMUX to MSC via endpoint=%u "
"(allocated=%d)\n", ENDPOINT_NUMBER(endp), endp->allocated);
osmux_xfrm_output(osmuxh, &endp->osmux_out, &list);
osmux_xfrm_output(osmuxh, &endp->osmux.out, &list);
osmux_tx_sched(&list, scheduled_tx_net_cb, endp);
}
out:
@ -423,7 +423,7 @@ int osmux_enable_endpoint(struct mgcp_endpoint *endp, int role)
LOGP(DMGCP, LOGL_NOTICE, "OSMUX requested, ENABLING.\n");
}
osmux_xfrm_output_init(&endp->osmux_out,
osmux_xfrm_output_init(&endp->osmux.out,
(endp->ci * rtp_ssrc_winlen) +
(random() % rtp_ssrc_winlen));
@ -435,7 +435,7 @@ int osmux_enable_endpoint(struct mgcp_endpoint *endp, int role)
endp->type = MGCP_OSMUX_BSC;
break;
}
endp->osmux = 1;
endp->osmux.enable = 1;
return 0;
}