shaka-project / shaka-player

JavaScript player library / DASH & HLS client / MSE-EME player
Apache License 2.0
7.17k stars 1.34k forks source link

Play vod manifest created from live (similar to closed issue?) #3756

Closed Wayne-Morgan closed 2 years ago

Wayne-Morgan commented 2 years ago

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

What version of Shaka Player are you using? 3.1.2 / 3.3.0-pre

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?# Both

If custom app, can you reproduce the issue using our demo app? Yes

What browser and OS are you using? Chrome / Win

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

What are the manifest and license server URIs?

Awaiting permission from customer to send URI

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

Default

What did you do? Tried to play a manifest from a customer (Manifest URI will be supplied when I can get permission from customer)

What did you expect to happen? Content plays

What actually happened?

We have a customer with a manifest which won't play and it seems similar to issue https://github.com/google/shaka-player/issues/1884 Can you please clarify the outcome of this issue?

Our customer's manifest is vod, created from live. It has a mediaPresentationDuration of 30 minutes, but its only period has a start time of 51 years (time since 1970)

During parsing, an assertion fails in createTimeline because the periodDuration is negative. It goes on to try to acquire segments at t=30 minutes, even though the first segment is t=51 years (due to clampSeekToDuration_)

I'd really appreciate it if you could let us know the resolution of 1884, so we can get back to our customer to let them know whether their content is at fault.

Incidentally I also tried this content in dash.js, and saw the debug: [704][StreamController] Waiting for 2147483647 ms before playback can start

RufaelDev commented 2 years ago

https://dvb.org/wp-content/uploads/2020/02/A168r3_MPEG-DASH-Profile-for-Transport-of-ISO-BMFF-Based-DVB-Services_ts_103-285-v140_June_2021.pdf clause 10.9.7 indicates how a player should be able to handle such cases of converting live to vod, in this case the first period may have a start time that is not zero as mentioned above, so i think it is important to test this behaviour well in shaka player aswell and some test content (both live and vod would be helpful).

joeyparrish commented 2 years ago

From the symptoms and the similar issue in dash.js, I would suggest that there's likely something wrong with the way the content is converted from live to VOD. But without a manifest URI, there's no way to confirm.

github-actions[bot] commented 2 years ago

Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including @shaka-bot reopen in a comment.