Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimization: if I am not watching a particular peer, do not send me their video #43

Open
darioalessandro opened this issue May 31, 2023 · 2 comments

Comments

@darioalessandro
Copy link
Member

Is your feature request related to a problem? Please describe.
In order to bump the max number of peers, do not send me video for peers that I can't see on my screen.

@mkamonMdt
Copy link
Contributor

Hi with #39 being underway it seems this issue can be tackled next by me. I got a little more into Actix capabilities and as far as I understand all messaging is done through the server that acts as a broker in that regard.

So the way I'm thinking about approaching the issue is that each user (Subscriber) will have to subscribe (there might be also some default setting here) on MediaType::VIDEO/SCREEN for users (Publisher) that video/screen transmission Subscriber would like to receive. The server keep track of all Subscribers per each Publisher and distribute the messaging accordingly. At first stage such subscription would be mandatory for all (20) Publishers that fit the screen (as per #39 ) but then we could extend it to opting all out or selecting specific ones from PeerList.

@darioalessandro tell me what do you think, maybe you had some other approach in mind?

@darioalessandro
Copy link
Member Author

@mkamonMdt that is correct, the UI will need to tell the actix server the list of peers that it wants to receive video for.

you can use protobuf messages here to signal the server:

You could define a new type within packet wrapper:

enum PacketType {
RSA_PUB_KEY = 0;
AES_KEY = 1;
MEDIA = 2;
CONNECTION = 3;

Then have the actix server read them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants