Currently if we need to stream long movies using adaptive streaming, we can only do so on iOS using Titanium since HLS is natively enabled on Apple's native media player (MPMoviePlayer).
In order to support adaptive streaming on Android, we need to use the new official ExoPlayer framework, which supports MPEG-DASH, replacing the old MediaPlayer implementation.
This also brings a lot of benefits apart from MPEG-DASH adaptive streaming. According to the ExoPlayer documentation:
- Support for Dynamic Adaptive Streaming over HTTP (DASH) and SmoothStreaming, neither of which are are supported by MediaPlayer (it also supports HTTP Live Streaming (HLS), FMP4, MP4, M4A, MKV, WebM, MP3, AAC, MPEG-TS, MPEG-PS, OGG, FLV and WAV).
- Support for advanced HLS features, such as correct handling of #EXT-X-DISCONTINUITY tags.
The ability to customize and extend the player to suit your use case. ExoPlayer is designed specifically with this in mind, and allows many components to be replaced with custom implementations.
- Easily update the player along with your application. Because ExoPlayer is a library that you include in your application apk, you have control over which version you use and you can easily update to a newer version as part of a regular application update.
- Fewer device specific issues.
Links referring to ExoPlayer and MPEG-DASH: