Exoplayer: HLS: chunkless preparation breaks fmp4 content playback

Created on 18 Feb 2019  路  4Comments  路  Source: google/ExoPlayer

Issue description

When trying to play fmp4 content with chunkless preparation turned on, at the end of video playback the player state never changes to ended and the playback continues with the timeline ticking on.

Reproduction steps

The bug can be reproduced in the ExoPlayer demo app.

  1. turn chunkless preparation on:
    in PlayerActivity.java make the following code changes under the buildMediaSource function:
case C.TYPE_HLS:
        return new HlsMediaSource.Factory(dataSourceFactory)
            .setPlaylistParserFactory(
                new DefaultHlsPlaylistParserFactory(getOfflineStreamKeys(uri)))
            .setAllowChunklessPreparation(true)
            .createMediaSource(uri);
  1. Select the fmp4 bipbop content from the HLS demo content.

  2. The playback never ends.

Link to test content

The fragment mp4 demo test content:

        "name": "Apple master playlist advanced (fMP4)",
        "uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_fmp4/master.m3u8"

Version of ExoPlayer being used

ExoPlayer - tag version 2.9.5

Device(s) and version(s) of Android being used

Device: LG G6
Android version: 7.0

bug

Most helpful comment

Thanks for reporting. I'll write back as soon as I have any updates.

All 4 comments

Thanks for reporting. I'll write back as soon as I have any updates.

A fix will be available in 2.10.0. Unfortunately it won't make it for 2.9.6.

Please test it on 2.9.6, and comment below if you still run into the issue. If needed, i'll reopen. Thanks again for reporting!

Thank you, I'll run some tests and update accordingly.

Was this page helpful?
0 / 5 - 0 ratings