1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-15 04:42:04 +00:00
srs/trunk/src/app/srs_app_hds.hpp

53 lines
952 B
C++
Raw Normal View History

//
// Copyright (c) 2013-2021 The SRS Authors
//
// SPDX-License-Identifier: MIT or MulanPSL-2.0
//
2015-07-08 09:44:25 +00:00
#ifndef SRS_APP_HDS_HPP
#define SRS_APP_HDS_HPP
#include <srs_core.hpp>
#ifdef SRS_HDS
2015-07-08 09:44:25 +00:00
#include <list>
class SrsRequest;
class SrsSharedPtrMessage;
class SrsHdsFragment;
2021-05-16 08:14:00 +00:00
class SrsLiveSource;
2015-07-08 09:44:25 +00:00
2019-04-30 00:24:52 +00:00
// Mux RTMP to Adobe HDS streaming.
2015-07-08 09:44:25 +00:00
class SrsHds
{
public:
2017-02-11 13:14:28 +00:00
SrsHds();
virtual ~SrsHds();
2017-03-25 09:21:39 +00:00
2018-01-01 11:39:57 +00:00
srs_error_t on_publish(SrsRequest* req);
srs_error_t on_unpublish();
2017-03-25 09:21:39 +00:00
2018-01-01 11:39:57 +00:00
srs_error_t on_video(SrsSharedPtrMessage* msg);
srs_error_t on_audio(SrsSharedPtrMessage* msg);
2017-03-25 09:21:39 +00:00
2015-07-08 09:44:25 +00:00
private:
2018-01-01 11:39:57 +00:00
srs_error_t flush_mainfest();
srs_error_t flush_bootstrap();
2015-07-08 09:44:25 +00:00
void adjust_windows();
2017-03-25 09:21:39 +00:00
2015-07-08 09:44:25 +00:00
private:
std::list<SrsHdsFragment *> fragments;
SrsHdsFragment *currentSegment;
int fragment_index;
SrsSharedPtrMessage *video_sh;
SrsSharedPtrMessage *audio_sh;
2017-03-25 09:21:39 +00:00
2015-07-08 09:44:25 +00:00
SrsRequest *hds_req;
bool hds_enabled;
};
#endif
#endif