Skip to content

Commit c93232e

Browse files
committed
Make minimum frame rate configurable in Python WebRTC/AVSM tests
- Add `--min-frame-rate` command-line argument to the test runner (default: 30). - Update `MatterTestConfig` to store `min_frame_rate`. - Update all Python test scripts and helper classes that had hardcoded `minFrameRate=15` to use `self.matter_test_config.min_frame_rate` instead. - This allows users to customize the minimum frame rate used during video stream allocation.
1 parent b578401 commit c93232e

13 files changed

Lines changed: 24 additions & 20 deletions

src/python_testing/TC_AVSMTestBase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ async def precondition_one_allocated_video_stream(self, streamUsage: Globals.Enu
210210
videoStreamAllocateCmd = commands.VideoStreamAllocate(
211211
streamUsage=streamUsage,
212212
videoCodec=aRateDistortionTradeOffPoints[0].codec,
213-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
213+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
214214
maxFrameRate=aVideoSensorParams.maxFPS,
215215
minResolution=aMinViewportRes,
216216
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_AVSM_2_11.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ async def test_TC_AVSM_2_11(self):
263263
videoStreamAllocateCmd = commands.VideoStreamAllocate(
264264
streamUsage=aStreamUsagePriorities[0],
265265
videoCodec=aRateDistortionTradeOffPoints[0].codec,
266-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
266+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
267267
maxFrameRate=aVideoSensorParams.maxFPS,
268268
minResolution=aMinViewportRes,
269269
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_AVSM_2_13.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ async def test_TC_AVSM_2_13(self):
188188
videoStreamAllocateCmd = commands.VideoStreamAllocate(
189189
streamUsage=aStreamUsagePriorities[0],
190190
videoCodec=aRateDistortionTradeOffPoints[0].codec,
191-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
191+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
192192
maxFrameRate=aVideoSensorParams.maxFPS,
193193
minResolution=aMinViewportResolution,
194194
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -222,7 +222,7 @@ async def test_TC_AVSM_2_13(self):
222222
videoStreamAllocateCmd = commands.VideoStreamAllocate(
223223
streamUsage=aStreamUsagePriorities[0],
224224
videoCodec=aRateDistortionTradeOffPoints[0].codec,
225-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
225+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
226226
maxFrameRate=aVideoSensorParams.maxFPS,
227227
minResolution=aMinViewportResolution,
228228
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_AVSM_2_18.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ async def test_TC_AVSM_2_18(self):
137137
min_resolution = min_viewport_resolution
138138
min_bit_rate = trade_off_point.minBitRate
139139
max_bit_rate = trade_off_point.minBitRate
140-
min_frame_rate = min(15, video_sensor_params.maxFPS)
140+
min_frame_rate = min(self.matter_test_config.min_frame_rate, video_sensor_params.maxFPS)
141141
max_frame_rate = video_sensor_params.maxFPS
142142
key_frame_interval = 4000
143143

src/python_testing/TC_AVSM_2_7.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ async def test_TC_AVSM_2_7(self):
259259
videoStreamAllocateCmd = commands.VideoStreamAllocate(
260260
streamUsage=aStreamUsagePriorities[0],
261261
videoCodec=aRateDistortionTradeOffPoints[0].codec,
262-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
262+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
263263
maxFrameRate=aVideoSensorParams.maxFPS,
264264
minResolution=aMinViewportRes,
265265
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -293,7 +293,7 @@ async def test_TC_AVSM_2_7(self):
293293
videoStreamAllocateCmd = commands.VideoStreamAllocate(
294294
streamUsage=aStreamUsagePriorities[0],
295295
videoCodec=aRateDistortionTradeOffPoints[0].codec,
296-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
296+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
297297
maxFrameRate=aVideoSensorParams.maxFPS,
298298
minResolution=aMinViewportRes,
299299
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -370,7 +370,7 @@ async def test_TC_AVSM_2_7(self):
370370
videoStreamAllocateCmd = commands.VideoStreamAllocate(
371371
streamUsage=outOfConstraintStreamUsage,
372372
videoCodec=aRateDistortionTradeOffPoints[0].codec,
373-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
373+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
374374
maxFrameRate=aVideoSensorParams.maxFPS,
375375
minResolution=aMinViewportRes,
376376
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -403,7 +403,7 @@ async def test_TC_AVSM_2_7(self):
403403
videoStreamAllocateCmd = commands.VideoStreamAllocate(
404404
streamUsage=notSupportedStreamUsage,
405405
videoCodec=aRateDistortionTradeOffPoints[0].codec,
406-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
406+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
407407
maxFrameRate=aVideoSensorParams.maxFPS,
408408
minResolution=aMinViewportRes,
409409
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -486,7 +486,7 @@ async def test_TC_AVSM_2_7(self):
486486
videoStreamAllocateCmd = commands.VideoStreamAllocate(
487487
streamUsage=aStreamUsagePriorities[0],
488488
videoCodec=aRateDistortionTradeOffPoints[0].codec,
489-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
489+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
490490
maxFrameRate=aVideoSensorParams.maxFPS,
491491
minResolution=aMinViewportRes,
492492
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -513,7 +513,7 @@ async def test_TC_AVSM_2_7(self):
513513
videoStreamAllocateCmd = commands.VideoStreamAllocate(
514514
streamUsage=aStreamUsagePriorities[0],
515515
videoCodec=aRateDistortionTradeOffPoints[0].codec,
516-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
516+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
517517
maxFrameRate=aVideoSensorParams.maxFPS,
518518
minResolution=aMinViewportRes,
519519
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -540,7 +540,7 @@ async def test_TC_AVSM_2_7(self):
540540
videoStreamAllocateCmd = commands.VideoStreamAllocate(
541541
streamUsage=aStreamUsagePriorities[0],
542542
videoCodec=aRateDistortionTradeOffPoints[0].codec,
543-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
543+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
544544
maxFrameRate=aVideoSensorParams.maxFPS,
545545
minResolution=aMinViewportRes,
546546
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -567,7 +567,7 @@ async def test_TC_AVSM_2_7(self):
567567
videoStreamAllocateCmd = commands.VideoStreamAllocate(
568568
streamUsage=aStreamUsagePriorities[0],
569569
videoCodec=10,
570-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
570+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
571571
maxFrameRate=aVideoSensorParams.maxFPS,
572572
minResolution=aMinViewportRes,
573573
maxResolution=cluster.Structs.VideoResolutionStruct(
@@ -594,7 +594,7 @@ async def test_TC_AVSM_2_7(self):
594594
videoStreamAllocateCmd = commands.VideoStreamAllocate(
595595
streamUsage=aStreamUsagePriorities[0],
596596
videoCodec=aRateDistortionTradeOffPoints[0].codec,
597-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
597+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
598598
maxFrameRate=aVideoSensorParams.maxFPS + 10,
599599
minResolution=aMinViewportRes,
600600
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_AVSM_VideoStreamsPersistence.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ async def test_TC_AVSM_VideoStreamsPersistence(self):
197197
videoStreamAllocateCmd = commands.VideoStreamAllocate(
198198
streamUsage=aStreamUsagePriorities[0],
199199
videoCodec=aRateDistortionTradeOffPoints[0].codec,
200-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
200+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
201201
maxFrameRate=aVideoSensorParams.maxFPS,
202202
minResolution=aMinViewportRes,
203203
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_AVSUMTestBase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ async def video_stream_allocate_command(self, endpoint, expected_status: Status
265265
response = await self.send_single_cmd(cmd=Clusters.CameraAvStreamManagement.Commands.VideoStreamAllocate(
266266
streamUsage=aStreamUsagePriorities[0],
267267
videoCodec=aRateDistortionTradeOffPoints[0].codec,
268-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
268+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
269269
maxFrameRate=aVideoSensorParams.maxFPS,
270270
minResolution=aMinViewportRes,
271271
maxResolution=Clusters.CameraAvStreamManagement.Structs.VideoResolutionStruct(width=aVideoSensorParams.sensorWidth,

src/python_testing/TC_PAVSTTestBase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ async def allocate_one_video_stream(self):
137137
videoStreamAllocateCmd = commands.VideoStreamAllocate(
138138
streamUsage=aStreamUsagePriorities[0],
139139
videoCodec=aRateDistortionTradeOffPoints[0].codec,
140-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
140+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
141141
maxFrameRate=aVideoSensorParams.maxFPS,
142142
minResolution=aMinViewport,
143143
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_WEBRTCPTestBase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ async def allocate_one_video_stream(self):
138138
videoStreamAllocateCmd = commands.VideoStreamAllocate(
139139
streamUsage=Globals.Enums.StreamUsageEnum.kLiveView,
140140
videoCodec=aRateDistortionTradeOffPoints[0].codec,
141-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
141+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
142142
maxFrameRate=aVideoSensorParams.maxFPS,
143143
minResolution=aMinViewportRes,
144144
maxResolution=cluster.Structs.VideoResolutionStruct(

src/python_testing/TC_WEBRTC_1_5.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ async def allocate_video_stream(self, endpoint):
185185
cmd=CameraAvStreamManagement.Commands.VideoStreamAllocate(
186186
streamUsage=aStreamUsagePriorities[0],
187187
videoCodec=aRateDistortionTradeOffPoints[0].codec,
188-
minFrameRate=min(15, aVideoSensorParams.maxFPS),
188+
minFrameRate=min(self.matter_test_config.min_frame_rate, aVideoSensorParams.maxFPS),
189189
maxFrameRate=aVideoSensorParams.maxFPS,
190190
minResolution=aMinViewportRes,
191191
maxResolution=CameraAvStreamManagement.Structs.VideoResolutionStruct(

0 commit comments

Comments
 (0)