mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 07:06:58 +08:00
server: stop sending frames immediately after ServerStream.Close() is called
This commit is contained in:
@@ -67,6 +67,10 @@ func (st *ServerStream) Close() error {
|
||||
}
|
||||
}
|
||||
|
||||
for ss := range st.readers {
|
||||
ss.Close()
|
||||
}
|
||||
|
||||
if st.multicastListeners != nil {
|
||||
for _, l := range st.multicastListeners {
|
||||
l.rtpListener.close()
|
||||
@@ -75,10 +79,8 @@ func (st *ServerStream) Close() error {
|
||||
st.multicastListeners = nil
|
||||
}
|
||||
|
||||
for ss := range st.readers {
|
||||
ss.Close()
|
||||
}
|
||||
st.readers = nil
|
||||
st.readersUnicast = nil
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -123,10 +125,7 @@ func (st *ServerStream) readerAdd(ss *ServerSession, isMulticast bool) error {
|
||||
}
|
||||
}
|
||||
|
||||
if !isMulticast || st.multicastListeners != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
if isMulticast && st.multicastListeners == nil {
|
||||
st.multicastListeners = make([]*listenerPair, len(st.tracks))
|
||||
|
||||
for i := range st.tracks {
|
||||
@@ -147,6 +146,7 @@ func (st *ServerStream) readerAdd(ss *ServerSession, isMulticast bool) error {
|
||||
rtcpListener: rtcpListener,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user