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

Handle PTS rollovers #131

Merged
merged 3 commits into from Jul 1, 2021
Merged

Handle PTS rollovers #131

merged 3 commits into from Jul 1, 2021

Conversation

slifty
Copy link
Member

@slifty slifty commented Jun 30, 2021

Description

This PR adds support for PTS rollovers, which occur around every 26.5 hours (every 2^33 / 90 seconds).

Ingestion appliances that extend the AbstractVideoIngestionAppliance should see this support without any needed changes.

Related Issues

Resolves #130

The test was not emitting payloads with PTS values after the first,
because the mocked value was only returning once.
MPEG-TS times are in terms of 1/90000th of a second, and it seems that
value is written in terms of the full fraction, not just the
denominator.

We were storing the "90000" and dividing by it.  This change should
bring things in line with what I understand to be the more explicit way
of referencing basetime.
MPEG-TS stores packet positions using 33 bits, which means that for long
running streams the position will rollover approximately every 26.5 hours.

TV Kitchen appliances need to be able to ingest videos and streams of
any length, which means when rollovers occur the appliance needs to
properly update the origin times to account for the rollover.

Issue #130
@slifty slifty merged commit 73f88c4 into main Jul 1, 2021
@slifty slifty deleted the 130-pts-rollover branch July 1, 2021 00:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Handle PTS rollovers
1 participant