question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Fault tolerance for bad text encoding

See original GitHub issue

Have you read the FAQ and checked for duplicate open issues? Possible duplicate of https://github.com/google/shaka-player/issues/571, but in the last comment; it is written if the vtt is valid but still you face the issue then raise an issue ticket.

What version of Shaka Player are you using? https://shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;panel=HOME;build=uncompiled

Can you reproduce the issue with our latest release version? I checked in demo.

Can you reproduce the issue with the latest code from master? NA

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

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

What browser and OS are you using? Firefox, MacOS Catalina 10.15.5

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

What are the manifest and license server URIs? Sending you over email.

What did you do? Simply Play the content. It throws, Shaka Error TEXT.BAD_ENCODING () While debugging further, can see that it fails in vtt_text_parser.js We saw that this vtt file is valid using , https://quuz.org/webvtt/

What did you expect to happen? Subtitles should be visible on the player.

What actually happened? Subtitles are not visible on the Player. It throws https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html#value:2004

Object { severity: 2, category: 2, code: 2004, data: [], handled: false, message: "Shaka Error TEXT.BAD_ENCODING ()", stack: "@https://shaka-player-demo.appspot.com/lib/util/error.js:97:17\nfromUTF8@https://shaka-player-demo.appspot.com/lib/util/string_utils.js:54:13\nparseMedia@https://shaka-player-demo.appspot.com/lib/text/vtt_text_parser.js:39:38\nappendBuffer@https://shaka-player-demo.appspot.com/lib/text/text_engine.js:167:34\nasync*appendBuffer@https://shaka-player-demo.appspot.com/lib/media/media_source_engine.js:477:30\nappend_@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:1485:51\nasync*fetchAndAppend_@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:1207:18\nasync*update_@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:1029:20\nonUpdate_@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:870:26\nasync*scheduleUpdate_/mediaState.updateTimer<@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:1720:20\nonTick@https://shaka-player-demo.appspot.com/lib/util/delayed_tick.js:56:14\nsetTimeout handler*tickAfter@https://shaka-player-demo.appspot.com/lib/util/delayed_tick.js:60:24\nscheduleUpdate_@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:1726:8\ninitStreams_@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:746:14\nasync*start@https://shaka-player-demo.appspot.com/lib/media/streaming_engine.js:182:16\nonLoad_@https://shaka-player-demo.appspot.com/lib/player.js:1846:33\nasync*@https://shaka-player-demo.appspot.com/lib/player.js:553:51\nenterNode@https://shaka-player-demo.appspot.com/lib/player.js:575:16\ntakeNextStep_@https://shaka-player-demo.appspot.com/lib/routing/walker.js:341:48\ndoOneThing_@https://shaka-player-demo.appspot.com/lib/routing/walker.js:228:19\nmainLoop_@https://shaka-player-demo.appspot.com/lib/routing/walker.js:209:18\nasync*this.mainLoopPromise_<@https://shaka-player-demo.appspot.com/lib/routing/walker.js:105:63\npromise callback*@https://shaka-player-demo.appspot.com/lib/routing/walker.js:105:47\n@https://shaka-player-demo.appspot.com/lib/player.js:608:20\nsetupUIandAutoLoad_@https://shaka-player-demo.appspot.com/ui/ui.js:343:20\nscanPageForShakaElements_@https://shaka-player-demo.appspot.com/ui/ui.js:296:34\nEventListener.handleEvent*@https://shaka-player-demo.appspot.com/ui/ui.js:430:10\n" }

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
joeyparrishcommented, Aug 28, 2020

@theodab has corrected me privately that we can have extra fault tolerance without a meaningful increase in binary size. Now we’re debating the best solution.

0reactions
joeyparrishcommented, Aug 28, 2020

I don’t believe we should write a custom UTF-8 parser. Using browser built-ins where possible and avoiding third-party dependencies is how Shaka Player remains smaller than dash.js, in spite of supporting DASH+HLS+offline+cast.

So I’m removing “enhancement” and closing the issue. Thanks!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Implementation of Fault-Tolerant Encoding Circuit Based on ...
In this paper, we propose a method to design a fault-tolerant encoding circuit for Calderbank-Shor-Steane (CSS) code based on stabilizer ...
Read more >
arXiv:1610.03507v2 [quant-ph] 14 Oct 2016
This encoding circuit is fault tolerant: A gate error during a CNOT could mess up one of the two Bell pairs, but an...
Read more >
Chapter 4. Bad Data Lurking in Plain Text - O'Reilly
In general, URL encoding artifacts leaking into plain text is not a serious problem. URL encoding and decoding of form submissions happens behind...
Read more >
Text encoding is a convoluted mess - Win Vector LLC
Modern text encoding is a convoluted mess where costs can easily exceed benefits. I admit we are in a world that has moved...
Read more >
Fault-tolerant operation of a logical qubit in a diamond ...
We encode the logical qubit using a new protocol based on repeated multi-qubit measurements and show that it outperforms non-fault-tolerant ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found