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

Fix #1206, dispose ingester while server quiting. 3.0.111

This commit is contained in:
winlin 2020-01-29 20:22:28 +08:00
parent a6f88805f3
commit 23ece94064
9 changed files with 77 additions and 12 deletions

View file

@ -60,6 +60,7 @@ public:
virtual srs_error_t cycle();
// @see SrsFFMPEG.fast_stop().
virtual void fast_stop();
virtual void fast_kill();
};
// Ingest file/stream/device,
@ -75,6 +76,8 @@ private:
// Whether the ingesters are expired, for example, the listen port changed,
// all ingesters must be restart.
bool expired;
// Whether already disposed.
bool disposed;
public:
SrsIngester();
virtual ~SrsIngester();
@ -84,7 +87,10 @@ public:
virtual srs_error_t start();
virtual void stop();
private:
// Notify FFMPEG to fast stop.
virtual void fast_stop();
// When SRS quit, directly kill FFMPEG after fast stop.
virtual void fast_kill();
// Interface ISrsReusableThreadHandler.
public:
virtual srs_error_t cycle();