X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=reorderer.h;h=622083e0563da0f968161e98654f144cc2666fd1;hb=0d7a8406547587b7b1adad9374b4f4985f49dd84;hp=cdde8146a090a04ddd7d44b7ce836cef4a4850e0;hpb=6eb319dbbc9305b984fd70e8e6d5adebf87edbb7;p=greproxy diff --git a/reorderer.h b/reorderer.h index cdde814..622083e 100644 --- a/reorderer.h +++ b/reorderer.h @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -16,6 +17,7 @@ struct GREPacket { int seq; uint16_t proto; std::string data; + timeval ts; bool operator> (const GREPacket &other) const { return seq > other.seq; @@ -26,12 +28,14 @@ class Reorderer : public Sender { public: Reorderer(Sender* sender); void send_packet(uint16_t proto, const std::string& data, int seq); + void possibly_adjust_tv(timeval *tv); private: void check_ts_discontinuity(uint16_t proto, const std::string &data, bool silence); Sender* sender; int last_seq; + timeval last_sent_packet; std::priority_queue, std::greater> packet_buffer; std::map ccs;