Releases: seydx/node-av
Release list
v3.0.5
node-av Release v3.0.5
📦 Updated Packages
The following platform packages have been updated to v3.0.5:
@seydx/node-av-darwin-arm64@v3.0.5@seydx/node-av-darwin-x64@v3.0.5@seydx/node-av-linux-arm64@v3.0.5@seydx/node-av-linux-x64@v3.0.5@seydx/node-av-win32-arm64-mingw@v3.0.5@seydx/node-av-win32-x64-mingw@v3.0.5@seydx/node-av-win32-arm64-msvc@v3.0.5@seydx/node-av-win32-x64-msvc@v3.0.5
📋 All Changes since v3.0.4
- chore: bump version to 3.0.5 (1a79498)
- Enhance browser-fmp4 example (f5cd80a)
- Add browser-fmp4 example to the documentation (8450e5c)
- Update examples (c0fb2d9)
- Add fMP4 streaming example with WebSocket server and HTML client (593e6b5)
- Update dash example (ad10bb0)
- Update deps (7e322e0)
- Update submodule jellyfin-ffmpeg (7dc3820)
- Enhance DASH streaming example (727d073)
- Add VP8 and VP9 video test files (677febc)
- Add tests for MIME type, input format, and stream access in MediaInput and MediaOutput (b72cad5)
- Update typings (ab811dd)
- Add codec string and MIME type functions for DASH and HLS (10dd8db)
- Add codecTagString method to CodecParameters for FourCC representation (75541a0)
- Update TypeScript configuration to include specific file patterns and directories (9c741d6)
- Add jellyfin-ffmpeg include directory to build configurations (3893a45)
- Add output format and stream management methods to MediaOutput (00ab7d9)
- Add mimeType and getStream methods to MediaInput (ae23459)
v3.0.4
node-av Release v3.0.4
📦 Updated Packages
The following platform packages have been updated to v3.0.4:
@seydx/node-av-darwin-arm64@v3.0.4@seydx/node-av-darwin-x64@v3.0.4@seydx/node-av-linux-arm64@v3.0.4@seydx/node-av-linux-x64@v3.0.4@seydx/node-av-win32-arm64-mingw@v3.0.4@seydx/node-av-win32-x64-mingw@v3.0.4@seydx/node-av-win32-arm64-msvc@v3.0.4@seydx/node-av-win32-x64-msvc@v3.0.4
📋 All Changes since v3.0.3
- chore: bump version to 3.0.4 (5ab8980)
- gitignore (ac954bb)
- Update deps (1d0471e)
- Add high-level API example for DASH (b376feb)
- Add support for global header flag and improve timebase handling in MediaOutput (b8c6e59)
- Allow zero denominator in Rational class for FFmpeg compatibility and add validation methods (338bb51)
- Enhance type definitions for FFmpeg options to allow undefined and null values (cc888f0)
- Add methods to encoder to get and set codec flags (8d62ac9)
- Add support for custom FFmpeg format options in MediaOutput (6eef975)
- Update Jellyfin FFmpeg link and update deps (a32267e)
- Update dependencies (766c493)
v3.0.3
node-av Release v3.0.3
📦 Updated Packages
The following platform packages have been updated to v3.0.3:
@seydx/node-av-darwin-arm64@v3.0.3@seydx/node-av-darwin-x64@v3.0.3@seydx/node-av-linux-arm64@v3.0.3@seydx/node-av-linux-x64@v3.0.3@seydx/node-av-win32-arm64-mingw@v3.0.3@seydx/node-av-win32-x64-mingw@v3.0.3@seydx/node-av-win32-arm64-msvc@v3.0.3@seydx/node-av-win32-x64-msvc@v3.0.3
📋 All Changes since v3.0.2
- chore: bump version to 3.0.3 (3fcb426)
- Remove Vulkan filter references and update capabilities for native alternatives (667f8ed)
- Update hardware acceleration requirements for Intel GPUs on Linux (58e8193)
- Update jellyfin submodule (0ca58ee)
- Refactor Docker image references to use hardcoded repository name (97f4b8a)
- Update CACHE_VERSION_LINUX to v29 in build workflow (436183a)
- Remove debugging steps for libva header detection from build workflow (c44196b)
- Refactor Docker repository references to use GITHUB_REPOSITORY environment variable (e2a78ad)
- Add debugging steps for libva pkg-config files in build workflow (0d506ca)
- Update CACHE_VERSION_LINUX and add debugging for libva header detection (d19f7f6)
- Remove weak symbol declaration for vaMapBuffer2 in common.h (53f9a58)
- Set AV_FROM_SOURCE environment variable for test runs in multiple jobs (1b5cebc)
- Update binding.ts (330515d)
- Update jellyfin submodule (1402ecf)
- Debugging (9f4b54d)
- Cleanup (c5eb4bb)
- Update jellyfin submodule (c4bd395)
- Fix binding file copy in Docker build step (b781d1d)
- Refactor Docker image handling in build workflow (db3c720)
- Update jellyfin submodule (f66ee73)
- Remove Docker image build workflow (5b4971d)
- Dont use alternaive encoder for d3d12va (9c729fb)
- Update jellyfin submodule (4b28fdf)
- Update jellyfin submodule (7cc8201)
- Update README (5aea1a9)
- Update jellyfin submodule (460e7dc)
- Merge pull request #63 from seydx/dependabot/github_actions/actions/setup-node-6 (3d69d23)
- Lint and format (a645bef)
- Refactor FilterAPI to use segment parsing for filter descriptions (7f083de)
- Update deps (87d8e53)
- gitignore (7c59d44)
- Update EncoderOptions to include default bitrate values for audio and video (b48dd56)
- Add SegmentParse method to FilterGraph for parsing filter graph segments (b82fb62)
- Refactor SetOwned and SetUnowned methods in FilterInOut class (94ca4c0)
- Add filter_graph_segment.cc to build configurations (1f4a1e2)
- Add FilterGraphSegment class and related methods for filter graph management (b9ccc39)
- Remove Vulkan library dependency from binding-jellyfin.gyp (c71a35d)
- Add Vulkan library dependency to binding-jellyfin.gyp (e4d2c68)
- gitignore (a9f0bc5)
- Add artifact upload step for FFmpeg cache in Windows MSVC build (8ea4dba)
- Update cache upload logic to use workflow inputs (533fda3)
- Bump actions/setup-node from 5 to 6 (b254aea)
- Update Changelog (e4eb9cf)
v3.0.2
node-av Release v3.0.2
📦 Updated Packages
The following platform packages have been updated to v3.0.2:
@seydx/node-av-darwin-arm64@v3.0.2@seydx/node-av-darwin-x64@v3.0.2@seydx/node-av-linux-arm64@v3.0.2@seydx/node-av-linux-x64@v3.0.2@seydx/node-av-win32-arm64-mingw@v3.0.2@seydx/node-av-win32-x64-mingw@v3.0.2@seydx/node-av-win32-arm64-msvc@v3.0.2@seydx/node-av-win32-x64-msvc@v3.0.2
📋 All Changes since v2.7.2
- chore: bump version to 3.0.2 (6651471)
- Generate FFmpeg version file and update build scripts (bab6966)
- Add FFMPEG_VERSION constant and update references in ffmpeg modules (4df30d1)
- Enable submodule checkout in build workflow (9da5527)
- Update deps (776fd74)
- Enable submodule checkout in Windows MSVC build step (c7ecd41)
- Sync FFmpeg version in package.json from externals (1d2b6e2)
- chore: bump version to 3.0.1 (bcc7e3a)
- Update FFmpeg version retrieval in install script and workflow (e9b82b8)
- Add script to synchronize FFmpeg version in package.json (d1cb1f4)
- Update Changelog (aa3492a)
- Update workflows (585a635)
- chore: bump version to 3.0.0 (b213044)
- Update Changelog (ad13f12)
- Update jellyfin submodule (5c23055)
- Add additional libraries for Jellyfin binding: ncrypt and crypt32 (ec75169)
- Update jellyfin submodule (5840b0b)
- Update jellyfin submodule (d3e449e)
- Update jellyfin submodule (674faba)
- Update jellyfin submodule (036ed01)
- Update jellyfin submodule (adfc4dd)
- Update jellyfin submodule (ad2028c)
- Add ncrypt.lib and crypt32.lib to library references in binding-msvc.gyp (8eb0ec7)
- Remove unnecessary library references from binding-msvc.gyp (51258f6)
- Update library references in binding-msvc.gyp to use .lib suffix (f33c3f9)
- Update jellyfin submodule (44c61c7)
- Refactor library references in binding-msvc.gyp to remove 'lib' prefix (44512ba)
- Remove libpostproc references in bindings (549fa76)
- Update deps (79076af)
- Update jellyfin submodule (35c8ea4)
- Update Changelog (ff7f0b3)
- Update tests (f9ed8ff)
- Prepare for ffmpeg 8 (9ac3cd2)
- Update typings and tests (706c24f)
- Remo deprecated functions (93c3076)
- Update bindings for ffmpeg 8 (24ac7a9)
- Add FFmpeg patching step to generate script (ba4e820)
- Update jellyfin submodule (05c85d0)
- Updated generated constants (05eda99)
- Add script to apply FFmpeg patches using quilt (f669a58)
- Enhance enum parsing to include typedef enums and extend accepted names for SwsFlags (c97f2aa)
- Update eslint config (26ad140)
- Update tests (a7ae413)
- Add methods to set and clear flags in CodecContext, FormatContext, Packet, and Stream classes (low level api) (7235e7d)
- Update native types (c547614)
- Add methods to set and clear flags in FormatContext, and implement interrupt handling for blocking operations (ae5f7fc)
- Add methods to set and clear event flags in Stream class (f14bc61)
- Add methods to set and clear packet flags in Packet class (f387533)
- Add methods to set and clear codec flags in CodecContext (775d521)
- Enhance MediaInput to support non-blocking input and optional IO context (9bb809f)
- Update jellyfin (c175e5e)
- Update deps (06ada79)
- Update Windows package names to include mingw and msvc variants (a43f45f)
v2.7.2
node-av Release v2.7.2
📦 Updated Packages
The following platform packages have been updated to v2.7.2:
@seydx/node-av-darwin-arm64@v2.7.2@seydx/node-av-darwin-x64@v2.7.2@seydx/node-av-linux-arm64@v2.7.2@seydx/node-av-linux-x64@v2.7.2@seydx/node-av-win32-arm64-mingw@v2.7.2@seydx/node-av-win32-x64-mingw@v2.7.2@seydx/node-av-win32-arm64-msvc@v2.7.2@seydx/node-av-win32-x64-msvc@v2.7.2
📋 All Changes since v2.7.1
- Update deps (c85b10c)
- Add -ldrm flag for linking in jellyfin bindings (8279029)
- chore: bump version to 2.7.2 (fc9e980)
- Update deps (8676af5)
- gitignore (473f3ba)
- Cleanup jellyfin bindings (6610a27)
- Cleanup msvc bindings (1166f81)
- Add Vulkan support with libplacebo for advanced filtering operations and update tests (56894f6)
- Disable cache uploads in build prebuilds workflow (b5d86b2)
- Refactor library checks and update compiler flags in jellyfin build configuration (6c6600c)
- Add libpostproc and update compiler flags in jellyfin build configuration (b26ce25)
- Add additional library checks to jellyfin build configuration (d6eab51)
- Add libiconv dependency to jellyfin build configuration (6aacfcf)
- Test linux docker build (c7cc7ab)
- Revert mingw workflow changes (ca554e0)
- Test linux docker build (0003f81)
- Test linux docker build (0d6f427)
- Test linux docker build (619e6b5)
- Test gcc 15 and switch to latest ubuntu runner (461997a)
- Refactor build and bindings.gyp (cef33dd)
- Update jellyfin (8d68ff2)
- Update deps (61f1e77)
- Pass options to encoder (5c25477)
- Enable video support for Vulkan on older GPUs (5ef4665)
- Update jellyfin (f227406)
v2.7.1
node-av Release v2.7.1
📦 Updated Packages
The following platform packages have been updated to v2.7.1:
@seydx/node-av-darwin-arm64@v2.7.1@seydx/node-av-darwin-x64@v2.7.1@seydx/node-av-linux-arm64@v2.7.1@seydx/node-av-linux-x64@v2.7.1@seydx/node-av-win32-arm64@v2.7.1@seydx/node-av-win32-x64@v2.7.1
Added
- Automatic Hardware Decoder Selection:
Decoder.create()now automatically selects hardware decoders when hardware context is provided- Mimics FFmpeg CLI behavior: "Selecting decoder 'hevc_qsv' because of requested hwaccel method qsv"
- New
HardwareContext.getDecoderCodec()method to find hardware-specific decoders (e.g.,hevc_qsv) - Falls back to software decoder if no hardware decoder is available
- Works with both async
create()and synccreateSync()methods
Changed
- QSV Filter Support:
FilterPresetsnow usesvpp_qsvfilter for Intel Quick Sync Video instead ofscale_qsv
📋 All Changes since v2.7.0
- chore: bump version to 2.7.1 (60fd884)
- Update Changelog (46ce622)
- Update jellyfin (596064d)
- Update deps (4b49d8c)
- Add QSV support for scaling, cropping, flipping, and deinterlacing in FilterPreset (c3018f5)
- Add getDecoderCodec method for hardware-specific codec retrieval (bf7220c)
- Add hardware decoder support in Decoder.create and createSync methods (eb2328d)
- Update jellyfin (73f4da1)
v2.7.0
node-av Release v2.7.0
📦 Updated Packages
The following platform packages have been updated to v2.7.0:
@seydx/node-av-darwin-arm64@v2.7.0@seydx/node-av-darwin-x64@v2.7.0@seydx/node-av-linux-arm64@v2.7.0@seydx/node-av-linux-x64@v2.7.0@seydx/node-av-win32-arm64@v2.7.0@seydx/node-av-win32-x64@v2.7.0
Added
- Hardware Frame Allocation Control: Added
extraHWFramesoption toDecoderOptionsandFilterOptionsfor controlling hardware frame buffer size- Low-level access via
codecContext.extraHWFramesandfilterContext.extraHWFrames
- Low-level access via
Changed
-
High-Level API Error Handling: All high-level API methods now return
nullinstead of throwing errors when resources are closed- Affected methods:
decode(),encode(),process(),flush()and their sync variants - Generator methods (
frames(),packets(), etc.) now exit gracefully whenclosed/isClosedflag is set - Improves error handling in cleanup scenarios
- Affected methods:
-
BitStreamFilterAPI Lifecycle Management:
- Renamed
dispose()method toclose()for consistency with other high-level APIs - Added
isBitstreamFilterOpengetter to check filter state - Symbol.dispose still supported for automatic cleanup with
usingstatement
- Renamed
-
Consistent Closed State Behavior:
- Methods check closed state and return
nullinstead of throwing exceptions - Generator loops respect closed state
- Methods check closed state and return
Fixed
-
Log Callback Event Loop: Fixed Node.js process not exiting when using
Log.setCallback()- ThreadSafeFunction is now unref'd to prevent keeping event loop alive
- Proper cleanup order in
SetCallback()andResetCallback()
-
VideoToolbox Patch: Fixed "Duplicated pixel format" error in hardware acceleration
- Corrected patch 1006 to avoid duplicate
AV_PIX_FMT_BGRAentries insupported_formats[] - Added
AV_PIX_FMT_GRAY8andAV_PIX_FMT_RGB24to VideoToolbox format support
- Corrected patch 1006 to avoid duplicate
📋 All Changes since v2.6.5
- chore: bump version to 2.7.0 (c78dc99)
- Update Changelog (d35c108)
- Add extraHWFrames option for hardware frame buffering in Decoder and FilterAPI and low level API (3993e8a)
- Update deps (fddeaf9)
- Update tests (1ffeb68)
- Refactor MediaInput to use isClosed instead of closed and add isInputOpen getter (ef226ab)
- Refactor FilterAPI to return null when closed and update error messages for initialization failures (b188c1b)
- Refactor Encoder class to return null instead of throwing an error when closed (2d2c7d0)
- Update Decoder class to return null instead of throwing an error when closed (5355542)
- Refactor BitStreamFilterAPI to use isClosed instead of isDisposed and add isBitstreamFilterOpen getter (2aa47fc)
- Add yuv420p.mp4 test data file (5fd8a8f)
- Update jellyfin (7fe5841)
- Update deps (ac3d20f)
- Fix MediaInput class to properly handle closure state (aec61a6)
- Improve callback handling in Log class (2d8d6a6)
- npmignore (9e585c0)
v2.6.5
node-av Release v2.6.5
📦 Updated Packages
The following platform packages have been updated to v2.6.5:
@seydx/node-av-darwin-arm64@v2.6.5@seydx/node-av-darwin-x64@v2.6.5@seydx/node-av-linux-arm64@v2.6.5@seydx/node-av-linux-x64@v2.6.5@seydx/node-av-win32-arm64@v2.6.5@seydx/node-av-win32-x64@v2.6.5
📋 All Changes since v2.6.4
- chore: bump version to 2.6.5 (273d2d9)
- Update deps (b524eb9)
- Update jellyfin (a48aaae)
- Update jellyfin (e954116)
- Remove cross-compilation setup for x64 builds on ARM64 runner in build-prebuilds.yaml (26754a7)
- Update jellyfin (6ea000a)
- Update jellyfin (822b8fe)
- Update build:tsc script to include copying API data files to distribution (2431452)
- Update jellyfin (68b4a29)
- Add NV12 test video file (0d73a82)
- Add test files for H.264 and HEVC data (465a84b)
- Update filter chain to use hardware upload in transcode test (b23cb49)
- Enhance hardware validation tests by adding support for QSV, RKMPP, Vulkan, and OpenCL, and refactor existing tests for VideoToolbox and VAAPI (a810483)
- Enhance HardwareContext with validation methods for encoder and decoder, add default VAAPI device, and improve codec testing (2c79fda)
- Update deps (56ed45f)
v2.6.4
node-av Release v2.6.4
📦 Updated Packages
The following platform packages have been updated to v2.6.4:
@seydx/node-av-darwin-arm64@v2.6.4@seydx/node-av-darwin-x64@v2.6.4@seydx/node-av-linux-arm64@v2.6.4@seydx/node-av-linux-x64@v2.6.4@seydx/node-av-win32-arm64@v2.6.4@seydx/node-av-win32-x64@v2.6.4
📋 All Changes since v2.6.3
v2.6.3
node-av Release v2.6.3
📦 Updated Packages
The following platform packages have been updated to v2.6.3:
@seydx/node-av-darwin-arm64@v2.6.3@seydx/node-av-darwin-x64@v2.6.3@seydx/node-av-linux-arm64@v2.6.3@seydx/node-av-linux-x64@v2.6.3@seydx/node-av-win32-arm64@v2.6.3@seydx/node-av-win32-x64@v2.6.3