mafintosh / mafintosh/hls-buffer

Stream not getting initialized with any desktop player, unbuffered stream works OK.

Open
#1 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.