MCPcopy Create free account
hub / github.com/Monibuca/engine / Delete

Method Delete

subscribers.go:126–147  ·  view source on GitHub ↗
(suber ISubscriber)

Source from the content-addressed store, hash-verified

124}
125
126func (s *Subscribers) Delete(suber ISubscriber) {
127 io := suber.GetSubscriber()
128 io.TrackPlayer.Audio = nil
129 io.TrackPlayer.AudioReader = nil
130 io.TrackPlayer.Video = nil
131 io.TrackPlayer.VideoReader = nil
132 for _, reader := range io.readers {
133 reader.Track.Debug("reader -1", zap.Int32("count", reader.Track.ReaderCount.Add(-1)))
134 }
135 io.readers = nil
136 if _, ok := s.public[suber]; ok {
137 delete(s.public, suber)
138 io.Info("suber -1", zap.Int("remains", s.Len()))
139 }
140 if _, ok := s.internal[suber]; ok {
141 delete(s.internal, suber)
142 io.Info("innersuber -1", zap.Int("remains", len(s.internal)))
143 }
144 if config.Global.EnableSubEvent {
145 EventBus <- UnsubscribeEvent{CreateEvent(suber)}
146 }
147}
148
149func (s *Subscribers) Add(suber ISubscriber, wait *waitTracks) {
150 io := suber.GetSubscriber()

Callers

nothing calls this directly

Calls 6

LenMethod · 0.95
CreateEventFunction · 0.85
GetSubscriberMethod · 0.65
DebugMethod · 0.65
InfoMethod · 0.65
AddMethod · 0.45

Tested by

no test coverage detected