(suber ISubscriber)
| 124 | } |
| 125 | |
| 126 | func (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 | |
| 149 | func (s *Subscribers) Add(suber ISubscriber, wait *waitTracks) { |
| 150 | io := suber.GetSubscriber() |
nothing calls this directly
no test coverage detected