I am still struggling away trying to get the bridge to play a stream through a conference. My test system (which is one one machine) links two peerconnections from a browser to the bridge.
I have two experimental systems at the moment. They both aim to send an opus payload to the audiosession of the browser. One starts with the jitsi hammer rtpdump in opus format and the other tries to use the process engine to transcode from MP3 to opus (that is a bit optimistic really at this stage).
I had an interesting bug that crashed the browser when it sent the rtpdump data at the browser using the VP8 payload number rather than the opus payload number (on my implementation 100 and 111 respectively not that it matters that much). That crashed the browser media engine and everything stopped in terms of the view and audio.
What I am getting now, however, is that everything runs, but the new audio stream is reported with "failed to unprotect SRTP packet". I think that is probably because I am not sending it properly encrypted.
This may be because my output stream is an RTPConnectorUDPOutputStream rather than a TransformUDPOutputStream. I am guessing that the data is not properly encrypted which would be a good reason why unencryption would not really work.
First question, am right?
Second question (and linked) when the bridge is translating streams although it is not analysing the payload, but simply passing it on, I assume that it decrypts the streams and then re-encrypts them.
Where is that done?
I am tracking things in the Queue in RTPConnectorOutputStream and it appears that the stuff coming via the translator is not going through an encryption stage (probably because of having the wrong class for the connector).