This is an attempt to fix #3304, which causes talk-events to stop flowing if RTP stops coming in. The way this patch tries to solve it is by moving the talk-detection stuff to the participant thread, taking advantage of the new jitter buffer refactoring: this allows us to still advance the talk-detection timers even when there's no audio coming in. Notice that this won't work in case the participant is suspended, since in that case we don't perform the pull every 20ms we otherwise do.
I only tested if audio still works, since this required a refactoring of what goes through the jitter buffer (which was needed to pass the parsed audio levels along too). I haven't tested yet if this does indeed solve the issue, so please test and provide feedback.
This is for master, I'll backport to 0.x too after merging if this works.
This is an attempt to fix #3304, which causes talk-events to stop flowing if RTP stops coming in. The way this patch tries to solve it is by moving the talk-detection stuff to the participant thread, taking advantage of the new jitter buffer refactoring: this allows us to still advance the talk-detection timers even when there's no audio coming in. Notice that this won't work in case the participant is suspended, since in that case we don't perform the pull every 20ms we otherwise do.
I only tested if audio still works, since this required a refactoring of what goes through the jitter buffer (which was needed to pass the parsed audio levels along too). I haven't tested yet if this does indeed solve the issue, so please test and provide feedback.
This is for
master
, I'll backport to0.x
too after merging if this works.