#include #include "output.h" #include "output_http.h" #include #include #ifndef TS_BASECLASS #define TS_BASECLASS Output #endif namespace Mist { class TSOutput : public TS_BASECLASS { public: TSOutput(Socket::Connection & conn); virtual ~TSOutput(){}; virtual void sendNext(); virtual void sendTS(const char * tsData, unsigned int len=188){}; void fillPacket(char const * data, size_t dataLen, bool & firstPack, bool video, bool keyframe, uint32_t pkgPid, int & contPkg); protected: std::map first; std::map contCounters; int contPAT; int contPMT; int contSDT; unsigned int packCounter; ///\todo update constructors? TS::Packet packData; bool appleCompat; uint64_t sendRepeatingHeaders; ///< Amount of ms between PAT/PMT. Zero means do not repeat. uint64_t lastHeaderTime; ///< Timestamp last PAT/PMT were sent. uint64_t ts_from; ///< Starting time to subtract from timestamps }; }