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);
89 rtp_error_t
push_frame(uint8_t *data,
size_t data_len,
int flags);
113 rtp_error_t
push_frame(std::unique_ptr<uint8_t[]> data,
size_t data_len,
int flags);
144 rtp_error_t
push_frame(uint8_t *data,
size_t data_len, uint32_t ts,
int flags);
175 rtp_error_t
push_frame(std::unique_ptr<uint8_t[]> data,
size_t data_len, uint32_t ts,
int flags);
227 rtp_error_t install_deallocation_hook(
void (*hook)(
void *));
242 rtp_error_t install_notify_hook(
void *arg,
void (*hook)(
void *,
int));
259 void set_media_config(
void *config);
260 void *get_media_config();
285 rtp_error_t init_connection();
288 rtp_error_t create_media(rtp_format_t fmt);
291 rtp_error_t free_resources(rtp_error_t ret);
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_;
326 uvgrtp::formats::media *media_;
329 uvgrtp::holepuncher *holepuncher_;
333 namespace uvg_rtp = uvgrtp;