diff --git a/trunk/src/app/srs_app_dash.cpp b/trunk/src/app/srs_app_dash.cpp index 06c0b1f89..40e79b107 100644 --- a/trunk/src/app/srs_app_dash.cpp +++ b/trunk/src/app/srs_app_dash.cpp @@ -28,19 +28,45 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include -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) { diff --git a/trunk/src/app/srs_app_dash.hpp b/trunk/src/app/srs_app_dash.hpp index 7fc18b9fc..9b1456e90 100644 --- a/trunk/src/app/srs_app_dash.hpp +++ b/trunk/src/app/srs_app_dash.hpp @@ -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 + diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index 672c72b70..b28b9f2e0 100755 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -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(); diff --git a/trunk/src/app/srs_app_source.hpp b/trunk/src/app/srs_app_source.hpp index 4786337b2..b4d5ad3c1 100644 --- a/trunk/src/app/srs_app_source.hpp +++ b/trunk/src/app/srs_app_source.hpp @@ -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.