fix(Video): show receiver settings for discovered streams - #14993
Conversation
Keep local receiver-policy controls visible when MAVLink provides the stream endpoint, while continuing to lock source selection and connection fields and to hide the aspect-ratio override. Add UI regression coverage for the discovered-stream state.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #14993 +/- ##
==========================================
+ Coverage 25.47% 34.57% +9.10%
==========================================
Files 769 945 +176
Lines 65912 85586 +19674
Branches 30495 39446 +8951
==========================================
+ Hits 16788 29593 +12805
+ Misses 37285 36330 -955
- Partials 11839 19663 +7824
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
See the Build Results workflow run for details. |
Rely on the settings generator to append Fact userVisible conditions, and remove the redundant asynchronous check after synchronously overriding autoStreamConfig in the UI regression test.
|
Can you squash into a single commit and rebase to current upstream? That should fix the ci failure. |
Bug Description
When MAVLink camera discovery supplies a stream endpoint, the Video settings page hides local receiver-policy controls along with the source and connection controls. This prevents users from configuring receiver behavior for automatically discovered streams even though those settings are applied by
VideoManager.No linked issue.
Root Cause
The affected settings shared an
!autoStreamConfigvisibility condition with controls that discovery actually owns. The condition hid Stop video when disarmed, Low Latency Mode, RTP jitter latency, and RTSP auto-reconnect whenever a stream was discovered automatically.Solution
Remove
!autoStreamConfigonly from the four local receiver-policy controls. Video source selection remains locked, connection fields remain hidden, and the Aspect Ratio override remains hidden for discovered streams.A QML UI regression test switches the Video settings page into the discovered-stream state and verifies both sides of the behavior: the four receiver controls stay visible, while source/connection/aspect-ratio restrictions remain in place.
Testing
Tests and checks run:
TopLevelViewsTest: 9 passed, including_testDiscoveredCameraReceiverSettingsVisiblePlatforms Tested
Flight Stacks Tested
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the project's dual license (Apache 2.0 and GPL v3).