diff --git a/trunk/src/app/srs_app_rtc_dtls.cpp b/trunk/src/app/srs_app_rtc_dtls.cpp index a528f2631..dbb17a685 100644 --- a/trunk/src/app/srs_app_rtc_dtls.cpp +++ b/trunk/src/app/srs_app_rtc_dtls.cpp @@ -961,10 +961,63 @@ bool SrsDtlsServerImpl::is_dtls_client() return false; } +SrsDtlsEmptyImpl::SrsDtlsEmptyImpl() : SrsDtlsImpl(NULL) +{ + handshake_done_for_us = true; +} + +SrsDtlsEmptyImpl::~SrsDtlsEmptyImpl() +{ +} + +srs_error_t SrsDtlsEmptyImpl::initialize(std::string version, std::string role) +{ + return srs_success; +} + +srs_error_t SrsDtlsEmptyImpl::start_active_handshake() +{ + return srs_success; +} + +bool SrsDtlsEmptyImpl::should_reset_timer() +{ + return false; +} + +srs_error_t SrsDtlsEmptyImpl::on_dtls(char* data, int nb_data) +{ + return srs_success; +} + +srs_error_t SrsDtlsEmptyImpl::get_srtp_key(std::string& recv_key, std::string& send_key) +{ + return srs_success; +} + +void SrsDtlsEmptyImpl::callback_by_ssl(std::string type, std::string desc) +{ +} + +srs_error_t SrsDtlsEmptyImpl::on_final_out_data(uint8_t* data, int size) +{ + return srs_success; +} + +srs_error_t SrsDtlsEmptyImpl::on_handshake_done() +{ + return srs_success; +} + +bool SrsDtlsEmptyImpl::is_dtls_client() +{ + return false; +} + SrsDtls::SrsDtls(ISrsDtlsCallback* callback) { callback_ = callback; - impl = new SrsDtlsServerImpl(callback); + impl = new SrsDtlsEmptyImpl(); } SrsDtls::~SrsDtls() diff --git a/trunk/src/app/srs_app_rtc_dtls.hpp b/trunk/src/app/srs_app_rtc_dtls.hpp index 61916a72f..56a6d8459 100644 --- a/trunk/src/app/srs_app_rtc_dtls.hpp +++ b/trunk/src/app/srs_app_rtc_dtls.hpp @@ -190,6 +190,25 @@ protected: virtual bool is_dtls_client(); }; +class SrsDtlsEmptyImpl : public SrsDtlsImpl +{ +public: + SrsDtlsEmptyImpl(); + virtual ~SrsDtlsEmptyImpl(); +public: + virtual srs_error_t initialize(std::string version, std::string role); + virtual srs_error_t start_active_handshake(); + virtual bool should_reset_timer(); + virtual srs_error_t on_dtls(char* data, int nb_data); +public: + srs_error_t get_srtp_key(std::string& recv_key, std::string& send_key); + void callback_by_ssl(std::string type, std::string desc); +protected: + virtual srs_error_t on_final_out_data(uint8_t* data, int size); + virtual srs_error_t on_handshake_done(); + virtual bool is_dtls_client(); +}; + class SrsDtls { private: