00001 #ifndef SPEGREPAIR_H 00002 #define SPEGREPAIR_H 00003 00004 #include "SPEGPacket.h" 00005 00006 extern "C" { 00007 #include "dbuf.h" 00008 } 00009 00010 class SPEGRepair { 00011 00012 public: 00013 SPEGRepair (); 00014 void addData (dbuf *data); 00015 void addData (MNRope*& data); 00016 dbuf *repair (bool& more); 00017 00018 private: 00019 dbuf *packlist; 00020 dbuf *repairBuffer; 00021 dbuf *inputBuffer; 00022 u_int16_t nextseq; 00023 int seen_seq; 00024 int do_write; 00025 int last_pic_type; 00026 int last_temp_ref; 00027 int last_mot_vec; 00028 00029 void appendToDbuf (dbuf*& dest, dbuf *src); 00030 00031 void add_packet(dbuf *packlist, dbuf *packet); 00032 00033 void send_free_packets(dbuf *packlist); 00034 00035 void free_packets(dbuf *packlist); 00036 00037 }; 00038 00039 #endif