Commit graph

37 commits

Author SHA1 Message Date
Jonas Birmé
fe1d9f9cee
0.8.3 2023-11-20 13:02:52 +01:00
Jonas Birmé
cf06fe6ed1
0.8.2 2023-11-20 10:48:54 +01:00
Jonas Birmé
04ce7d238b 0.8.1 2023-09-19 23:05:46 +02:00
Jonas Birmé
23407cea60 0.8.0 2023-09-18 14:18:38 +02:00
Jonas Birmé
ed0e4913a6 0.7.1 2023-08-10 15:53:12 +02:00
Max van den Bosch
c3e77b11dd
Fixed Windows build: using"diff" instead of patch (#57) 2023-08-10 15:38:46 +02:00
Jonas Birmé
be273dd94e 0.7.0 2022-11-11 13:58:23 +01:00
Jonas Birmé
3ecb83ba6b
feat: update to SRT lib version 1.4.4 (#43)
Including:
- Updated SRT lib version to 1.4.4
- Building on Darwin arm64
- Obtain OPENSSL root using brew --prefix openssl
- Updated to latest node-addon-api and node-gyp
2022-11-10 16:50:48 +01:00
birme
b4aa55328c 0.6.0 2022-05-13 15:51:02 +02:00
birme
53855bacac 0.5.2 2020-10-26 16:54:59 +01:00
Stephan Hesse
ef2795cb52
Fix node-gyp rebuild script on Windows (#13)
* build-srt-sdk: add console log line about platform detection

* node-gyp rebuild: rm -j with num-cpus eval'd from shell (breaks Windows)
2020-10-26 16:54:20 +01:00
birme
b7d33bb431 0.5.1 2020-10-26 16:53:04 +01:00
birme
27e3494337 0.5.0 2020-10-21 13:12:20 +02:00
Stephan Hesse
bf60795889
Async API server/streams impl & functional tests + Allow to use local SRT source repo instead of remote (#9)
* replace stream module by improved version of readable/writable impl

* rm server.js

* async api improvments:
- better tracing of calls from worker back and forth
- fix transferrable handling to avoid copying buffers for r/w
- optional debug logs
- completed jsdocs annotations
- add dispose method
- add setLogLevel method (analoguous to added binding)

* node-srt C bindings:
- add SetLogLevel to get libSRT log output if desired
- add OK static member
- add #define EPOLL_EVENTS_NUM_MAX 1024
- improve error string thrown in Read (add that it comes from srt_recvmsg)
- improve error string thrown in Write (add that it comes from srt_sendmsg2)
- misc isofunctional improvements (var names) and comments

* add SRT logging related JS-side helper

* rewrite flat TypeScript decl files without "module" keyword

* add ts enum decl for all libSRT enums

* async-worker: enable using transferrable for zero-copy
+ allow better debugging (like in api/dispatcher side)
+ misc improvements on code quality

* add async-helpers: various functions to help dealing with transferrables
+ tracing calls to native bindings in debug output

* add async read/write modes functions + async-reader-writer class
- these will allow for performing high-level r/w operations conveniently
at optimum throughput for larger pieces of payload i.e list of packets.

* add srt-server and srt-connection (can manage multiple clients),
- based on async-api
- can be used with reader/writer (i.e the underlying modes)

* srt-server/connection typings

* async srt spec: add dispose method usage (but commented out as crashing atm)

* async srt spec: rm redundant checks on SRT static members (they are done
in other spec already)

* promises api spec: formal fixes

* stream spec: add dummy test

* package.json:
- put gyp toolchain in runtime deps (since the build happens on install)
- add JEST test runner
- shorten check-tsc script
- rebuild script: check & use all CPU cores available
- run rebuild actually on install, not preinstall (fixes deps not being there)
- remove preinstall and thus "npm install git-clone" in the package scripts

* update package lock

* update typings index not to need triple-slashs anymore

* in srt.ts example: check for read return value type

* build-srt-sdk script:
- allow to use any local libSRT code repo
- when using make: use all amount of cores available for build
- isolate better code running on different platforms

* update package main index with new things

* add enum typings index

* add jest config

* add "use strict" on async-srt-await example

* add integration/smoke testing for client-to-server one-way burst write

* readme: add note on build prerequisites

* readme: add infos on new components SRTServer/Connection & AsyncReaderWriter
2020-10-21 13:09:52 +02:00
birme
0438ffccfb 0.4.0 2020-08-03 12:14:45 +02:00
Stephan Hesse
074da05097
Worker-based Async API with await/Promise support (or plain callbacks) (#6)
* fix lint errors in eslint config :)

* index.d.s: add /* eslint-disable @typescript-eslint/triple-slash-reference */

* improve eslint calling script

* add async-worker version of the SRT JS API with await/Promise support
+ potentially out-of-order RPC-back/result-dequeuing is possible
with a type of call-ID generator and callback-map that we prototyped
(but not used atm since the worker is only doing sync/blocking internally
with the current SRT lib binding).

* add various examples for async API ("classic" callbacks / Promise / await)

* add .eslintignore (should go with commit where we just call "eslint .")

* index.js: add missing semi

* async.js: fix method name litteral in epollUWait

* async.js: allow for accept method to use a timeout opt (defaults to false),
and a custom timeout value option (default to default timeout),
which can potentially be set differently than the general default timeout.
+ make the timeout value a static class property so that it can be
user-defined module-load wide. defaults to constant in module top scope.

* async.js: fix for a rejected promise, make sure we don't resolve anymore
+ add a custom timeout value argument to _createAsyncWorkPromise

* async.js: rm an experiment

* fix a lint error in example

* add types for async api and fix some details on binding API types

* export async API to index

* async.js: add some missing docs for private methods

* include async types in index
2020-08-03 09:54:26 +02:00
birme
b187e048c4 Added eslint plugin for jasmine 2020-07-20 22:09:14 +02:00
birme
87cf3af78f 0.3.1 2020-07-20 12:07:07 +02:00
birme
c6d24dacef Added Stephen Hesse to the list of contributors 2020-07-20 12:06:57 +02:00
birme
34f64cff01 0.3.0 2020-07-20 12:04:11 +02:00
Stephan Hesse
7973c63f2a
TypeScript support (definition files) + a few small enhancement proposals (#5)
* add typescript definition files for this JS API

* server.js: replace console.log by debug() call

* server.js: set "iface" and "port" properties on SRTServer listen call
+ and init them with null in constructor

* stream.js: SRTReadStream: init fd property with null in constructor

* stream.js: SRTReadStream: add close method (to free the fd aquired with
connect()), likewise the writable stream methods

* example files: add "use strict"; directive on all

* examples/srt.js: correctly state variable fhandle (this would crash in strict mode
otherwise)

* NAPI: NodeSRT::GetSockOpt: fix error handling to really reach ThrowAsJavaScriptException

* add example: srt.ts (TypeScript usage)

* add .editoconfig to project root (helps keeping files free of whitespaces
and maintain indentation etc)

* package.json: improve metadata quality (via npm init call)

* package.json: add dev-deps for tsc/ts-node and node type-defs

* package.json: add check-tsc script to compile typescript example

* gitignore: add tsc-lib (typescript compiler test output)

* add tsconfig.json (typescript compiler config)

* some end-of-file newline and whitespace fixes

* stream.js: add const decls for all the magic numbers in SRTReadStream

* enable eslint static analysis to find possible issues upfront
+ and maintain codestyle

* update package-lock

* stream.js: fix whitespace and eof

* add lint script for src, examples and types modules

* types: lint error fix
2020-07-20 11:41:15 +02:00
birme
25db0b005b 0.2.3 2020-07-03 14:26:47 +02:00
birme
bee98afade 0.2.2 2020-06-30 14:14:08 +02:00
birme
b958e51ed9 0.2.1 2020-06-25 13:59:26 +02:00
birme
9b72cf29d0 0.2.0 2020-06-24 12:55:33 +02:00
Jonas Birmé
d1ca462bff
Added framework for unit tests (#3) 2020-06-24 09:29:24 +02:00
birme
9a646c84bc 0.1.4 2020-06-24 08:48:38 +02:00
Dillon Pentz
5b3fc5cdc5
Add Windows build support (#2)
This commit adds Windows build support by utilizing vcpkg to build
dependencies, and CMake for the build system.

These changes rely on vcpkg to be built and located in the VCPKG_ROOT
environment variable, along with having Visual Studio 2019 installed.
2020-06-24 08:44:52 +02:00
birme
937c1a2322 0.1.3 2020-06-22 13:46:31 +02:00
birme
8571776337 0.1.2 2020-06-22 11:53:18 +02:00
birme
24824d3c9a Push tag after new version 2020-06-22 11:53:15 +02:00
birme
0122a02fed Implemented custom readable stream 2020-06-22 11:49:07 +02:00
birme
8e063aada4 0.1.1 2020-06-20 22:48:21 +02:00
birme
5c598a89fa Build SRT SDK on install 2020-06-20 22:33:28 +02:00
birme
19d4e4980f Updated readme 2020-06-19 00:02:33 +02:00
birme
6dd093539d Added readme 2020-06-13 09:45:30 +02:00
birme
722db25e6c Hello world 2020-06-13 00:57:57 +02:00