mirror of
https://github.com/shaka-project/shaka-player.git
synced 2026-06-26 17:46:26 +03:00
7dc98a7d6b
The DASH parser was not always correctly deducing the content type. For unspecified content types, the type can be deduced from the MIME type. For example, video/mp4 is video, and audio/webm is audio. For text, things are a little more complicated. Text types do not always start with text/. In particular, embedded text, such as VTT in MP4, have a MIME type that starts with application/mp4. To deal with that, if we see an unknown type, we ask TextEngine if it supports it. If so, we deduce that the content type should be text. This check against TextEngine was only happening for MIME types specified on the Representation, but not on AdaptationSet. This replaces a weaker deduction in the general frame parser with the same TextEngine check we were using elsewhere. Furthermore, Player mishandled the content types it passed to AbrManager. AbrManager will only choose audio, video, and text streams. It ignores all other types. Player, meanwhile, threw a confusing error if AbrManager failed to choose some of the types passed to it. Therefore, Player should only pass audio, video, and text types to AbrManager. This fixes both issues and adds new unit tests for both. Closes #631 Change-Id: Ib1311d37d00c3989367fd066f66e1eba85652e40