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

truncated-playback-and-restart__splice_main_splice_ad.html failed in London plugfest #156

Open
jpiesing opened this issue Mar 15, 2024 · 4 comments
Assignees
Labels
London 2024 Plugfest Issues from London plugfest in Feb/Mar 2024 Release V2 Deferred to Release V2

Comments

@jpiesing
Copy link

truncated-playback-and-restart__splice_main_splice_ad.html failed on all 8 TVs in the London plugfest.

  • On 5 of 8 it timed out without running
  • On the 3 of 8 where it ran, the following observations all failed.
    • [OF] Every video frame S[k,s] shall be rendered and the video frames shall be rendered in increasing presentation time order.
    • [OF] Video: The playback duration shall match the duration of the CMAF Track
    • [OF] Video start-up delay: The start-up delay for second presentation should be sufficiently low.
@jpiesing jpiesing added Release V2 Deferred to Release V2 London 2024 Plugfest Issues from London plugfest in Feb/Mar 2024 labels Mar 15, 2024
@yanj-github
Copy link
Contributor

I have noticed the duplication happens at the truncating.
The playback displayed from frame number 1 to frame number 128, then 'representation_change' detected from the status.
It displays frame 1 to 37 of the 1st presentation which is duplicated.
Then it changed to 2nd presentation and started from frame 49.

@jpiesing
Copy link
Author

Here is an analysis of this test on another device.

image

Basically the end of the second presentation is not output. Some possible reasons I can think why this might happen are;

  • The data never appended;
  • The buffer underflows and decoding stops because the TV doesn't know that the end of the sequence has been reached.

I assume the second of these is more likely than the first.

Looking at the source code, test.done() is called in response to the "ended" event being fired. If the buffer underflowed and decoding stopped with frames still in the buffer because the TV didn't know the end of the content had been reached
then this would be consistent.

MediaSource.endOfStream appears to be called from closeBuffer which in turn is called from closeStream. I can see the call to closeStream for the first presentation but not for the second.

image

@FritzHeiden Can you investigate when MediaSource.endOfStream is called for the second stream? What am I missing?

@FritzHeiden
Copy link
Collaborator

Calling endOfStream is now reported as an event in the QR code and logged to the console which is saved along with the results. #174 #175

@jpiesing
Copy link
Author

2024-05-14: Keeping this one open to track the resolution of the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
London 2024 Plugfest Issues from London plugfest in Feb/Mar 2024 Release V2 Deferred to Release V2
Projects
None yet
Development

No branches or pull requests

3 participants