Offline DASH `StreamKey` mismatch between `DownloadHelper` and `DashMediaSource`
See original GitHub issueI’ve noticed that there is a mismatch between the track groups advertised by DownloadHelper
, and those advertised by DashMediaSource
.
Consider a single-period DASH VOD stream with the following tracks, as advertised by DownloadHelper
:
- Period 0
- TrackGroup 0: video tracks (6 representations)
- TrackGroup 1:
application/cea-708
(embedded) - TrackGroup 2:
audio/eac3
(1 representation) - TrackGroup 3:
audio/mp4-latm
(1 representation) - TrackGroup 4:
text/vtt
(1 representation) - TrackGroup 5:
application/x-emsg
(embedded)
Track groups at index 1 and 5 are embedded in the video segments.
In this example, let’s suppose we would like to download:
- the highest bitrate video track (
StreamKey(0,0,1)
) - the MP4 audio track (
StreamKey(0,3,0)
)
When ExoPlayer re-parses the manifest to get the segments to download, it is unaware of the embedded CEA-708 and SCTE track groups, so the DashMediaSource
looks like this:
- Period 0
- TrackGroup 0: video tracks (6 representations)
- TrackGroup 1:
audio/eac3
(1 representation) - TrackGroup 2:
audio/mp4-latm
(1 representation) - TrackGroup 3:
text/vtt
(1 representation)
…so the copied manifest (persisting only provided StreamKeys
) contains the wrong tracks, in this example, using our previously selected StreamKeys, the WebVTT track not MP4 Audio track will be downloaded, resulting in a silent playback (but at least you get subtitles I guess!).
Issue Analytics
- State:
- Created 2 years ago
- Comments:9 (5 by maintainers)
Top GitHub Comments
Closing this on the assumption it’s an app issue as described, but please let us know if not. Doing so here is fine as long as the issue isn’t locked (it doesn’t matter that it’s closed; we can re-open it if needed).
We updated the
StreamKey
documentation to try and make it a little clearer in the commit referenced above.Thumbnails (for thumbnail scrubbing)