-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[Camera] Python Camera Controller implementation for WEBRTC TCs #39851
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
[Camera] Python Camera Controller implementation for WEBRTC TCs #39851
Conversation
…estor server in controller and to receive commands Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
…RP_OR_TCP Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
…eiving video, sets media handlers - forward H264 packets to UDP socket so a webclient can pick it up - Adds more APIs related to peerconnection - moves WebRTCClient to a separate file Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
…thods - webrtc_manager maintains mappings of sessionid, nodeid and peer_connection. Also has requestor delegate callbacks - peer_connection maintains all states of the peer both through webrtc_client and requestor commands Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
…commands - This is need due to the slow processing of python responses by which time the next command for webrtc requestor would fail with NOT_FOUND by the requestor server. - To solve this custom response handling is required from the cpp itself, hence the need for a separate command sender for these commands Signed-off-by: abhishek.h <abhishek.h@samsung.com> 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 introduces a significant amount of new functionality to support WebRTC in the Python controller, primarily for testing purposes. It adds new Python classes like PeerConnection
and WebRTCManager
to handle WebRTC sessions, a custom command sender for performance-critical paths, and the necessary C++ backend and native bindings. The changes are well-structured and modular. I've identified a critical issue with incorrect arguments being passed to native functions that will cause runtime errors, and a couple of medium-severity issues related to hardcoded values that could affect test stability and code reusability. Overall, a great addition once these points are addressed.
Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
PR #39851: Size comparison from 02d5c4a to 16e7713 Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
PR #39851: Size comparison from 02d5c4a to 200d4e2 Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
…sender callbacks Signed-off-by: abhishek.h <abhishek.h@samsung.com> Signed-off-by: Charles Kim <chulspro.kim@samsung.com>
PR #39851: Size comparison from 02d5c4a to 2dca94d Full report (71 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>
This PR,
allowLargePayload
to command sender based onTransportPayloadCapability
typePeerConnection
,WebRTCManager
classes inchip.webrtc
module to help manage the peer connection.PeerConnection
WEBRTC TCs 1.1, 1.2, 1.3, 1.4 will utilize class methods from
PeerConnection
andWebRTCManager
to execute test steps.Testing
Manual verification with TCs