1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

for #299, refine code.

This commit is contained in:
winlin 2017-02-19 22:03:51 +08:00
parent ede1c34a25
commit cee9d736a4
4 changed files with 64 additions and 13 deletions

View file

@ -28,19 +28,45 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_app_config.hpp>
#include <srs_rtmp_stack.hpp>
SrsMpegDash::SrsMpegDash()
SrsFragmentedMp4::SrsFragmentedMp4()
{
}
SrsFragmentedMp4::~SrsFragmentedMp4()
{
}
SrsMpdWriter::SrsMpdWriter()
{
}
SrsMpdWriter::~SrsMpdWriter()
{
}
SrsDashController::SrsDashController()
{
}
SrsDashController::~SrsDashController()
{
}
SrsDash::SrsDash()
{
hub = NULL;
req = NULL;
controller = new SrsDashController();
enabled = false;
}
SrsMpegDash::~SrsMpegDash()
SrsDash::~SrsDash()
{
srs_freep(controller);
}
int SrsMpegDash::initialize(SrsOriginHub* h, SrsRequest* r)
int SrsDash::initialize(SrsOriginHub* h, SrsRequest* r)
{
int ret = ERROR_SUCCESS;
@ -50,7 +76,7 @@ int SrsMpegDash::initialize(SrsOriginHub* h, SrsRequest* r)
return ret;
}
int SrsMpegDash::on_publish()
int SrsDash::on_publish()
{
int ret = ERROR_SUCCESS;
@ -68,7 +94,7 @@ int SrsMpegDash::on_publish()
return ret;
}
int SrsMpegDash::on_audio(SrsSharedPtrMessage* shared_audio, SrsFormat* format)
int SrsDash::on_audio(SrsSharedPtrMessage* shared_audio, SrsFormat* format)
{
int ret = ERROR_SUCCESS;
@ -79,7 +105,7 @@ int SrsMpegDash::on_audio(SrsSharedPtrMessage* shared_audio, SrsFormat* format)
return ret;
}
int SrsMpegDash::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format)
int SrsDash::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format)
{
int ret = ERROR_SUCCESS;
@ -90,7 +116,7 @@ int SrsMpegDash::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format)
return ret;
}
void SrsMpegDash::on_unpublish()
void SrsDash::on_unpublish()
{
// Prevent duplicated unpublish.
if (!enabled) {

View file

@ -35,25 +35,49 @@ class SrsSharedPtrMessage;
class SrsFormat;
/**
* The FMP4(Fragmented MP4) for DASH streaming.
*/
class SrsFragmentedMp4
{
public:
SrsFragmentedMp4();
virtual ~SrsFragmentedMp4();
};
/**
* The writer to write MPD for DASH.
*/
class SrsMpdWriter
{
public:
SrsMpdWriter();
virtual ~SrsMpdWriter();
};
/**
* The controller for DASH, control the MPD and FMP4 generating system.
*/
class SrsDashController
{
public:
SrsDashController();
virtual ~SrsDashController();
};
/**
* The MPEG-DASH encoder, transmux RTMP to DASH.
*/
class SrsMpegDash
class SrsDash
{
private:
bool enabled;
private:
SrsRequest* req;
SrsOriginHub* hub;
SrsDashController* controller;
public:
SrsMpegDash();
virtual ~SrsMpegDash();
SrsDash();
virtual ~SrsDash();
public:
// Initalize the encoder.
virtual int initialize(SrsOriginHub* h, SrsRequest* r);
@ -68,3 +92,4 @@ public:
};
#endif

View file

@ -845,7 +845,7 @@ SrsOriginHub::SrsOriginHub()
is_active = false;
hls = new SrsHls();
dash = new SrsMpegDash();
dash = new SrsDash();
dvr = new SrsDvr();
#ifdef SRS_AUTO_TRANSCODE
encoder = new SrsEncoder();

View file

@ -57,7 +57,7 @@ class SrsConnection;
class SrsMessageHeader;
class SrsHls;
class SrsDvr;
class SrsMpegDash;
class SrsDash;
#ifdef SRS_AUTO_TRANSCODE
class SrsEncoder;
#endif
@ -427,7 +427,7 @@ private:
// hls handler.
SrsHls* hls;
// The DASH encoder.
SrsMpegDash* dash;
SrsDash* dash;
// dvr handler.
SrsDvr* dvr;
// transcoding handler.