Releases: Yahweasel/libav.js
6.5.7.1
Changes
- Added
avcodec_flush_buffers
- Added accessors to unify the various ways of encoding channels and channel layouts.
- Created a types-only package,
@libav.js/types
, which should be much smaller than the full variants and will cut down on multi-variant madness. - Corrected timebase calculation in
ff_filter_multi
. - Corrected several typos that broke or diminished features in unusual loading modes.
Full Changelog: v6.4.7.1...v6.5.7.1
6.4.7.1
What's Changed
- Fixed bugs in seeking test
- expose av_seek_frame by @stepancar in #68
- Made
mkreaderdev
create a fresh buffer, so that any previous EOF doesn't persist. - Fixes around TypeScript + ES6 + default export nonsense that should make libav.js import better in Node.
- Added
duration
andstart_time
toAVFormatContext
exports. - Change
BigInteger
toBigInt
by @longnguyen2004 in #69
New Contributors
- @stepancar made their first contribution in #68
Full Changelog: v6.3.7.1...v6.4.7.1
6.3.7.1
What's Changed
- Fixed files in the CLI in the threaded version. Files never worked from a thread, but the CLI used to do the actual file access in the main thread. Now it does again (by just not using threads, even in the threaded version; the threads will come from the codecs and filters, not the frontend).
- Fixed some similar threading issues that were breaking certain tests in the threaded build.
- Can now build with emsdk ≥ 3.1.65. Previously versions after 3.1.50 were blocked due to a bug that caused libvpx to generate incorrect code. emsdk has evidently fixed that.
- Throw exceptions on OOM writes. libav's code is not very resilient against running out of memory while writing to a file, and if that happens, it has strange effects. Rather than trying to make the existing code more resilient, I just used JavaScript-level exceptions to break out in that case.
- A few header changes, mainly exposing the emsdk version (now that it's unfixed).
- Fix broken type exports by @longnguyen2004 in #65
New Contributors
- @longnguyen2004 made their first contribution in #65
Full Changelog: v6.2.7.1...v6.3.7.1
6.2.7.1
Note: The flurry of releases recently (after 6.0.7.0.1, which was pretty major) are all just fixing bugs in a feature which I believe to be rarely used, the non-copyout copyout functions (copying out as pointers), and more specifically its interaction with timebases. I'm working on a separate tool that uses this feature and finding that I never got its interaction with timebases right, so I'm fixing it now.
Changes:
- When writing to a muxer using packets copied out as pointers, timebases are preserved correctly.
- When reading from a filter using packets copied out as pointers, timebases are preserved correctly.
Full Changelog: v6.1.7.1...v6.2.7.1
6.1.7.1
Changes:
- Finally added
onread
, so that streaming reader devices can use largely the same API as block reader devices. This replaces and deprecatesff_reader_dev_waiting
. - Added float32 to wav builds. It's particularly useful on the web, where all web audio interfaces use floats, and costs nothing.
- Bumped FFmpeg version to 7.1.
- Work on making time bases more consistent, particularly when using non-copying "ptr" modes. This should make it easier to keep times consistent through chains of steps.
- Added the
time_base
option toff_init_decoder
- Fixed some TypeScript issues.
Full Changelog: v6.0.7.0.2...v6.1.7.1
6.0.7.0.2
What's Changed
- Updated to FFmpeg 7.
- Reimplemented the CLI support (
ffmpeg()
andffprobe()
functions) to use the modern (threaded) version, even on non-threaded platforms, by implementing pseudo-threads with emfiberthreads. - Added support for writing to
FileSystemFileHandle
s. - fixes for threaded libav.js when building with newer emsdk by @dumbmoron in #60
- Add missing type for
unlinkreadaheadfile()
function by @wukko in #61 - explictly define type for each export by @aidenlx in #64
- Compatibility fixes with newer and older emsdk versions.
- Added a JavaScript
CodecParameters
type, for copying codecpars at the JS level. - Updated/corrected some dependency licensing information.
- Switched minifier to terser.
New Contributors
- @dumbmoron made their first contribution in #60
- @wukko made their first contribution in #61
- @aidenlx made their first contribution in #64
Full Changelog: v5.4.6.1.1...v6.0.7.0.2
5.4.6.1.1
This is just a fix to types.
Full Changelog: v5.3.6...v5.4.6.1.1
5.3.6.1.1
This could be subtitled “the timebase release”. It adds timebases to all intermediate formats and copies timebases correctly, and does timebase adjustments automatically. This fixes various issues with timebases that arise from a difference between ffmpeg's behavior (adjusting timebases intelligently) and libav's behavior (it's the user's job to update timebases).
Full Changelog: v5.2.6.1.1...v5.3.6.1.1
5.2.6.1.1
- Fixed usability in node of some of the non-main releases
- Fixed build with recent Emscripten versions
- Added accessors for framerate info to AVCodecParameters.
Full Changelog: v5.1.6.1.1...v5.2.6.1.1
5.1.6.1.1
As is ever the case, it isn't possible to make a point-oh release without missing something crucial.
This release corrects copyout_frame_video_imagedata
, which was 100% broken in 5.0.6.1.1.
Full Changelog: v5.0.6.1.1...v5.1.6.1.1