修复拉流恢复失败问题

This commit is contained in:
yangjiechina
2024-12-01 11:36:55 +08:00
parent 92bd005fc4
commit 1e1408db19
3 changed files with 20 additions and 10 deletions

View File

@@ -22,20 +22,20 @@ type Sink struct {
stream.BaseSink
senders []*librtp.RtpSender // 一个rtsp源, 可能存在多个流, 每个流都需要拉取
sdpCb func(sdp string) // sdp回调, 响应describe
cb func(sdp string) // sdp回调, 响应describe
}
func (s *Sink) StartStreaming(transStream stream.TransStream) error {
if s.senders == nil {
s.senders = make([]*librtp.RtpSender, transStream.TrackCount())
utils.Assert(transStream.TrackCount() > 0)
if s.senders != nil {
return nil
}
s.senders = make([]*librtp.RtpSender, transStream.TrackCount())
// sdp回调给sink, sink应答给describe请求
if s.sdpCb != nil {
s.sdpCb(transStream.(*TransStream).sdp)
s.sdpCb = nil
if s.cb != nil {
s.cb(transStream.(*TransStream).sdp)
}
return nil
}