summaryrefslogtreecommitdiff
path: root/pjmedia/include
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-02-01 14:47:31 +0000
committerBenny Prijono <bennylp@teluu.com>2008-02-01 14:47:31 +0000
commitee6b6b350c8220606c1fbe6db689e53188a8818f (patch)
tree320ee02efedd9ac6716c7bc1d061c3da4bbbc995 /pjmedia/include
parent62a458ff636b57a18da4532dd9e6c62cf1f8b13b (diff)
More ticket #61: removed const from rtp and rtcp callback function declaration to allow in-place packet modification
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1763 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/include')
-rw-r--r--pjmedia/include/pjmedia/transport.h8
-rw-r--r--pjmedia/include/pjmedia/transport_srtp.h24
2 files changed, 28 insertions, 4 deletions
diff --git a/pjmedia/include/pjmedia/transport.h b/pjmedia/include/pjmedia/transport.h
index 14b84e7d..b2b16d5e 100644
--- a/pjmedia/include/pjmedia/transport.h
+++ b/pjmedia/include/pjmedia/transport.h
@@ -241,10 +241,10 @@ struct pjmedia_transport_op
const pj_sockaddr_t *rem_rtcp,
unsigned addr_len,
void (*rtp_cb)(void *user_data,
- const void *pkt,
+ void *pkt,
pj_ssize_t size),
void (*rtcp_cb)(void *user_data,
- const void *pkt,
+ void *pkt,
pj_ssize_t size));
/**
@@ -423,10 +423,10 @@ PJ_INLINE(pj_status_t) pjmedia_transport_attach(pjmedia_transport *tp,
const pj_sockaddr_t *rem_rtcp,
unsigned addr_len,
void (*rtp_cb)(void *user_data,
- const void *pkt,
+ void *pkt,
pj_ssize_t),
void (*rtcp_cb)(void *usr_data,
- const void*pkt,
+ void*pkt,
pj_ssize_t))
{
return tp->op->attach(tp, user_data, rem_addr, rem_rtcp, addr_len,
diff --git a/pjmedia/include/pjmedia/transport_srtp.h b/pjmedia/include/pjmedia/transport_srtp.h
index d6ccc2e1..a04e28b6 100644
--- a/pjmedia/include/pjmedia/transport_srtp.h
+++ b/pjmedia/include/pjmedia/transport_srtp.h
@@ -225,6 +225,30 @@ PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *srtp);
/**
+ * This is a utility function to decrypt SRTP packet using SRTP transport.
+ * This function is not part of SRTP transport's API, but it can be used
+ * to decrypt SRTP packets from non-network (for example, from a saved file)
+ * without having to use the transport framework. See pcaputil.c in the
+ * samples collection on how to use this function.
+ *
+ * @param tp The SRTP transport.
+ * @param is_rtp Set to non-zero if the packet is SRTP, otherwise set
+ * to zero if the packet is SRTCP.
+ * @param pkt On input, it contains SRTP or SRTCP packet. On
+ * output, it contains the decrypted RTP/RTCP packet.
+ * @param pkt_len On input, specify the length of the buffer. On
+ * output, it will be filled with the actual length
+ * of decrypted packet.
+ *
+ * @return PJ_SUCCESS on success.
+ */
+PJ_DECL(pj_status_t) pjmedia_transport_srtp_decrypt_pkt(pjmedia_transport *tp,
+ pj_bool_t is_rtp,
+ void *pkt,
+ int *pkt_len);
+
+
+/**
* Query member transport of SRTP.
*
* @param srtp The SRTP media transport.