Peer config parameters, which side: sender, receiver or both? (and other Qs)
I'm experimenting with integrating libRIST into my project and I have a few questions.
My use-case is a custom video stream server streaming video to a custom video player. The video server will have a rist sender set to listen mode. The player will then have a rist receiver which connects to the rist sender. It's possible more than one player will connect to the same rist sender.
- I am trying to understand which side the peer config needs setting for different parameters.
For example, if my video source has a bitrate of 4mbps, then do I set that (+overhead) on the video server (sender) side, on the receiver side, or both? I have come from a background of using SRT and I set this on the server/sender side with SRT. Is it the same with RIST?
-
Similar Q regarding the buffer size. Is that sender or receiver side or both? What happens if I set the sender to buffer size X, but receivers have different buffer sizes? I would think that the sender side would need to have a buffer of the maximum of all its peers, so that it still has the packets available to send to the peers if they request? Is it my responsibility to ensure this is the case? On SRT (which is one-to-one only, or at least was) I think it takes the maximum.
-
I would like to be able to change to a different bitrate without breaking the connection, as I can do with SRT, but am I right in thinking that at the moment one cannot change the bitrate setting of the peer config without restarting both sender + receiver?
Thank you for your time.