mafintosh / mafintosh/hls-buffer
Stream not getting initialized with any desktop player, unbuffered stream works OK.
- Dominant language
- JavaScript
- Stars
- 37
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Description
Using the provided example code i'm getting:
```
hls-buffer.js:16
stream.pipe(response);
^
TypeError: Cannot call method 'pipe' of null
at Server. (c:\hlsbuffer\hls-buffer.js:16:16)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2056:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:120:23)
at Socket.socket.ondata (http.js:1946:22)
at TCP.onread (net.js:525:27)
```
Update: the **index.m3u8** only contains a reference to **chunklist.m3u8**. I noticed that the **.ts** file this buffer creates is actually just a renamed **chunklist.m3u8**. Here are both the files:
**index.m3u8:**
```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1717211,CODECS="avc1.77.30, mp4a.40.2",RESOLUTION=1024x576
chunklist.m3u8?wowzasessionid=594606542
```
**chunklist.m3u8:**
```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:1317
#EXTINF:9.04,
media_1317.ts?wowzasessionid=1052438652
#EXTINF:10.96,
media_1318.ts?wowzasessionid=1052438652
#EXTINF:10.0,
media_1319.ts?wowzasessionid=1052438652
```
Update 2: replaced references to **index.m3u8** with **chunklist.m3u8**, which looks like this now:
```
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1443
#EXTINF:10.0,
/5f0cfc1274b39c66437a69464aa6d73b.ts
#EXTINF:10.0,
/2e1ad8c774f6cfe12c502d27ed7d662c.ts
#EXTINF:10.0,
/45fcedc4303515b455730a7086627bfc.ts
```
But I still get the same error.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the provided example and hls-buffer.js at line 16, where stream.pipe(response) receives null. Compare handling of index.m3u8, chunklist.m3u8, and the generated .ts references, then reproduce the desktop-player request. Done means the stream is initialized for a desktop player without the null pipe error while unbuffered streams continue to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100