// // Created by Grishka on 19.03.2018. // #ifndef TGVOIP_PACKETREASSEMBLER_H #define TGVOIP_PACKETREASSEMBLER_H #include #include #include #include "Buffers.h" namespace tgvoip { class PacketReassembler{ public: PacketReassembler(); virtual ~PacketReassembler(); void Reset(); void AddFragment(Buffer pkt, unsigned int fragmentIndex, unsigned int fragmentCount, uint32_t pts, bool keyframe); void SetCallback(std::function callback); private: uint32_t currentTimestamp; unsigned int currentPacketPartCount=0; std::array parts; std::function callback; bool currentIsKeyframe; unsigned int receivedPartCount=0; }; } #endif //TGVOIP_PACKETREASSEMBLER_H