2020-02-07 10:22:58 +00:00
|
|
|
#ifndef __RTP_HH_
|
|
|
|
|
#define __RTP_HH_
|
|
|
|
|
|
|
|
|
|
#include "clock.hh"
|
|
|
|
|
#include "util.hh"
|
|
|
|
|
|
2020-04-27 11:07:24 +00:00
|
|
|
namespace uvg_rtp {
|
2020-02-07 10:22:58 +00:00
|
|
|
|
|
|
|
|
class rtp {
|
|
|
|
|
public:
|
|
|
|
|
rtp(rtp_format_t fmt);
|
|
|
|
|
~rtp();
|
|
|
|
|
|
|
|
|
|
uint32_t get_ssrc();
|
|
|
|
|
uint16_t get_sequence();
|
|
|
|
|
|
|
|
|
|
void inc_sent_pkts();
|
|
|
|
|
void inc_sequence();
|
|
|
|
|
|
|
|
|
|
void set_clock_rate(size_t rate);
|
|
|
|
|
void set_payload(rtp_format_t fmt);
|
2020-04-27 11:31:59 +00:00
|
|
|
void set_dynamic_payload(uint8_t payload);
|
2020-02-07 10:22:58 +00:00
|
|
|
|
|
|
|
|
void fill_header(uint8_t *buffer);
|
|
|
|
|
void update_sequence(uint8_t *buffer);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
uint32_t ssrc_;
|
|
|
|
|
uint32_t ts_;
|
|
|
|
|
uint16_t seq_;
|
|
|
|
|
uint8_t fmt_;
|
2020-04-27 11:31:59 +00:00
|
|
|
uint8_t payload_;
|
2020-02-07 10:22:58 +00:00
|
|
|
|
|
|
|
|
uint32_t clock_rate_;
|
|
|
|
|
uint32_t wc_start_;
|
2020-04-27 11:07:24 +00:00
|
|
|
uvg_rtp::clock::hrc::hrc_t wc_start_2;
|
2020-02-07 10:22:58 +00:00
|
|
|
|
|
|
|
|
size_t sent_pkts_;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif /* __RTP_HH_ */
|