Amazon Kinesis Webrtc C SDK
SrtpSession.h
Go to the documentation of this file.
1 //
2 // Secure RTP
3 //
4 
5 #ifndef __KINESIS_VIDEO_WEBRTC_CLIENT_SRTP__
6 #define __KINESIS_VIDEO_WEBRTC_CLIENT_SRTP__
7 
8 #pragma once
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 typedef struct __SrtpSession SrtpSession;
15 struct __SrtpSession {
16  // holds the srtp context for transmit operations
18  // holds the srtp context for receive operations
20 };
22 
23 STATUS initSrtpSession(PBYTE receiveKey, PBYTE transmitKey, KVS_SRTP_PROFILE profile, PSrtpSession* ppSrtpSession);
24 
25 STATUS decryptSrtpPacket(PSrtpSession pSrtpSession, PVOID encryptedMessage, PINT32 len);
26 STATUS decryptSrtcpPacket(PSrtpSession pSrtpSession, PVOID encryptedMessage, PINT32 len);
27 
28 STATUS encryptRtpPacket(PSrtpSession pSrtpSession, PVOID message, PINT32 len);
29 STATUS encryptRtcpPacket(PSrtpSession pSrtpSession, PVOID message, PINT32 len);
30 
31 STATUS freeSrtpSession(PSrtpSession* ppSrtpSession);
32 
33 #ifdef __cplusplus
34 }
35 #endif
36 #endif //__KINESIS_VIDEO_WEBRTC_CLIENT_SRTP__
SrtpSession * PSrtpSession
Definition: SrtpSession.h:21
STATUS freeSrtpSession(PSrtpSession *ppSrtpSession)
Definition: SrtpSession.c:67
STATUS encryptRtpPacket(PSrtpSession pSrtpSession, PVOID message, PINT32 len)
Definition: SrtpSession.c:125
STATUS encryptRtcpPacket(PSrtpSession pSrtpSession, PVOID message, PINT32 len)
Definition: SrtpSession.c:141
STATUS initSrtpSession(PBYTE receiveKey, PBYTE transmitKey, KVS_SRTP_PROFILE profile, PSrtpSession *ppSrtpSession)
Definition: SrtpSession.c:4
STATUS decryptSrtpPacket(PSrtpSession pSrtpSession, PVOID encryptedMessage, PINT32 len)
Definition: SrtpSession.c:96
STATUS decryptSrtcpPacket(PSrtpSession pSrtpSession, PVOID encryptedMessage, PINT32 len)
Definition: SrtpSession.c:110
Definition: SrtpSession.h:15
srtp_t srtp_transmit_session
Definition: SrtpSession.h:17
srtp_t srtp_receive_session
Definition: SrtpSession.h:19