mirror of
				https://github.com/aler9/rtsp-simple-server
				synced 2025-10-31 11:06:28 +08:00 
			
		
		
		
	do not allow closed static sources to set a path as ready
This commit is contained in:
		| @@ -92,6 +92,7 @@ type pathSourceStaticSetReadyRes struct { | ||||
| } | ||||
|  | ||||
| type pathSourceStaticSetReadyReq struct { | ||||
| 	Source sourceStatic | ||||
| 	Tracks gortsplib.Tracks | ||||
| 	Res    chan pathSourceStaticSetReadyRes | ||||
| } | ||||
| @@ -348,8 +349,12 @@ outer: | ||||
| 			} | ||||
|  | ||||
| 		case req := <-pa.sourceStaticSetReady: | ||||
| 			pa.sourceSetReady(req.Tracks) | ||||
| 			req.Res <- pathSourceStaticSetReadyRes{Stream: pa.stream} | ||||
| 			if req.Source == pa.source { | ||||
| 				pa.sourceSetReady(req.Tracks) | ||||
| 				req.Res <- pathSourceStaticSetReadyRes{Stream: pa.stream} | ||||
| 			} else { | ||||
| 				req.Res <- pathSourceStaticSetReadyRes{Err: fmt.Errorf("terminated")} | ||||
| 			} | ||||
|  | ||||
| 		case req := <-pa.sourceStaticSetNotReady: | ||||
| 			if req.Source == pa.source { | ||||
|   | ||||
| @@ -159,6 +159,7 @@ func (s *rtmpSource) runInner() bool { | ||||
| 					s.log(logger.Info, "ready") | ||||
|  | ||||
| 					res := s.parent.OnSourceStaticSetReady(pathSourceStaticSetReadyReq{ | ||||
| 						Source: s, | ||||
| 						Tracks: tracks, | ||||
| 					}) | ||||
| 					if res.Err != nil { | ||||
|   | ||||
| @@ -178,6 +178,7 @@ func (s *rtspSource) runInner() bool { | ||||
| 	s.log(logger.Info, "ready") | ||||
|  | ||||
| 	res := s.parent.OnSourceStaticSetReady(pathSourceStaticSetReadyReq{ | ||||
| 		Source: s, | ||||
| 		Tracks: conn.Tracks(), | ||||
| 	}) | ||||
| 	if res.Err != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 aler9
					aler9