mirror of
https://github.com/livekit/livekit.git
synced 2026-08-28 11:44:43 +00:00
ClearAllReceivers interface is used to pause relay tracks. (#3761)
Restore interface.
This commit is contained in:
@@ -376,7 +376,7 @@ func (t *MediaTrackReceiver) ClearReceiver(mime mime.MimeType, isExpectedToResum
|
||||
t.removeAllSubscribersForMime(mime, isExpectedToResume)
|
||||
}
|
||||
|
||||
func (t *MediaTrackReceiver) clearAllReceivers(isExpectedToResume bool) {
|
||||
func (t *MediaTrackReceiver) ClearAllReceivers(isExpectedToResume bool) {
|
||||
t.params.Logger.Debugw("clearing all receivers", "isExpectedToResume", isExpectedToResume)
|
||||
t.lock.Lock()
|
||||
receivers := t.receivers
|
||||
@@ -448,7 +448,7 @@ func (t *MediaTrackReceiver) TryClose() bool {
|
||||
}
|
||||
|
||||
func (t *MediaTrackReceiver) Close(isExpectedToResume bool) {
|
||||
t.clearAllReceivers(isExpectedToResume)
|
||||
t.ClearAllReceivers(isExpectedToResume)
|
||||
|
||||
t.lock.Lock()
|
||||
if t.state == mediaTrackReceiverStateClosed {
|
||||
|
||||
@@ -574,6 +574,7 @@ type MediaTrack interface {
|
||||
GetTemporalLayerForSpatialFps(spatial int32, fps uint32, mime mime.MimeType) int32
|
||||
|
||||
Receivers() []sfu.TrackReceiver
|
||||
ClearAllReceivers(isExpectedToResume bool)
|
||||
|
||||
IsEncrypted() bool
|
||||
}
|
||||
|
||||
@@ -30,6 +30,11 @@ type FakeLocalMediaTrack struct {
|
||||
result1 types.SubscribedTrack
|
||||
result2 error
|
||||
}
|
||||
ClearAllReceiversStub func(bool)
|
||||
clearAllReceiversMutex sync.RWMutex
|
||||
clearAllReceiversArgsForCall []struct {
|
||||
arg1 bool
|
||||
}
|
||||
ClearSubscriberNodesMaxQualityStub func()
|
||||
clearSubscriberNodesMaxQualityMutex sync.RWMutex
|
||||
clearSubscriberNodesMaxQualityArgsForCall []struct {
|
||||
@@ -462,6 +467,38 @@ func (fake *FakeLocalMediaTrack) AddSubscriberReturnsOnCall(i int, result1 types
|
||||
}{result1, result2}
|
||||
}
|
||||
|
||||
func (fake *FakeLocalMediaTrack) ClearAllReceivers(arg1 bool) {
|
||||
fake.clearAllReceiversMutex.Lock()
|
||||
fake.clearAllReceiversArgsForCall = append(fake.clearAllReceiversArgsForCall, struct {
|
||||
arg1 bool
|
||||
}{arg1})
|
||||
stub := fake.ClearAllReceiversStub
|
||||
fake.recordInvocation("ClearAllReceivers", []interface{}{arg1})
|
||||
fake.clearAllReceiversMutex.Unlock()
|
||||
if stub != nil {
|
||||
fake.ClearAllReceiversStub(arg1)
|
||||
}
|
||||
}
|
||||
|
||||
func (fake *FakeLocalMediaTrack) ClearAllReceiversCallCount() int {
|
||||
fake.clearAllReceiversMutex.RLock()
|
||||
defer fake.clearAllReceiversMutex.RUnlock()
|
||||
return len(fake.clearAllReceiversArgsForCall)
|
||||
}
|
||||
|
||||
func (fake *FakeLocalMediaTrack) ClearAllReceiversCalls(stub func(bool)) {
|
||||
fake.clearAllReceiversMutex.Lock()
|
||||
defer fake.clearAllReceiversMutex.Unlock()
|
||||
fake.ClearAllReceiversStub = stub
|
||||
}
|
||||
|
||||
func (fake *FakeLocalMediaTrack) ClearAllReceiversArgsForCall(i int) bool {
|
||||
fake.clearAllReceiversMutex.RLock()
|
||||
defer fake.clearAllReceiversMutex.RUnlock()
|
||||
argsForCall := fake.clearAllReceiversArgsForCall[i]
|
||||
return argsForCall.arg1
|
||||
}
|
||||
|
||||
func (fake *FakeLocalMediaTrack) ClearSubscriberNodesMaxQuality() {
|
||||
fake.clearSubscriberNodesMaxQualityMutex.Lock()
|
||||
fake.clearSubscriberNodesMaxQualityArgsForCall = append(fake.clearSubscriberNodesMaxQualityArgsForCall, struct {
|
||||
@@ -2269,6 +2306,8 @@ func (fake *FakeLocalMediaTrack) Invocations() map[string][][]interface{} {
|
||||
defer fake.addOnCloseMutex.RUnlock()
|
||||
fake.addSubscriberMutex.RLock()
|
||||
defer fake.addSubscriberMutex.RUnlock()
|
||||
fake.clearAllReceiversMutex.RLock()
|
||||
defer fake.clearAllReceiversMutex.RUnlock()
|
||||
fake.clearSubscriberNodesMaxQualityMutex.RLock()
|
||||
defer fake.clearSubscriberNodesMaxQualityMutex.RUnlock()
|
||||
fake.closeMutex.RLock()
|
||||
|
||||
@@ -30,6 +30,11 @@ type FakeMediaTrack struct {
|
||||
result1 types.SubscribedTrack
|
||||
result2 error
|
||||
}
|
||||
ClearAllReceiversStub func(bool)
|
||||
clearAllReceiversMutex sync.RWMutex
|
||||
clearAllReceiversArgsForCall []struct {
|
||||
arg1 bool
|
||||
}
|
||||
CloseStub func(bool)
|
||||
closeMutex sync.RWMutex
|
||||
closeArgsForCall []struct {
|
||||
@@ -394,6 +399,38 @@ func (fake *FakeMediaTrack) AddSubscriberReturnsOnCall(i int, result1 types.Subs
|
||||
}{result1, result2}
|
||||
}
|
||||
|
||||
func (fake *FakeMediaTrack) ClearAllReceivers(arg1 bool) {
|
||||
fake.clearAllReceiversMutex.Lock()
|
||||
fake.clearAllReceiversArgsForCall = append(fake.clearAllReceiversArgsForCall, struct {
|
||||
arg1 bool
|
||||
}{arg1})
|
||||
stub := fake.ClearAllReceiversStub
|
||||
fake.recordInvocation("ClearAllReceivers", []interface{}{arg1})
|
||||
fake.clearAllReceiversMutex.Unlock()
|
||||
if stub != nil {
|
||||
fake.ClearAllReceiversStub(arg1)
|
||||
}
|
||||
}
|
||||
|
||||
func (fake *FakeMediaTrack) ClearAllReceiversCallCount() int {
|
||||
fake.clearAllReceiversMutex.RLock()
|
||||
defer fake.clearAllReceiversMutex.RUnlock()
|
||||
return len(fake.clearAllReceiversArgsForCall)
|
||||
}
|
||||
|
||||
func (fake *FakeMediaTrack) ClearAllReceiversCalls(stub func(bool)) {
|
||||
fake.clearAllReceiversMutex.Lock()
|
||||
defer fake.clearAllReceiversMutex.Unlock()
|
||||
fake.ClearAllReceiversStub = stub
|
||||
}
|
||||
|
||||
func (fake *FakeMediaTrack) ClearAllReceiversArgsForCall(i int) bool {
|
||||
fake.clearAllReceiversMutex.RLock()
|
||||
defer fake.clearAllReceiversMutex.RUnlock()
|
||||
argsForCall := fake.clearAllReceiversArgsForCall[i]
|
||||
return argsForCall.arg1
|
||||
}
|
||||
|
||||
func (fake *FakeMediaTrack) Close(arg1 bool) {
|
||||
fake.closeMutex.Lock()
|
||||
fake.closeArgsForCall = append(fake.closeArgsForCall, struct {
|
||||
@@ -1827,6 +1864,8 @@ func (fake *FakeMediaTrack) Invocations() map[string][][]interface{} {
|
||||
defer fake.addOnCloseMutex.RUnlock()
|
||||
fake.addSubscriberMutex.RLock()
|
||||
defer fake.addSubscriberMutex.RUnlock()
|
||||
fake.clearAllReceiversMutex.RLock()
|
||||
defer fake.clearAllReceiversMutex.RUnlock()
|
||||
fake.closeMutex.RLock()
|
||||
defer fake.closeMutex.RUnlock()
|
||||
fake.getAllSubscribersMutex.RLock()
|
||||
|
||||
Reference in New Issue
Block a user