diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-02-01 14:47:31 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-02-01 14:47:31 +0000 |
commit | ee6b6b350c8220606c1fbe6db689e53188a8818f (patch) | |
tree | 320ee02efedd9ac6716c7bc1d061c3da4bbbc995 /pjmedia/include | |
parent | 62a458ff636b57a18da4532dd9e6c62cf1f8b13b (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.h | 8 | ||||
-rw-r--r-- | pjmedia/include/pjmedia/transport_srtp.h | 24 |
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. |