-
Notifications
You must be signed in to change notification settings - Fork 131
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
[SDL 0292] implement VirtualDisplayEncoder improvement for stable frame rate #1389
[SDL 0292] implement VirtualDisplayEncoder improvement for stable frame rate #1389
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #1389 +/- ##
=============================================
- Coverage 56.09% 54.99% -1.11%
- Complexity 5021 5035 +14
=============================================
Files 515 523 +8
Lines 22297 22864 +567
Branches 2777 2824 +47
=============================================
+ Hits 12508 12574 +66
- Misses 8848 9328 +480
- Partials 941 962 +21
|
Hello @shiniwat would it be possible to share your VPM app to test this PR? |
Hello @shiniwat during testing how were you able to confirm that the video stream ran at a consistent frame rate? |
Hi @RHenigan, |
Hi @RHenigan, my apologies for slow update. |
android/sdl_android/src/main/java/com/smartdevicelink/encoder/VirtualDisplayEncoder.java
Show resolved
Hide resolved
base/src/main/java/com/smartdevicelink/streaming/video/VideoStreamingParameters.java
Show resolved
Hide resolved
…mpatibility, which is suggested during the code review at smartdevicelink#1389.
Hello @shiniwat Can you resolve the merge conflicts, some of the code cleanup going on as part of the 5.0 release is creating some minor conflicts. While testing I have been unable to validate the video is running at a consistent frame rate. Thank you for sharing the test app but I have trouble with it crashing when the stream starts. |
Hi @RHenigan, |
base/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingCapability.java
Outdated
Show resolved
Hide resolved
Hello @shiniwat |
Hi @RHenigan, |
@shiniwat Hi! There was found a corner case (by @mrapitis) that if the user starts the video streaming with custom |
Hi @KostyaBoss, thanks for the suggestion.
|
@shiniwat Hi! Thanks for your reply. The points 1-3 seem reasonable for us, could you please give more feedback on the point 2 issue when you have some? Thanks |
@shiniwat I would advise against merging any of the suggested changes from that PR as they stand, these changes were not present in the evolution proposal and would need further review before being accepted and merged. This may cause undue work onto you if merged. @KostyaBoss please note that the changes suggested create breaking changes as well as introducing public API changes, these types of changes must have proper review and follow the defined processes. |
Hi @joeygrover, @KostyaBoss, please let me know the importance of your proposed changes. Sounds like merging VideoStreamingCapability is kind of edge case, right? |
@shiniwat I don't think that this is considered to be an edge case, but let me share the reproduction steps there:
AR
ER
I think that's the major scenario |
Hi @KostyaBoss, Understood your point. Because we need to take care of not only preferredFPS, but also other VideoStreamingParameters to cope with VideoStreamingCapability, I believe that issue should be addressed in another proposal rather than revising this one (SDL 0292). |
@shiniwat Hi! I didn't check the IOS side but should work in the same way |
I double-checked my PR at smartdevicelink/sdl_ios#1613, and just recalled the fact where there's no such VideoStreamingParameters in sdl_ios. Therefore, we don't have to worry about collisions between VideoStreamingParameters and VideoStreamingCapabilities in iOS, i.e. the issue should be specific to sdl_java_suite. |
Sorry for not updating previous comment, but the issue raised by @KostyaBoss is discussed in another proposal at SDL 0323. |
Because SDL 0323 (Aligning VideoStreamingParameters with VideoStreamingCapability) implementation heavily depends on this PR, I have added another commit (3adc0ea), which covers implementing SDL 0323. |
…deoStreamingCapability." This reverts commit 3adc0ea.
Understood. I have reverted the commit for SDL 0323 (3adc0ea). I will submit yet another PR to address SDL 0323. |
Regarding SDL 0323, I have submitted another PR at #1576. Thanks. |
Hello @shiniwat, |
Hi @RHenigan, according to your request, I have changed the base branch into integration/stable_frame_rate. |
Hello @shiniwat, I do not believe we need to add unit tests for the added grafika classes and I will continue my review of this PR |
Fixes #1361
This PR is ready for review.
Risk
This PR makes minor API changes.
Testing Plan
Unit Tests
This PR includes an unit test for Grafika part
Core Tests
I have run my SDL VPM app to make sure VPM runs with consistent frame rate.
Core version / branch / commit hash / module tested against: Core 6.1 + preferredFPS integrated (see sdl_core PR at smartdevicelink/sdl_core#3437)
HMI name / version / branch / commit hash / module tested against: our own HMI with VPM capability
Summary
This implements [SDL 0292] Improve VirtualDisplayEncoder for stable frame rate.
Changelog
Breaking Changes
Enhancements
Bug Fixes
Tasks Remaining:
CLA