From 0ebe60ae9821e6607d286d403edb278e421f48b8 Mon Sep 17 00:00:00 2001 From: q191201771 <191201771@qq.com> Date: Sun, 27 Mar 2022 11:16:36 +0800 Subject: [PATCH] =?UTF-8?q?[opt]=20lalserver:=20rtsp=20sub=E4=B9=9F?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=A7=A6=E5=8F=91relay=20pull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/logic/group__out_sub.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkg/logic/group__out_sub.go b/pkg/logic/group__out_sub.go index a8875aa..bc95791 100644 --- a/pkg/logic/group__out_sub.go +++ b/pkg/logic/group__out_sub.go @@ -29,7 +29,7 @@ func (group *Group) AddRtmpSubSession(session *rtmp.ServerSession) { session.ShouldWaitVideoKeyFrame = false } - group.pullIfNeeded() + group.addSub() } func (group *Group) AddHttpflvSubSession(session *httpflv.SubSession) { @@ -45,12 +45,10 @@ func (group *Group) AddHttpflvSubSession(session *httpflv.SubSession) { session.ShouldWaitVideoKeyFrame = false } - group.pullIfNeeded() + group.addSub() } -// AddHttptsSubSession TODO chef: -// 这里应该也要考虑触发hls muxer开启 -// 也即HTTPTS sub需要使用hls muxer,hls muxer开启和关闭都要考虑HTTPTS sub +// AddHttptsSubSession ... func (group *Group) AddHttptsSubSession(session *httpts.SubSession) { Log.Debugf("[%s] [%s] add httpts SubSession into group.", group.UniqueKey, session.UniqueKey()) session.WriteHttpResponseHeader() @@ -59,7 +57,7 @@ func (group *Group) AddHttptsSubSession(session *httpts.SubSession) { defer group.mutex.Unlock() group.httptsSubSessionSet[session] = struct{}{} - group.pullIfNeeded() + group.addSub() } func (group *Group) HandleNewRtspSubSessionDescribe(session *rtsp.SubSession) (ok bool, sdp []byte) { @@ -85,7 +83,7 @@ func (group *Group) HandleNewRtspSubSessionPlay(session *rtsp.SubSession) { session.ShouldWaitVideoKeyFrame = false } - // TODO(chef): rtsp sub也应该判断是否需要静态pull回源 + group.addSub() } func (group *Group) DelRtmpSubSession(session *rtmp.ServerSession) { @@ -133,3 +131,9 @@ func (group *Group) delRtspSubSession(session *rtsp.SubSession) { Log.Debugf("[%s] [%s] del rtsp SubSession from group.", group.UniqueKey, session.UniqueKey()) delete(group.rtspSubSessionSet, session) } + +// --------------------------------------------------------------------------------------------------------------------- + +func (group *Group) addSub() { + group.pullIfNeeded() +}