Skip to content

TextTrackCue constructor throws on Toshiba dTV #635

Closed
@vitalist82

Description

@vitalist82

- What version of Shaka Player are you using?

2.0.2

  • 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?

Own custom app

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

No. The demo app isn't working on Toshiba TV, where the issue is occuring.

  • What did you do?

I used uncompiled mode, modified logging to be able to see debugging output when running on the TV, set logging level to DEBUG, played standard demo asset "Tears of Steel (Widevine)".
The video was loaded and started playing with the lowest resolution. Even after few minutes of playback, the resolution has not changed. For the asset "Tears of Steel" (without Widevine), the resolution changed as expected.

During the playback of the Widevine video, following error has been logged:
"(text:4) failed fetch and append: code=undefined"

From debugging it seems, that segment for content type 'text' is not downloaded, which is leading to startupComplete_ property of StreamingEngine staying false, thus never calling onCanSwitch_ method.

When I deleted the 'text' content type from mediaStates_ property of StreamingEngine in the beggining of handleStartup_ method -

shaka.media.StreamingEngine.prototype.handleStartup_ = function(
    mediaState, stream) {
  var Functional = shaka.util.Functional;
  var MapUtils = shaka.util.MapUtils;

  delete this.mediaStates_['text'];
  if (this.startupComplete_)
    return;

startupComplete_ property was then set to true and changing to higher resolutions started to work.

This is the debugging output:

MediaKeys.install
Using nonprefixed EME v0.1b
PatchedMediaKeysWebkit.install
MediaSource.install
Using native MSE as-is.
Using Promises polyfill.
SimpleAbrManager.disable()
The last segment should not end before the end of the Period.
The last segment should not end before the end of the Period.
PatchedMediaKeysWebkit.requestMediaKeySystemAccess
PatchedMediaKeysWebkit.MediaKeySystemAccess
PatchedMediaKeysWebkit.MediaKeySystemAccess.getConfiguration
PatchedMediaKeysWebkit.MediaKeySystemAccess.createMediaKeys
PatchedMediaKeysWebkit.MediaKeys
PatchedMediaKeysWebkit.setMediaKeys
Player.createStreamingEngine()
onChooseStreams_
SimpleAbrManager.disable()
Choosing new streams after period changed
Choosing new streams for
init: completed initial Stream setup
(video:8)looking up segment:presentationTime=0currentPeriod.startTime=0
(video:8)looking up segment:presentationTime=0currentPeriod.startTime=0
(audio:1)looking up segment:presentationTime=0currentPeriod.startTime=0
(audio:1)looking up segment:presentationTime=0currentPeriod.startTime=0
(text:4)looking up segment:presentationTime=0currentPeriod.startTime=0
(text:4)looking up segment:presentationTime=0currentPeriod.startTime=0
PatchedMediaKeysWebkit.onWebkitNeedKey_[object MediaKeyEvent]
PatchedMediaKeysWebkit.MediaKeys.createSession
PatchedMediaKeysWebkit.MediaKeySession
PatchedMediaKeysWebkit.MediaKeySession.generateRequest
(text:4)failed fetch and append: code=undefined
PatchedMediaKeysWebkit.onWebkitKeyMessage_
PatchedMediaKeysWebkit.MediaKeys.findSession_
PatchedMediaKeysWebkit.MediaKeySession.generated
PatchedMediaKeysWebkit.MediaKeySession.update
PatchedMediaKeysWebkit.onWebkitKeyAdded_
PatchedMediaKeysWebkit.MediaKeys.findSession_
PatchedMediaKeysWebkit.MediaKeySession.ready
Choosing new streams after key status changed
No new streams need to be chosen.

Only some messages are logged, because of the way I modified the logging. If more logging would be helpful, I can improve that.

This issue doesn't occur in Chrome on desktop. The difference when running on Toshiba dTV is, that PatchedMediaKeysWebkit methods are called during the playback.

Is there something I could do to provide more specific information to help to find the cause of this issue?

Thanks

Tomas

Metadata

Metadata

Assignees

Labels

platform: TV/STBIssues affecting smart TV or set-top box platformsstatus: archivedArchived and locked; will not be updatedtype: bugSomething isn't working correctlytype: enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions