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:
parent
ede1c34a25
commit
cee9d736a4
4 changed files with 64 additions and 13 deletions
|
@ -28,19 +28,45 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
#include <srs_app_config.hpp>
|
#include <srs_app_config.hpp>
|
||||||
#include <srs_rtmp_stack.hpp>
|
#include <srs_rtmp_stack.hpp>
|
||||||
|
|
||||||
SrsMpegDash::SrsMpegDash()
|
SrsFragmentedMp4::SrsFragmentedMp4()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsFragmentedMp4::~SrsFragmentedMp4()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsMpdWriter::SrsMpdWriter()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsMpdWriter::~SrsMpdWriter()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsDashController::SrsDashController()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsDashController::~SrsDashController()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsDash::SrsDash()
|
||||||
{
|
{
|
||||||
hub = NULL;
|
hub = NULL;
|
||||||
req = NULL;
|
req = NULL;
|
||||||
|
controller = new SrsDashController();
|
||||||
|
|
||||||
enabled = false;
|
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;
|
int ret = ERROR_SUCCESS;
|
||||||
|
|
||||||
|
@ -50,7 +76,7 @@ int SrsMpegDash::initialize(SrsOriginHub* h, SrsRequest* r)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SrsMpegDash::on_publish()
|
int SrsDash::on_publish()
|
||||||
{
|
{
|
||||||
int ret = ERROR_SUCCESS;
|
int ret = ERROR_SUCCESS;
|
||||||
|
|
||||||
|
@ -68,7 +94,7 @@ int SrsMpegDash::on_publish()
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SrsMpegDash::on_audio(SrsSharedPtrMessage* shared_audio, SrsFormat* format)
|
int SrsDash::on_audio(SrsSharedPtrMessage* shared_audio, SrsFormat* format)
|
||||||
{
|
{
|
||||||
int ret = ERROR_SUCCESS;
|
int ret = ERROR_SUCCESS;
|
||||||
|
|
||||||
|
@ -79,7 +105,7 @@ int SrsMpegDash::on_audio(SrsSharedPtrMessage* shared_audio, SrsFormat* format)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SrsMpegDash::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format)
|
int SrsDash::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format)
|
||||||
{
|
{
|
||||||
int ret = ERROR_SUCCESS;
|
int ret = ERROR_SUCCESS;
|
||||||
|
|
||||||
|
@ -90,7 +116,7 @@ int SrsMpegDash::on_video(SrsSharedPtrMessage* shared_video, SrsFormat* format)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SrsMpegDash::on_unpublish()
|
void SrsDash::on_unpublish()
|
||||||
{
|
{
|
||||||
// Prevent duplicated unpublish.
|
// Prevent duplicated unpublish.
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
|
|
|
@ -35,25 +35,49 @@ class SrsSharedPtrMessage;
|
||||||
class SrsFormat;
|
class SrsFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* The FMP4(Fragmented MP4) for DASH streaming.
|
||||||
*/
|
*/
|
||||||
class SrsFragmentedMp4
|
class SrsFragmentedMp4
|
||||||
{
|
{
|
||||||
public:
|
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.
|
* The MPEG-DASH encoder, transmux RTMP to DASH.
|
||||||
*/
|
*/
|
||||||
class SrsMpegDash
|
class SrsDash
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
bool enabled;
|
bool enabled;
|
||||||
private:
|
private:
|
||||||
SrsRequest* req;
|
SrsRequest* req;
|
||||||
SrsOriginHub* hub;
|
SrsOriginHub* hub;
|
||||||
|
SrsDashController* controller;
|
||||||
public:
|
public:
|
||||||
SrsMpegDash();
|
SrsDash();
|
||||||
virtual ~SrsMpegDash();
|
virtual ~SrsDash();
|
||||||
public:
|
public:
|
||||||
// Initalize the encoder.
|
// Initalize the encoder.
|
||||||
virtual int initialize(SrsOriginHub* h, SrsRequest* r);
|
virtual int initialize(SrsOriginHub* h, SrsRequest* r);
|
||||||
|
@ -68,3 +92,4 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -845,7 +845,7 @@ SrsOriginHub::SrsOriginHub()
|
||||||
is_active = false;
|
is_active = false;
|
||||||
|
|
||||||
hls = new SrsHls();
|
hls = new SrsHls();
|
||||||
dash = new SrsMpegDash();
|
dash = new SrsDash();
|
||||||
dvr = new SrsDvr();
|
dvr = new SrsDvr();
|
||||||
#ifdef SRS_AUTO_TRANSCODE
|
#ifdef SRS_AUTO_TRANSCODE
|
||||||
encoder = new SrsEncoder();
|
encoder = new SrsEncoder();
|
||||||
|
|
|
@ -57,7 +57,7 @@ class SrsConnection;
|
||||||
class SrsMessageHeader;
|
class SrsMessageHeader;
|
||||||
class SrsHls;
|
class SrsHls;
|
||||||
class SrsDvr;
|
class SrsDvr;
|
||||||
class SrsMpegDash;
|
class SrsDash;
|
||||||
#ifdef SRS_AUTO_TRANSCODE
|
#ifdef SRS_AUTO_TRANSCODE
|
||||||
class SrsEncoder;
|
class SrsEncoder;
|
||||||
#endif
|
#endif
|
||||||
|
@ -427,7 +427,7 @@ private:
|
||||||
// hls handler.
|
// hls handler.
|
||||||
SrsHls* hls;
|
SrsHls* hls;
|
||||||
// The DASH encoder.
|
// The DASH encoder.
|
||||||
SrsMpegDash* dash;
|
SrsDash* dash;
|
||||||
// dvr handler.
|
// dvr handler.
|
||||||
SrsDvr* dvr;
|
SrsDvr* dvr;
|
||||||
// transcoding handler.
|
// transcoding handler.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue