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

[Question] Playback is failing on certain DASH streams with TTMLs (taken from DashIF site) #4477

Closed
islor opened this issue Jul 6, 2018 · 4 comments
Assignees

Comments

@islor
Copy link

islor commented Jul 6, 2018

Issue description

I've copied the some dash stream urls from the DashIF demo site and put them into the demo app. The stream plays well until I select one of the TTML tracks, then it shows "Playback failed"
What is the issue here? Log shows the inputstream is causing the problem, but why is it playing well in the demo site?

Link to test content

Tested these links:
http://vm2.dashif.org/livesim/testpic_2s/multi_subs.mpd
http://vm2.dashif.org/livesim/testpic_2s/cea608_and_segs.mpd

Version of ExoPlayer being used

2.8.1

Error log captured

logcat.txt

Let me know if you need more info! Thanks.

@islor islor changed the title [Question] Why is playback failing on certain DASH streams with TTMLs [Question] Playback is failing on certain DASH streams with TTMLs (taken from DashIF site) Jul 6, 2018
@tonihei
Copy link
Collaborator

tonihei commented Jul 6, 2018

Looks like the initialization chunk of the text track is malformed.
I looked at http://vm2.dashif.org/livesim/testpic_2s/sub_eng/init.mp4 and it has:

  • track_id=1 in moov -> mvex -> trex and
  • track_id=3 in moov -> trak -> tkhd.

ISO 14496-12 says for the track_id in the trex box that "track_id identifies the track; this shall be the track ID of a track in the Movie Box". And for the trex box in general: "Quantity: Exactly one for each track in the Movie Box".

@tonihei
Copy link
Collaborator

tonihei commented Jul 6, 2018

We'll post a workaround for the issue because it's quite easy to do.

For the second stream above, there is actually yet another problem when switching the track selection from an embedded text track to a primary text track. That is a bug in our DashMediaPeriod. Will provide a fix for that too.

ojw28 pushed a commit that referenced this issue Jul 6, 2018
Both boxes should contain the same list of track indices. However, if only one
track index in each list does not match, we can just assume that these belong
together.

Issue:#4477

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203481258
@islor
Copy link
Author

islor commented Jul 9, 2018

The commit seems to have fixed the problem. Thanks!

ojw28 pushed a commit that referenced this issue Jul 10, 2018
Until now, the streams were released and re-enabled for each type of stream
(primary, event, embedded) in that order. That leads to problems when replacing
streams from one type to another (for example embedded to primary).

This change restructures the track selection to:
1. Release and reset all streams that need to be released or replaced.
 1(a). Including embedded orphan streams.
2. Select new streams.

Issue:#4477

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203751233
@tonihei
Copy link
Collaborator

tonihei commented Jul 11, 2018

Closing because the second bug mentioned above (changing text tracks from embedded to primary) is also fixed now.

@tonihei tonihei closed this as completed Jul 11, 2018
ojw28 pushed a commit that referenced this issue Jul 23, 2018
Both boxes should contain the same list of track indices. However, if only one
track index in each list does not match, we can just assume that these belong
together.

Issue:#4477

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203481258
ojw28 pushed a commit that referenced this issue Jul 23, 2018
Until now, the streams were released and re-enabled for each type of stream
(primary, event, embedded) in that order. That leads to problems when replacing
streams from one type to another (for example embedded to primary).

This change restructures the track selection to:
1. Release and reset all streams that need to be released or replaced.
 1(a). Including embedded orphan streams.
2. Select new streams.

Issue:#4477

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=203751233
@google google locked and limited conversation to collaborators Nov 23, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants