-
Notifications
You must be signed in to change notification settings - Fork 243
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
Fix stopping video without audio streaming #3752
Fix stopping video without audio streaming #3752
Conversation
@theresalech this PR is ready for Livio review |
@AKalinich-Luxoft , thank you! We will include this in the upcoming release if time allows. |
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.
Hi @AKalinich-Luxoft , can you please review and respond to Jacob's comment? We are looking to complete development for the Core 8.0 release soon, so will need to make progress on this PR quickly in order to ensure its inclusion in the release. Thank you! |
@theresalech Luxoft is working on the fix and going to provide extra changes according to Livio comments above. |
Hi @AKalinich-Luxoft, Livio is going to begin Release candidate prep, starting on 2021-08-30. As mentioned in Theresa's comment above, we will need to make progress on this PR asap for it to be included in the upcoming release. Can you please provide timing on when Luxoft will have this PR ready for Livio review? Thanks! |
…o_when_hmi_doesnt_respond_to_audio_stream
Also, application should not be switched to NONE in case when at least one streaming is already approved and active
@jacobkeeler we made some additional changes to resolve the problem you described as well as solve other issues.
Please let me know if you have any questions regarding these changes |
@jordynmackool this PR is ready for Livio review |
src/components/application_manager/src/application_manager_impl.cc
Outdated
Show resolved
Hide resolved
Was this fixed in this commit? I don't recall seeing any PROTOCOL_VIOLATION unregistrations while testing this PR initially, or in recent memory on develop. If the mobile libraries are not sending |
@jacobkeeler it is easy to reproduce on the current develop branch using the following steps:
See attached log file - SmartDeviceLinkCore_develop.zip I used Ford SPT for the case above. I guess it is based on https://github.com/smartdevicelink/sdl_java_suite (yes, I mean this library). You can see that after sending EndService(10) back to the application it does not respond with EndServiceAck, so SDL kicks this application:
The reaction of Ford SPT to EndService requests is simply to stop sending streaming data but do not send EndServiceAck. To be more specific, this block of code is responsible for the app unregistration due to the mentioned reason and it was removed in the commit I mentioned above to solve that problem. |
@AKalinich-Luxoft Hmmm, seems that it might have been fixed at some point in the sdl_java_suite, as I'm not able to reproduce the issue on develop with the steps you provided. The application is just closed, not unregistered. Perhaps it is only an SPT issue now? Also, it seems that the following defect scripts fail because of the fact that app is no longer being unregistered for failing to respond:
Seems that #3139 might specifically include this behavior, as the test explicitly omits the |
@jacobkeeler As for the scripts we have prepared a new PR recently: smartdevicelink/sdl_atf_test_scripts#2576. It includes new scripts and updates for existing ones. Script for #3139 amended in a way App continues streaming and doesn't send Scripts for #3547 changed in a way App is not unregistred since application doesn't send streaming data. We think SDL has to forcibly unregister application only in case if app continue send streaming data when it's not allowed (e.g. A/V service hasn't started, HMI doesn't approve A/V streaming, app is in NONE hmi level etc.) |
Fixes #3479
This PR is ready for review.
Risk
This PR makes no API changes.
Testing Plan
Reproduction Steps
a) Navigation.StartStream
b) Navigation.StartAudioStream
Expected Behavior
SDL does:
Observed Behavior
SDL does:
Summary
Was added function
EndService
which stops streaming for only one service (audio or video) and checks the state of another service. In case if both services are stopped, SDL will unregister the application.CLA