hls.js icon indicating copy to clipboard operation
hls.js copied to clipboard

m3u8 audio file not working in Chrome

Open matextrem opened this issue 3 years ago • 0 comments

What version of Hls.js are you using?

v1.1.5

What browser (including version) are you using?

Chrome Version 101.0.4951.64 (Official Build) (x86_64)

What OS (including version) are you using?

MacOS Monterey 12.4

Test stream

No response

Configuration

{
   debug: true,
   enableWorker: false
}

Additional player setup steps

No response

Checklist

  • [X] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
  • [X] The issue occurs in the stable client (latest release) on https://hls-js.netlify.com/demo and not just on my page
  • [X] The issue occurs in the latest client (main branch) on https://hls-js-dev.netlify.com/demo and not just on my page
  • [X] The stream has correct Access-Control-Allow-Origin headers (CORS)
  • [X] There are no network errors such as 404s in the browser console when trying to play the stream

Steps to reproduce

  1. Having a m3u8 file with the following configuration:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-START:TIME-OFFSET=0
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MAP:URI="7097223626041309818-audio1.m4s",BYTERANGE="744@0"
#EXTINF:2.005, no desc
#EXT-X-BYTERANGE:14191@744
7097223626041309818-audio1.m4s
#EXTINF:2.005, no desc
#EXT-X-BYTERANGE:15715@14935
7097223626041309818-audio1.m4s
#EXTINF:2.005, no desc
#EXT-X-BYTERANGE:17082@30650
7097223626041309818-audio1.m4s
#EXTINF:2.005, no desc
#EXT-X-BYTERANGE:20361@47732
7097223626041309818-audio1.m4s
  1. Try to load this file using hls in Google Chrome

Expected behaviour

m3u8 audio file loads correctly in Google Chrome. On Firefox and Safari work smoothly

What actually happened?

Audio file never loads and it keeps loading and then stopped.

Console output

[log] >
hls.js@latest:1 [log] > stopLoad
hls.js@latest:1 [log] > loadSource:http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.js@latest:1 [log] > attachMedia
hls.js@latest:1 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 0
hls.js@latest:1 [log] > 1 bufferCodec event(s) expected
hls.js@latest:1 [log] > startLoad(-1)
hls.js@latest:1 [log] > [level-controller]: switching to level 0 from -1
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [stream-controller]: STOPPED->IDLE
hls.js@latest:1 [log] > [subtitle-stream-controller]: STOPPED->IDLE
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 333 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 1->1 prev-sn: na fragments: 4
hls.js@latest:1 [log] > [stream-controller]: Start time offset 0 found in playlist, adjust startPosition to 0
hls.js@latest:1 [log] > [buffer-controller]: Media source opened
hls.js@latest:1 [log] > [buffer-controller]: Updating Media Source duration to 8.020
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 666 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 1->1 prev-sn: na fragments: 4
hls.js@latest:1 [log] > [stream-controller]: Loading fragment initSegment cc: 0 level: 0, target: 0
hls.js@latest:1 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js@latest:1 [log] > [stream-controller]: FRAG_LOADING->IDLE
hls.js@latest:1 [log] > [stream-controller]: Buffered main sn: initSegment of level 0 
hls.js@latest:1 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [1-4] level: 0, target: 0
hls.js@latest:1 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js@latest:1 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
hls.js@latest:1 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.js@latest:1 [log] > [stream-controller]: Init audio buffer, container:audio/mp4, codecs[selected/level/parsed]=[//mp4a.40.5]
hls.js@latest:1 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.5)
hls.js@latest:1 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 0.662
hls.js@latest:1 [log] > [stream-controller]: Loaded fragment 1 of level 0
hls.js@latest:1 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
hls.js@latest:1 [log] > [stream-controller]: PARSING->PARSED
hls.js@latest:1 [log] > [buffer-controller]: Media source ended
hls.js@latest:1 [log] > failed to get media.buffered DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
    at Function.t.getBuffered (https://cdn.jsdelivr.net/npm/hls.js@latest:1:138510)
    at Object.onComplete (https://cdn.jsdelivr.net/npm/hls.js@latest:1:233244)
    at t.e._onSBUpdateEnd (https://cdn.jsdelivr.net/npm/hls.js@latest:1:238538)
hls.js@latest:1 [log] > [stream-controller]: Buffered main sn: 1 of level 0 
hls.js@latest:1 [log] > [stream-controller]: PARSED->IDLE
hls.js@latest:1 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [1-4] level: 0, target: 2.005
hls.js@latest:1 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js@latest:1 [log] > [buffer-controller]: Media source closed
hls.js@latest:1 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.js@latest:1 [log] > [stream-controller]: Loaded fragment 2 of level 0
hls.js@latest:1 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
hls.js@latest:1 [log] > [stream-controller]: PARSING->PARSED
hls.js@latest:1 [log] > [stream-controller]: Buffered main sn: 2 of level 0 
hls.js@latest:1 [log] > [stream-controller]: PARSED->IDLE
hls.js@latest:1 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [1-4] level: 0, target: 4.01
hls.js@latest:1 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js@latest:1 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.js@latest:1 [log] > [stream-controller]: Loaded fragment 3 of level 0
hls.js@latest:1 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
hls.js@latest:1 [log] > [stream-controller]: PARSING->PARSED
hls.js@latest:1 [log] > [stream-controller]: Buffered main sn: 3 of level 0 
hls.js@latest:1 [log] > [stream-controller]: PARSED->IDLE
hls.js@latest:1 [log] > [stream-controller]: Loading fragment 4 cc: 0 of [1-4] level: 0, target: 6.015
hls.js@latest:1 [log] > [stream-controller]: IDLE->FRAG_LOADING
hls.js@latest:1 [log] > [stream-controller]: FRAG_LOADING->PARSING
hls.js@latest:1 [log] > [stream-controller]: Loaded fragment 4 of level 0
hls.js@latest:1 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
hls.js@latest:1 [log] > [stream-controller]: PARSING->PARSED
hls.js@latest:1 [log] > [stream-controller]: Buffered main sn: 4 of level 0 
hls.js@latest:1 [log] > [stream-controller]: PARSED->IDLE
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 999 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 1332 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 1665 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 1998 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 2331 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 2664 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 2997 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 3330 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 3663 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 3996 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 4329 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02
hls.js@latest:1 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 http://localhost:8080/7097223626041309818-audio1.m3u8
hls.js@latest:1 [log] > [level-controller]: live playlist 0 MISSED
hls.js@latest:1 [log] > [level-controller]: reload live playlist 0 in 4662 ms
hls.js@latest:1 [log] > [stream-controller]: Level 0 loaded [1,4], cc [0, 0] duration:8.02

Chrome media internals output

PLAYER OPTIONS

render_id: 2704
player_id: 9462
created: 2022-06-01 03:52:01.658 UTC
origin_url: file:///
kFrameUrl: file:///Users/mdastugu/Downloads/hlsjs.html
kFrameTitle: 
url: blob:null/3745b15b-40d4-48d5-98fe-36df4dc30986
kTextTracks: 
info: ChunkDemuxer
kRendererName: RendererImpl
pipeline_state: kStopped
error: [object Object]
duration: 8.02

LOG

{
  "properties": {
    "render_id": 2704,
    "player_id": 9462,
    "created": "2022-06-01 03:52:01.658 UTC",
    "origin_url": "file:///",
    "kFrameUrl": "file:///Users/mdastugu/Downloads/hlsjs.html",
    "kFrameTitle": "",
    "url": "blob:null/3745b15b-40d4-48d5-98fe-36df4dc30986",
    "kTextTracks": [],
    "info": "ChunkDemuxer",
    "kRendererName": "RendererImpl",
    "pipeline_state": "kStopped",
    "error": {
      "code": 16,
      "data": {},
      "group": "PipelineStatus",
      "message": "",
      "stack": [
        {
          "file": "media/filters/chunk_demuxer.cc",
          "line": 945
        }
      ]
    },
    "duration": 8.02
  },
  "events": [
    {
      "time": 0,
      "key": "created",
      "value": "2022-06-01 03:52:01.658 UTC"
    },
    {
      "time": 0.171999990940094,
      "key": "origin_url",
      "value": "file:///"
    },
    {
      "time": 0.17599999904632568,
      "key": "kFrameUrl",
      "value": "file:///Users/mdastugu/Downloads/hlsjs.html"
    },
    {
      "time": 0.17800003290176392,
      "key": "kFrameTitle",
      "value": ""
    },
    {
      "time": 0.23600000143051147,
      "key": "url",
      "value": "blob:null/3745b15b-40d4-48d5-98fe-36df4dc30986"
    },
    {
      "time": 0.2409999966621399,
      "key": "kTextTracks",
      "value": []
    },
    {
      "time": 0.2630000114440918,
      "key": "info",
      "value": "ChunkDemuxer"
    },
    {
      "time": 0.27500003576278687,
      "key": "kRendererName",
      "value": "RendererImpl"
    },
    {
      "time": 0.32899999618530273,
      "key": "pipeline_state",
      "value": "kStarting"
    },
    {
      "time": 66.83899998664856,
      "key": "error",
      "value": "Append: stream parsing failed. Data size=744 append_window_start=0 append_window_end=inf"
    },
    {
      "time": 68.14899998903275,
      "key": "error",
      "value": {
        "code": 16,
        "data": {},
        "group": "PipelineStatus",
        "message": "",
        "stack": [
          {
            "file": "media/filters/chunk_demuxer.cc",
            "line": 945
          }
        ]
      }
    },
    {
      "time": 68.29800003767014,
      "key": "pipeline_state",
      "value": "kStopping"
    },
    {
      "time": 68.30099999904633,
      "key": "pipeline_state",
      "value": "kStopped"
    },
    {
      "time": 10.471000015735626,
      "key": "duration",
      "value": 8.02
    }
  ]
}

matextrem avatar Jun 01 '22 03:06 matextrem