question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Abr Manager Variants out of sync on multi period live DASH playout

See original GitHub issue

We are experiencing a problem on live (linear) streams, where after a new period is parsed and latter the bandwidth changes, on the adaptation event, then if we query the available tracks to get the selected bitrate, we get to a point where there’s no active track

This happens because the ABR Manager variants are not updated, making the streaming engine currentVariant_ also outdated, when the ABR manager suggests a new bandwidth, latter when compared with the manifest variants of the player will not match any since the player holds reference to the new Manifest variants.

Have you read the FAQ and checked for duplicate open issues? yes

What version of Shaka Player are you using? master branch (commit ed953bf76cd90e5cdabd9071c14035ff4b442d00 )

Can you reproduce the issue with our latest release version? yes

Can you reproduce the issue with the latest code from master? yes

Are you using the demo app or your own custom app? Using the demo app with a few changes, for logging (see patch file appended). patch.diff.zip

If custom app, can you reproduce the issue using our demo app? N/A

What browser and OS are you using? macOS Mojave 10.14.6 (18G6020)

For embedded devices (smart TVs, etc.), what model and firmware version are you using? N/A

What are the manifest and license server URIs?

https://skyglobal-my.sharepoint.com/:x:/g/personal/joao_nabais_sky_uk/EbXNloRdYSREpl4RvbXOs7oB2Kb-kpILbf0-_1ykCNoh2w?e=xkTWQY

What did you do?

1 - Play the stream; 2 - On chrome dev tools force a bitrate change (using for instance Slow 3G setting); 3 - See a log like: [Changed Bitrate] TRAKCS: false,false,false,false,false,true, indicating that there is an active track (the true one); 4 - Wait for a new period to be detected on the DASH Manifest (should see a log like: [Changed Bitrate] NEW PERIOD DETECTED); 5 - Force the stream to another bitrate again (using for instance online setting) on chrome dev tools; 6 - By this point you should be able to see a log indicating that theres in no active track (all false) : [Changed Bitrate] TRAKCS: false,false,false,false,false,false

What did you expect to happen? To always have an active track

What actually happened?

We get to a point where there are no active tracks

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
TheModMakercommented, Mar 24, 2021

I can reproduce with Tears of Steel (live, DASH, Server Side ads).

Read more comments on GitHub >

github_iconTop Results From Across the Web

Multi-period DASH in AWS Elemental MediaPackage
The ability to insert multiple periods in DASH manifests for both VOD and live is available in AWS Elemental MediaPackage. A period is...
Read more >
Guidelines for Implementation: DASH-IF Interoperability Points
Common reasons for defining multiple periods are: ... examples here, especially as clock sync is such a critical element of live services.
Read more >
DASH-IF Interoperability: Guidelines for Implementations
The specified features enable relevant use cases including on-demand, live services, ad insertion, trick modes, seek preview, content protection ...
Read more >
draft-pantos-hls-rfc8216bis-12 - IETF Datatracker
HTTP Live Streaming 2nd Edition (Internet-Draft, 2022) ... display time for that cue, even if part of the cue time range is outside...
Read more >
ABR formats and manifest manipulation - Challenges and best ...
When during live playback the identifier of the period (buffered content) changes, the player will lose the reference to this content and ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found