TT#62300 kernelise stream even if address doesn't match if possible

Change-Id: If0756aa5ac5ce3ddf29d3ca1cb87410d7d57c89b
changes/10/31510/4
Richard Fuchs 6 years ago
parent fea02064ab
commit a2e0dd6b33

@ -1165,7 +1165,8 @@ void __unkernelize(struct packet_stream *p) {
void __stream_unconfirm(struct packet_stream *ps) {
__unkernelize(ps);
PS_CLEAR(ps, CONFIRMED);
if (!MEDIA_ISSET(ps->media, ASYMMETRIC))
PS_CLEAR(ps, CONFIRMED);
ps->handler = NULL;
}
static void stream_unconfirm(struct packet_stream *ps) {
@ -1567,7 +1568,6 @@ static int media_packet_address_check(struct packet_handler_ctx *phc)
phc->mp.stream->endpoint.port));
atomic64_inc(&phc->mp.stream->stats.errors);
ret = -1;
goto out;
}
}
phc->kernelize = 1;
@ -1631,6 +1631,9 @@ static void media_packet_kernel_check(struct packet_handler_ctx *phc) {
return;
}
if (MEDIA_ISSET(phc->sink->media, ASYMMETRIC))
PS_SET(phc->sink, CONFIRMED);
if (!PS_ISSET(phc->sink, CONFIRMED)) {
__C_DBG("sink not CONFIRMED for stream %s:%d",
sockaddr_print_buf(&phc->mp.stream->endpoint.address),
@ -1785,12 +1788,10 @@ static int stream_packet(struct packet_handler_ctx *phc) {
int address_check = media_packet_address_check(phc);
if (address_check)
goto drop;
if (phc->kernelize)
media_packet_kernel_check(phc);
if (address_check)
goto drop;
mutex_lock(&phc->sink->out_lock);

Loading…
Cancel
Save