Skip to content

Id3 pts issues HLS live stream #7473

@robr10

Description

@robr10

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

If the problem is related to FairPlay, have you read the tutorial?

n/a

What version of Shaka Player are you using?

v4.11.9
v4.9.30

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

Can you reproduce the issue with the latest code from main?
Yes

Are you using the demo app or your own custom app?
Custom

If custom app, can you reproduce the issue using our demo app?
n/a

What browser and OS are you using?
Chrome, Windows/MacOS

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

What are the manifest and license server URIs?

Providing via shaka-player-maintainers@googlegroups.com

What configuration are you using? What is the output of player.getNonDefaultConfiguration()?

Default configuration

What did you do?

Started our HLS live stream that uses Google DAI with embedded ID3 data in our content segments.

Restart stream until it begins with a content segment rather than a DAI ad break.

When the stream segment timestamps exceeded half of the PTS rollover limit (RO_THRESH = 4294967296), I observed incorrect PTS values for some ID3 events during transitions between content and ad breaks/stream discontinuities.

What did you expect to happen?
Expected appropriate PTS values for all ID3 events, ensuring correct ad beacon firing.

What actually happened?

Observed that PTS values for ID3 events were incorrectly jumping several hours ahead when segment timestamps were above half the PTS rollover limit.

This abnormal jump in PTS values causes failures in firing DAI ad beacons.

Log example:

Logs from:
https://github.com/shaka-project/shaka-player/blob/09cdf03ba5e019481017068ddc1e2ca44f77a544/lib/player.js#L3016C3-L3016C32

Normal pts:
{"start":1440.199999999997,"end":1441.84,"payload":{"key":"TDRL","description":"","data":"2024-10-23T05:17:04.000z"}}

Abnormal pts:
{"start":96885.65768888888,"end":96885.65768888888,"payload":{"key":"TXXX","description":"","data":"google_17112056094214158867"}}

{"start":96886.45768888888,"end":96886.45768888888,"payload":{"key":"TXXX","description":"","data":"google_AvTG_hxjzizG5mEFxp8Ev78D7CAw5Va_OT4WnE0JRSQ"}}

The PTS values jumped ~26 hours.

PTS normalisation/adjustment might be needed.

pes.pts = this.handleRollover_(pts, this.referencePts_);

Are you planning send a PR to fix it?
Not currently

Metadata

Metadata

Assignees

Labels

component: HLSThe issue involves Apple's HLS manifest formatpriority: P2Smaller impact or easy workaroundstatus: archivedArchived and locked; will not be updatedtype: bugSomething isn't working correctly

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions