3 #include <unordered_map>
6 #include "holepuncher.hh"
7 #include "pkt_dispatch.hh"
10 #include "srtp/srtcp.hh"
11 #include "srtp/srtp.hh"
14 #include "formats/media.hh"
21 media_stream(std::string addr,
int src_port,
int dst_port, rtp_format_t fmt,
int flags);
22 media_stream(std::string remote_addr, std::string local_addr,
int src_port,
int dst_port, rtp_format_t fmt,
int flags);
43 rtp_error_t init(uvgrtp::zrtp *zrtp);
95 rtp_error_t
push_frame(uint8_t *data,
size_t data_len,
int flags);
119 rtp_error_t
push_frame(std::unique_ptr<uint8_t[]> data,
size_t data_len,
int flags);
150 rtp_error_t
push_frame(uint8_t *data,
size_t data_len, uint32_t ts,
int flags);
181 rtp_error_t
push_frame(std::unique_ptr<uint8_t[]> data,
size_t data_len, uint32_t ts,
int flags);
233 rtp_error_t install_deallocation_hook(
void (*hook)(
void *));
248 rtp_error_t install_notify_hook(
void *arg,
void (*hook)(
void *,
int));
265 void set_media_config(
void *config);
266 void *get_media_config();
291 rtp_error_t init_connection();
296 uvgrtp::srtcp *srtcp_;
297 uvgrtp::socket *socket_;
301 sockaddr_in addr_out_;
310 rtp_ctx_conf_t ctx_config_;
319 uint32_t rtp_handler_key_;
320 uint32_t zrtp_handler_key_;
323 uvgrtp::pkt_dispatcher *pkt_dispatcher_;
324 std::thread *dispatcher_thread_;
327 uvgrtp::formats::media *media_;
330 uvgrtp::holepuncher *holepuncher_;
334 namespace uvg_rtp = uvgrtp;