Where I could called set custom frame encryptor and custom frame decryptor for webRTC in Blink RTC_Peer_Connection?

36 views
Skip to first unread message

Ivan Hutomo

unread,
Nov 10, 2022, 3:30:14 AM11/10/22
to discuss-webrtc
Hello everyone, I would to add a custom set frame encryptor inside a self-build electron. I already tried insertable streams but it was not working together with my modified webrtc for android. So here I already tried this custom encryptor in low-level webrtc and it's working. My problem now is how I could set my custom frame encryptor in higher-level code, so I could decide to set it from JavaScript.  I tried to add something here in the third_party/blink.

I tried to modify Peer_Connection_Interface.cc in webrtc/api/  :
Import my encryptor and decryptor 
#include "api/crypto/octon_frame_decryptor.h"
#include "api/crypto/octon_frame_encryptor.h"

and then add  my own function : 
rtc::scoped_refptr<PeerConnectionInterface>
PeerConnectionInterface::SetFrameEncryptor(std::vector<uint8_t>& new_keys) {
rtc::scoped_refptr<webrtc::OctonFrameEncryptor> encryptor_(
new webrtc::OctonFrameEncryptor(new_keys));
auto senders = GetSenders();
for (auto sender : senders) {
sender->SetFrameEncryptor(encryptor_);
}
return nullptr;
}

rtc::scoped_refptr<PeerConnectionInterface>
PeerConnectionInterface::SetFrameDecryptor(std::vector<uint8_t>& new_keys) {
rtc::scoped_refptr<webrtc::OctonFrameDecryptor> decryptor_(
new webrtc::OctonFrameDecryptor(new_keys));
auto receivers = GetReceivers();
for (auto receiver : receivers) {
receiver->SetFrameDecryptor(decryptor_);
}
return nullptr;
}

Now I have no idea how I could call this function from Blynk. Where and how to call SetFrameEncryptor and SetFrameDecryptor through RTC_Peer_Connection.cc? I am glad if anyone could give me suggestions. Thank you


Thank you everyone for helping
Reply all
Reply to author
Forward
0 new messages