Skip to content

Releases: Yahweasel/libav.js

6.5.7.1

19 Dec 17:18
Compare
Choose a tag to compare

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

27 Oct 18:49
Compare
Choose a tag to compare

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 and start_time to AVFormatContext exports.
  • Change BigInteger to BigInt by @longnguyen2004 in #69

New Contributors

Full Changelog: v6.3.7.1...v6.4.7.1

6.3.7.1

19 Oct 13:31
Compare
Choose a tag to compare

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

Full Changelog: v6.2.7.1...v6.3.7.1

6.2.7.1

12 Oct 14:26
Compare
Choose a tag to compare

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

10 Oct 13:47
Compare
Choose a tag to compare

Changes:

  • Finally added onread, so that streaming reader devices can use largely the same API as block reader devices. This replaces and deprecates ff_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 to ff_init_decoder
  • Fixed some TypeScript issues.

Full Changelog: v6.0.7.0.2...v6.1.7.1

6.0.7.0.2

29 Sep 01:13
Compare
Choose a tag to compare

What's Changed

  • Updated to FFmpeg 7.
  • Reimplemented the CLI support (ffmpeg() and ffprobe() functions) to use the modern (threaded) version, even on non-threaded platforms, by implementing pseudo-threads with emfiberthreads.
  • Added support for writing to FileSystemFileHandles.
  • 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

Full Changelog: v5.4.6.1.1...v6.0.7.0.2

5.4.6.1.1

20 Jun 14:16
Compare
Choose a tag to compare

This is just a fix to types.

Full Changelog: v5.3.6...v5.4.6.1.1

5.3.6.1.1

20 Jun 01:27
Compare
Choose a tag to compare

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

17 Jun 15:01
Compare
Choose a tag to compare
  • 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

02 Mar 13:36
Compare
Choose a tag to compare

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