Skip to content
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

Video end service sometimes not sent when using a secondary transport #1551

Closed
NicoleYarroch opened this issue Feb 7, 2020 · 1 comment
Closed
Assignees
Labels
bug A defect in the library manager-streaming-video Relating to the manager layer - video streaming transport-secondary Relating to the secondary transport
Projects

Comments

@NicoleYarroch
Copy link
Contributor

Bug Report

Due to TCP socket's resources getting reclaimed by the kernel when the app on the device is backgrounded, the TCP socket must be closed whenever the app on the device is backgrounded or the device is locked. But before the socket is closed an end video service control frame must be sent to close the current video stream.

This is done in the code currently in two separate classes, the SDLStreamingVideoLifecycleManager and the SDLSecondaryTransportManager, which are both registered for the UIApplicationWillResignActiveNotification. This creates a race condition where the transport might be destroyed by the SDLSecondaryTransportManager before the video end service control frame is sent by the SDLStreamingVideoLifecycleManager.

Reproduction Steps
  1. Connect a navigation app to a head unit that supports secondary transports. Launch the SDL app if necessary.
  2. Background the app on iPhone.
Expected Behavior

The end video service request should be sent and the TCP socket closed successfully.

Observed Behavior

The end video service request sometimes does not get sent and sometimes the TCP socket does not close successfully due to the thread not closing successfully when SDLTCPTransport disconnect is called.

OS & Version Information
  • iOS Version: 13.0
  • SDL iOS Version: 6.5
  • Testing Against: SYNC 4
@NicoleYarroch NicoleYarroch added bug A defect in the library transport-secondary Relating to the secondary transport manager-streaming-video Relating to the manager layer - video streaming labels Feb 7, 2020
@NicoleYarroch NicoleYarroch self-assigned this Mar 3, 2020
@joeljfischer joeljfischer added this to To do in v6.6.0 Mar 18, 2020
@NicoleYarroch
Copy link
Contributor Author

Fixed in #1566

v6.6.0 automation moved this from To do to Done Apr 1, 2020
@joeljfischer joeljfischer mentioned this issue Apr 29, 2020
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A defect in the library manager-streaming-video Relating to the manager layer - video streaming transport-secondary Relating to the secondary transport
Projects
No open projects
v6.6.0
  
Done
Development

No branches or pull requests

1 participant