Skip to content

Javascript's number overflow for timescale 10000000 (PlayReady/SmoothStreaming default) #1667

Closed
@agelun

Description

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

What version of Shaka Player are you using?:
commit 1831ce9

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?:
Demo app

What browser and OS are you using?:
Chrome, LG WebOS SmartTV, Samsung Tizen SmartTV

What did you do?
Trying to play content with timescale = 10,000,000 (10 millions) and chunk template with "$Time$" placeholder.

It's a "default timescale" for SmoothStreaming and it is required by several legacy TV models (Samsung Tizen 2015, for example).

The problem is caused by:

  1. JS number overflow for SegmentTemplate+SegmentTimeline content
  2. (theoretically – not tested, found in sources) error with rounding "seconds * timescale" values for SegmentTemplate (without timeline) content.

What did you expect to happen?
Play content normally

What actually happened?
Shaka generates invalid chunk name -> 404 from the server.

Metadata

Assignees

No one assigned

    Labels

    status: archivedArchived and locked; will not be updatedstatus: bad contentCaused by invalid, broken, or unsupported contenttype: docsImprovements or fixes to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions