mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Fix #2142, Async release bridger when unpublish. 4.0.60
This commit is contained in:
parent
10ffb2da36
commit
06adb9dc42
6 changed files with 60 additions and 5 deletions
|
@ -34,6 +34,7 @@
|
|||
#include <srs_app_reload.hpp>
|
||||
#include <srs_core_performance.hpp>
|
||||
#include <srs_service_st.hpp>
|
||||
#include <srs_app_conn.hpp>
|
||||
|
||||
class SrsFormat;
|
||||
class SrsRtmpFormat;
|
||||
|
@ -484,7 +485,7 @@ public:
|
|||
extern SrsSourceManager* _srs_sources;
|
||||
|
||||
// For two sources to bridge with each other.
|
||||
class ISrsSourceBridger
|
||||
class ISrsSourceBridger : public ISrsResource
|
||||
{
|
||||
public:
|
||||
ISrsSourceBridger();
|
||||
|
@ -497,7 +498,7 @@ public:
|
|||
};
|
||||
|
||||
// live streaming source.
|
||||
class SrsSource : public ISrsReloadHandler
|
||||
class SrsSource : virtual public ISrsReloadHandler, virtual public ISrsDisposingHandler
|
||||
{
|
||||
friend class SrsOriginHub;
|
||||
private:
|
||||
|
@ -559,6 +560,10 @@ public:
|
|||
virtual srs_error_t initialize(SrsRequest* r, ISrsSourceHandler* h);
|
||||
// Bridge to other source, forward packets to it.
|
||||
void bridge_to(ISrsSourceBridger* v);
|
||||
// interface ISrsDisposingHandler
|
||||
public:
|
||||
virtual void on_before_dispose(ISrsResource* c);
|
||||
virtual void on_disposing(ISrsResource* c);
|
||||
// Interface ISrsReloadHandler
|
||||
public:
|
||||
virtual srs_error_t on_reload_vhost_play(std::string vhost);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue