pali/igmpproxy

why query when receive downstream leave message

yuanjianpeng opened this issue · 5 comments

igmp proxy itself is a daemon, it maintain all listeners database. so why need a extra query when receive downstream leave messages.
it can just look up the database to know whether there's remaning listeners.

the drawback of this is that
if quick leave is enabled. a leave message is sent to upstream even there's some listeners.
that may cause the live stream is stopped for a small time.

pali commented

so why need a extra query when receive downstream leave messages.
it can just look up the database to know whether there's remaning listeners.

Because this database is up-to-date only after sending that query and waiting for responses.

if all listeners are compatible with the igmp protocol,
it will send a leave message when it leave.
so the database should be up to date for most scenarios.

if a listener leaved without a leave message (may be suddenly crashed).
then next query will timeout, igmp proxy then update the database and send leave to upstream.

a dealyed leave message to upstream should be much better than a wrong leave message.

pali commented

if all listeners are compatible with the igmp protocol,
it will send a leave message when it leave.

No. Host does not have to send leave message when it knows that it is not the last member in the group (RFC2236 §3).

but a bug reported to us.
when quick leave enabled. two television watch same channel. one leave will cause the other stuck for a small time.
there's a solution for this case ?

pali commented

As this question is answered, I'm closing it.

For any other unrelated bug report, please open separate ticket with all required details, thanks.