You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LibSRTP stores every ssrc's srtp_stream_ctx_t in a linked list. This means that finding the appropriate context for an ssrc is an O(n) operation. In a large conference, this can be a noticeable performance cost.
A hash table would probably be the best option here.
The text was updated successfully, but these errors were encountered:
Fully agree. The SSRC lookup can be painfully slow if there are lot of them. Since these are (in theory) supposed to be random values, a tree might prove to be fairly well balanced most of the time without much effort.
We have extracted the current stream list implementation and create an internal api + default linked list implementation in the following PR #612
While this does not allow to plug-in a custom implementation dynamically, it allows compiling libsrtp without the default list implementation and replace it with a custom one instead.
LibSRTP stores every ssrc's srtp_stream_ctx_t in a linked list. This means that finding the appropriate context for an ssrc is an O(n) operation. In a large conference, this can be a noticeable performance cost.
A hash table would probably be the best option here.
The text was updated successfully, but these errors were encountered: