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

Add listenable events for playback stall detection / gap jumping #4227

Closed
JulianDomingo opened this issue May 16, 2022 · 1 comment
Closed
Assignees
Labels
priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@JulianDomingo
Copy link
Collaborator

Have you read the FAQ and checked for duplicate open issues?
Yes. This is strictly for information dispatching of stalling, which to my knowledge isn't included in the completed pull request refactoring the stall detection / gap jumping logic in #4125.

Is your feature request related to a problem? Please describe.
Provides means for improved playback analytics in the Cast Receiver SDK with use of Shaka Player.

Describe the solution you'd like
An event stalldetected can be dispatched when Shaka Player detects a stall based on the value of stallThreshold through StreamingConfiguration.

A second event gapjumped could also be dispatched when Shaka performs a jump in a media gap, with the media time Shaka Player jumped to.

Describe alternatives you've considered
I spent some time looking into a way to detect playback stalls solely through the mediaElement to prevent the need to create a change to Shaka Player directly. However, the heuristics for gap jumping / stall detection are too complex to replicate in the receiver SDK. A simple event dispatch without any logical changes to the detection / jump logic would be both safer for the receiver SDK and non-risky for Shaka Player.

Additional context
https://github.com/shaka-project/shaka-player/blob/main/lib/media/gap_jumping_controller.js
https://github.com/shaka-project/shaka-player/blob/main/lib/media/stall_detector.js

@JulianDomingo JulianDomingo added the type: enhancement New feature or request label May 16, 2022
@JulianDomingo JulianDomingo self-assigned this May 16, 2022
@github-actions github-actions bot added this to the Backlog milestone May 16, 2022
@joeyparrish joeyparrish added the priority: P2 Smaller impact or easy workaround label May 16, 2022
JulianDomingo added a commit to JulianDomingo/shaka-player that referenced this issue May 23, 2022
An event stalldetected can be dispatched when Shaka Player detects a
stall based on the value of stallThreshold through
StreamingConfiguration.

A second event gapjumped could also be dispatched when Shaka performs a
jump in a media gap.

Related to issue shaka-project#4227.
joeyparrish pushed a commit that referenced this issue Jun 2, 2022
…ing (#4249)

An event `stalldetected` can be dispatched when Shaka Player detects a stall based on the value of stallThreshold through [StreamingConfiguration](https://shaka-player-demo.appspot.com/docs/api/externs_shaka_player.js.html#line920).

A second event `gapjumped` could also be dispatched when Shaka performs a jump in a media gap.

Related to issue #4227
@joeyparrish
Copy link
Member

Fixed in #4229

theodab pushed a commit to theodab/shaka-player that referenced this issue Jun 3, 2022
…ing (shaka-project#4249)

An event `stalldetected` can be dispatched when Shaka Player detects a stall based on the value of stallThreshold through [StreamingConfiguration](https://shaka-player-demo.appspot.com/docs/api/externs_shaka_player.js.html#line920).

A second event `gapjumped` could also be dispatched when Shaka performs a jump in a media gap.

Related to issue shaka-project#4227
@avelad avelad modified the milestones: Backlog, v4.1 Jun 5, 2022
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Aug 1, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants