Repository navigation
Added
Demuxer.interrupt()aborts an in-progress blocking read (e.g.av_read_frameon a quiet RTSP/network source) without freeing the demuxer, so an active pipeline can drain and shut down beforeclose().PipelineControl.stop()now calls it on the source demuxer(s) automatically.
Fixed
RTPStream/FMP4Stream/pipeline().stop()could hang on teardown of a live source.stop()awaited the pipeline's completion before closing the input, but a blocking read on a quiet RTSP/network source only unblocks when the input is interrupted — so completion waited for the read while the read waited to be unblocked (deadlock).PipelineControl.stop()now interrupts the source demuxer's read (via the newDemuxer.interrupt()), so the pipeline drains and completion resolves before close. A related teardown deadlock in the per-stream backpressure loop (a full queue whose consumer had already stopped starved the other streams) is fixed too.- Aborting a
Demuxer'ssignalnow cancels an in-progress blocking read. The abort handler previously only flagged the read loop to stop, leaving the demux thread parked inav_read_frame()until data happened to arrive; it now interrupts the read so cancellation takes effect immediately.
📋 All Changes since v6.1.0
- chore: bump version to 6.1.1 (6c533d9) - @seydx
- Update Changelog (5522038) - @seydx
- Update deps (6ba4c83) - @seydx
- chore: bump version to 6.1.1-beta.1 (d5a0754) - @seydx
- Update Changelog (2a02df7) - @seydx
- Add support for interrupting Demuxer sources in PipelineControl to prevent blocking reads (eb9923c) - @seydx
- Add interrupt method to FormatContext for handling blocking I/O operations (6482790) - @seydx
- Enhance Demuxer with consumer management for packet queues and add interrupt method (565edfd) - @seydx
📦 Packages
The following platform packages have been updated to v6.1.1:
@seydx/node-av-darwin-arm64@6.1.1@seydx/node-av-darwin-x64@6.1.1@seydx/node-av-linux-arm64@6.1.1@seydx/node-av-linux-x64@6.1.1@seydx/node-av-win32-arm64-mingw@6.1.1@seydx/node-av-win32-x64-mingw@6.1.1@seydx/node-av-win32-arm64-msvc@6.1.1@seydx/node-av-win32-x64-msvc@6.1.1