@@ -103,25 +103,22 @@ def checkStreamDelay(lines):
103103
104104
105105def checkServiceRecommendations (lines ):
106- maxBitrate = None
107106 for i , line in enumerate (lines ):
108107 if "User is ignoring service bitrate limits." in line :
109108 for j in range (i + 1 , len (lines )):
110109 if "video bitrate:" in lines [j ]:
111110 maxBitrateMatch = re .search (r'video bitrate:\s+(\d+)' , lines [j ])
112111 if maxBitrateMatch :
113112 maxBitrate = int (maxBitrateMatch .group (1 ))
113+ for k in range (j + 1 , len (lines )):
114+ if "bitrate:" in lines [k ] and "video bitrate:" not in lines [k ].lower () and "audio" not in lines [k ].lower ():
115+ currentBitrateMatch = re .search (r'bitrate:\s+(\d+)' , lines [k ])
116+ if currentBitrateMatch :
117+ currentBitrate = int (currentBitrateMatch .group (1 ))
118+ if currentBitrate > maxBitrate :
119+ return [LEVEL_WARNING , "Max Video Bitrate Limit Exceeded" ,
120+ f"Current bitrate { currentBitrate } kbps exceeds max video bitrate limit { maxBitrate } kbps. "
121+ "This may result in the streaming service not displaying the video from your stream or rejecting it entirely." ]
122+ break
114123 break
115- break
116-
117- if maxBitrate is not None :
118- for i , line in enumerate (lines ):
119- if "bitrate:" in line and "video bitrate:" not in line :
120- currentBitrateMatch = re .search (r'bitrate:\s+(\d+)' , line )
121- if currentBitrateMatch :
122- currentBitrate = int (currentBitrateMatch .group (1 ))
123- if currentBitrate > maxBitrate :
124- return [LEVEL_WARNING , "Max Video Bitrate Limit Exceeded" ,
125- f"Current bitrate { currentBitrate } kbps exceeds max video bitrate limit { maxBitrate } kbps. "
126- "This may result in the streaming service not displaying the video from your stream or rejecting it entirely." ]
127124 return None
0 commit comments