31 lines
887 B
C++
31 lines
887 B
C++
#include "output_http.h"
|
|
#include "output_ts_base.h"
|
|
|
|
namespace Mist{
|
|
class OutHLS : public TSOutput{
|
|
public:
|
|
OutHLS(Socket::Connection &conn);
|
|
~OutHLS();
|
|
static void init(Util::Config *cfg);
|
|
void sendTS(const char *tsData, size_t len = 188);
|
|
void sendNext();
|
|
void onHTTP();
|
|
bool isReadyForPlay();
|
|
virtual void onFail(const std::string &msg, bool critical = false);
|
|
virtual std::string getStatsName(){return Output::getStatsName();}
|
|
|
|
protected:
|
|
std::string h264init(const std::string &initData);
|
|
std::string h265init(const std::string &initData);
|
|
|
|
bool hasSessionIDs(){return !config->getBool("mergesessions");}
|
|
|
|
void sendHlsManifest(const std::string url);
|
|
void sendHlsMasterManifest();
|
|
void sendHlsMediaManifest(const size_t requestTid);
|
|
|
|
uint64_t targetTime;
|
|
};
|
|
}// namespace Mist
|
|
|
|
typedef Mist::OutHLS mistOut;
|