|
@@ -28,17 +28,18 @@ using std::to_string;
|
|
|
|
|
|
namespace rtc {
|
|
|
|
|
|
+void DtlsSrtpTransport::Init() { srtp_init(); }
|
|
|
+
|
|
|
+void DtlsSrtpTransport::Cleanup() { srtp_shutdown(); }
|
|
|
+
|
|
|
DtlsSrtpTransport::DtlsSrtpTransport(std::shared_ptr<IceTransport> lower,
|
|
|
shared_ptr<Certificate> certificate,
|
|
|
verifier_callback verifierCallback,
|
|
|
- message_callback recvCallback,
|
|
|
+ message_callback srtpRecvCallback,
|
|
|
state_callback stateChangeCallback)
|
|
|
: DtlsTransport(lower, certificate, std::move(verifierCallback),
|
|
|
std::move(stateChangeCallback)),
|
|
|
- mRecvCallback(std::move(recvCallback)) {
|
|
|
-
|
|
|
- // TODO: global init
|
|
|
- srtp_init();
|
|
|
+ mSrtpRecvCallback(std::move(srtpRecvCallback)) { // distinct from Transport recv callback
|
|
|
|
|
|
PLOG_DEBUG << "Initializing SRTP transport";
|
|
|
|
|
@@ -58,9 +59,6 @@ bool DtlsSrtpTransport::stop() {
|
|
|
return false;
|
|
|
|
|
|
srtp_dealloc(mSrtp);
|
|
|
-
|
|
|
- // TODO: global cleanup
|
|
|
- srtp_shutdown();
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -102,7 +100,7 @@ void DtlsSrtpTransport::incoming(message_ptr message) {
|
|
|
}
|
|
|
PLOG_VERBOSE << "Unprotected SRTP packet, size=" << size;
|
|
|
message->resize(size);
|
|
|
- mRecvCallback(message);
|
|
|
+ mSrtpRecvCallback(message);
|
|
|
}
|
|
|
|
|
|
void DtlsSrtpTransport::postHandshake() {
|