[jitsi-dev] RTT computation REST and a sensible source snapshot


#1

I am getting a video feed to work (badly) from the videobridge using the REST interface.

I cannot use the core videobridge binary for the following reasons

1. It does not inform the clients when a new conference member is added. I am doing this with a json message in the datachannel. Without this it is not possible to update the remotedescription with the new SSRC (and cname if that is actually needed).

2. I have made some changes to handlerimpl to make it work with XHR AJAX requests. It needs to respond to the HTTP OPTIONS method. That can be got around by using Java rather than Javascript, but that has its own problems with the PATCH method, but that can be dealt with without changing the binary.

Additionally I have added a status page which gives diagnostic information to work out when things don't work why they don't work. I have put that on Github. However, that is not needed in itself although I use that static class to keep a map of cnames vs ssrcs to enable 1 to work. However, that could be done differently. There must be a better way of finding the cname, but for now I am content to progress as is.

What I am finding is that

a) There are a lot of messages about RTT computation may be wrong. I am running two devices separate to the videobridge which are on the same local network, but the communication time between them is over 1 ms hence it should not be because they are that close.

b) The has a frame rate in practice of around 1 frame every 20 or 30 seconds. The chrome logs tell me that the frame rate is a respectable number of frames per second, but that is not what i see.

Question 1.

Is there a good snapshot of source that I could use which is quite reliable or how sensible would it be, for example, to take the up to date source and see what I can do with that?

Question 2.

What would people like me to do about the code which enables 1, above to work. It is not that clever yet not in a position in which it should be applied to the main branch - indeed people may not wish to do that. Perhaps the best thing for me to do is to simply load it up to github somewhere. I would like to know what people would like me to do about it, however. If it is unlikely to be wanted in the main branch then please tell me and I won't bother about making it configurable or presentable.

Question 3.

I am getting a lot of log messages where the bridge is saying things like "growing packet queue to 16" followed by "shrinking packet queue".

That seems potentially to be linked to the RTT problems and possibly a cause of the freezing/jumping of the video.

What best to do about that?