MCPcopy
hub / github.com/q191201771/lal / AddRtmpSubSession

Method AddRtmpSubSession

pkg/logic/group__out_sub.go:19–34  ·  view source on GitHub ↗
(session *rtmp.ServerSession)

Source from the content-addressed store, hash-verified

17)
18
19func (group *Group) AddRtmpSubSession(session *rtmp.ServerSession) {
20 Log.Debugf("[%s] [%s] add SubSession into group.", group.UniqueKey, session.UniqueKey())
21 group.mutex.Lock()
22 defer group.mutex.Unlock()
23 group.rtmpSubSessionSet[session] = struct{}{}
24 // 加入时,如果上行还没有推过视频(比如还没推流,或者是单音频流),就不需要等待关键帧了
25 // 也即我们假定上行肯定是以关键帧为开始进行视频发送,假设不是,那么我们按上行的流正常发,而不过滤掉关键帧前面的不包含关键帧的非完整GOP
26 // TODO(chef):
27 // 1. 需要仔细考虑单音频无视频的流的情况
28 // 2. 这里不修改标志,让这个session继续等关键帧也可以
29 if group.stat.VideoCodec == "" {
30 session.ShouldWaitVideoKeyFrame = false
31 }
32
33 group.addSub()
34}
35
36func (group *Group) AddHttpflvSubSession(session *httpflv.SubSession) {
37 Log.Debugf("[%s] [%s] add httpflv SubSession into group.", group.UniqueKey, session.UniqueKey())

Callers 1

OnNewRtmpSubSessionMethod · 0.80

Calls 2

addSubMethod · 0.95
UniqueKeyMethod · 0.65

Tested by

no test coverage detected