-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[Camera] Add WebRTC Provider Server In python controller for Camera Initiated session flow. #39952
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
[Camera] Add WebRTC Provider Server In python controller for Camera Initiated session flow. #39952
Conversation
- Adds WebRTC Provider Server endpoint definitions in dynamic_server/DynamicDispatcher.cpp - Implements provider delegates required for MVP Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds support for the camera-initiated WebRTC session flow by implementing a WebRTC Provider Server in the Python controller. The changes are well-structured and include adding a new WebRTCTransportProviderManager
, updating the dynamic dispatcher and access control for the new endpoint, and correcting the nodeId
type to uint64_t
for consistency. The Python bindings and WebRTCManager
are also updated accordingly.
Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
PR #39952: Size comparison from 00aa48e to e7c7b88 Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
PR #39952: Size comparison from 00aa48e to 3a1b593 Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
@@ -19,6 +19,7 @@ | |||
|
|||
constexpr chip::EndpointId kOtaProviderDynamicEndpointId = 0; | |||
constexpr chip::EndpointId kWebRTCRequesterDynamicEndpointId = 1; | |||
constexpr chip::EndpointId kWebRTCProviderDynamicEndpointId = 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, this really confuses me: why are all users of DynamicDispatcher suddenly doing WebRTC? I know some of it was pre-existing, but that part looks wrong too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your review. As you already know that for the Camera Controllers must have WebRTC-Transport-Requestor Server and in case of camera-initiated flow controller also needs to have WebRTC-Transport-Provider Server. This is currently being achieved by enabling dynamic server for these controllers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My point is that these are not the only consumers of DynamicDispatcher, and the way this is being hacked into the DynamicDispatcher is broken for all the other consumers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to be clear: the changes to DynamicDispatcher here are wrong, and will break non-camera users of DynamicDispatcher. DynamicDispatcher in its current state is not a generic dispatcher; it's hardcoded to do OTA, and OTA only, and the changes here don't really address that sufficiently.
The previous changes in #38153 that this is modeled off of were also wrong in the same way, but the right solution is to fix the already-broken things, not add more broken bits.
WebRTC Provider Server and WebRTC Requestor Client is needed in controller for Camera Initiated Flow. https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/master/src/app_clusters/webrtc.adoc#33-camera-initiated-flow
This PR
Testing