mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
HLS: Support reload HLS asynchronously. v5.0.172 v6.0.67 (#3782)
When reloading HLS, it directly operates unpublish and publish. At this time, if HLS is pushed, an exception may occur. The reason is that these two coroutines operated on the HLS object at the same time, causing a null pointer. Solution: Use asynchronous reload. During reload, only set variables and let the message processing coroutine implement the reload. --------- Co-authored-by: Haibo Chen <495810242@qq.com> Co-authored-by: chundonglinlin <chundonglinlin@163.com>
This commit is contained in:
parent
6babf01de2
commit
b5347e19f7
7 changed files with 112 additions and 61 deletions
|
@ -368,6 +368,8 @@ public:
|
|||
virtual srs_error_t on_forwarder_start(SrsForwarder* forwarder);
|
||||
// For the SrsDvr to callback to request the sequence headers.
|
||||
virtual srs_error_t on_dvr_request_sh();
|
||||
// For the SrsHls to callback to request the sequence headers.
|
||||
virtual srs_error_t on_hls_request_sh();
|
||||
// Interface ISrsReloadHandler
|
||||
public:
|
||||
virtual srs_error_t on_reload_vhost_forward(std::string vhost);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue