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

Refactor SRT, using reverse dependency, SRT depends on APP.

This commit is contained in:
winlin 2020-01-23 19:40:40 +08:00
parent 87ba204a42
commit 33c6bf1f8f
8 changed files with 194 additions and 59 deletions

View file

@ -26,26 +26,46 @@
#include <srs_core.hpp>
#ifdef SRS_AUTO_SRT
#include <srt_server.hpp>
#include <srt_to_rtmp.hpp>
#endif
#include <vector>
class SrsServer;
class SrsHybridServer
class ISrsHybridServer
{
public:
ISrsHybridServer();
virtual ~ISrsHybridServer();
public:
virtual srs_error_t initialize() = 0;
virtual srs_error_t run() = 0;
};
class SrsServerAdapter : public ISrsHybridServer
{
private:
SrsServer* srs;
#ifdef SRS_AUTO_SRT
SRT_SERVER_PTR srt_ptr;
#endif
public:
SrsHybridServer();
virtual ~SrsHybridServer();
SrsServerAdapter();
virtual ~SrsServerAdapter();
public:
virtual srs_error_t initialize();
virtual srs_error_t run();
};
class SrsHybridServer
{
private:
std::vector<ISrsHybridServer*> servers;
public:
SrsHybridServer();
virtual ~SrsHybridServer();
public:
virtual void register_server(ISrsHybridServer* svr);
public:
virtual srs_error_t initialize();
virtual srs_error_t run();
};
extern SrsHybridServer* _srs_hybrid;
#endif