video_jbuff_packet.h 888 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef VIDEO_JBUFF_PACKET_H
  2. #define VIDEO_JBUFF_PACKET_H
  3. #include <list>
  4. #include <memory>
  5. #include "../adaptive_jitter_buffer/video_jbuff_defines.h"
  6. namespace AJB {
  7. class Packet
  8. {
  9. private:
  10. VideoJBufferPacketInfo _packet_info;
  11. char* _payload;
  12. public:
  13. Packet();
  14. ~Packet();
  15. Packet(const char* payload,
  16. VideoJBufferPacketInfo *packet_info);
  17. unsigned int Timestamp() const { return _packet_info.timestamp; }
  18. unsigned short Seq() const { return _packet_info.seq; }
  19. int IsInkeyFrame() const { return _packet_info.is_key; }
  20. unsigned PlayloadType() const { return _packet_info.pt; }
  21. int PayloadSize() const { return _packet_info.length; }
  22. PACKET_TYPE_IN_FRAME Type() const { return _packet_info.packet_type; }
  23. char* Payload() const { return _payload; }
  24. };
  25. typedef std::list<std::shared_ptr<Packet>> PacketList;
  26. }
  27. #endif /* Packet_hpp */