@fonoster/streams 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,6 +36,7 @@ import { StreamRequest } from "./types";
36
36
  */
37
37
  declare class AudioSocket {
38
38
  private server;
39
+ private audioStream;
39
40
  private connectionHandler;
40
41
  /**
41
42
  * Constructs a new AudioSocket instance.
@@ -85,12 +85,17 @@ class AudioSocket {
85
85
  this.server = net_1.default.createServer(this.handleConnection.bind(this));
86
86
  }
87
87
  handleConnection(socket) {
88
- logger.info("client connected");
88
+ logger.verbose("client connected");
89
89
  const asStream = new stream_1.Readable({ read() { } });
90
90
  const audioStream = new AudioStream_1.AudioStream(asStream, socket);
91
+ this.audioStream = audioStream;
91
92
  socket.on(types_1.EventType.DATA, (data) => this.handleData(data, asStream, audioStream));
92
93
  socket.on(types_1.EventType.END, () => asStream.emit(types_1.EventType.END));
93
94
  socket.on(types_1.EventType.ERROR, (err) => {
95
+ // TODO: Improve type safety
96
+ if ("code" in err && err.code === "ERR_STREAM_WRITE_AFTER_END") {
97
+ return;
98
+ }
94
99
  logger.error("socket error:", err);
95
100
  asStream.emit(types_1.EventType.ERROR, err);
96
101
  });
@@ -155,6 +160,8 @@ class AudioSocket {
155
160
  * Closes the server and stops listening for connections.
156
161
  */
157
162
  close() {
163
+ var _a;
164
+ (_a = this.audioStream) === null || _a === void 0 ? void 0 : _a.hangup();
158
165
  this.server.close();
159
166
  }
160
167
  }
package/dist/example.js CHANGED
@@ -49,7 +49,7 @@ function connectionHandler(req, stream) {
49
49
  yield stream.play(filePath);
50
50
  // Hangup the stream after 10 seconds
51
51
  setTimeout(() => __awaiter(this, void 0, void 0, function* () {
52
- logger.verbose("hangin up the stream", { ref });
52
+ logger.verbose("hanging up the stream", { ref });
53
53
  stream.hangup();
54
54
  }), 10000);
55
55
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fonoster/streams",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "Core support for Fonoster Streams",
5
5
  "author": "Pedro Sanders <psanders@fonoster.com>",
6
6
  "homepage": "https://github.com/fonoster/fonoster#readme",
@@ -18,7 +18,7 @@
18
18
  "generate:readme": "node ../../.scripts/gen-readme.js"
19
19
  },
20
20
  "dependencies": {
21
- "@fonoster/logger": "^0.6.1",
21
+ "@fonoster/logger": "^0.7.0",
22
22
  "uuid": "^10.0.0"
23
23
  },
24
24
  "devDependencies": {
@@ -37,5 +37,5 @@
37
37
  "bugs": {
38
38
  "url": "https://github.com/fonoster/fonoster/issues"
39
39
  },
40
- "gitHead": "3ede81cb28c3a407a6c10d9763d0532773964ef3"
40
+ "gitHead": "afa950ace3b1d022b6dc8be0c3b87a6b8a5ba3c5"
41
41
  }