MCPcopy Index your code
hub / github.com/Monibuca/engine / Add

Method Add

stream.go:140–167  ·  view source on GitHub ↗
(name string, t common.Track)

Source from the content-addressed store, hash-verified

138}
139
140func (tracks *Tracks) Add(name string, t common.Track) bool {
141 switch v := t.(type) {
142 case *track.Video:
143 if tracks.MainVideo == nil {
144 tracks.MainVideo = v
145 tracks.SetIDR(v)
146 }
147 case *track.Audio:
148 if tracks.MainAudio == nil {
149 tracks.MainAudio = v
150 }
151 if tracks.MainVideo != nil {
152 v.Narrow()
153 }
154 }
155 _, loaded := tracks.LoadOrStore(name, t)
156 if !loaded {
157 switch v := t.(type) {
158 case *track.Video:
159 tracks.Video = append(tracks.Video, v)
160 case *track.Audio:
161 tracks.Audio = append(tracks.Audio, v)
162 default:
163 tracks.Data = append(tracks.Data, v)
164 }
165 }
166 return !loaded
167}
168
169func (tracks *Tracks) SetIDR(video common.Track) {
170 if video == tracks.MainVideo {

Callers 2

findOrCreateStreamFunction · 0.45
runMethod · 0.45

Calls 2

SetIDRMethod · 0.95
NarrowMethod · 0.65

Tested by

no test coverage detected