Skip to content

Releases: dubiousconst282/FFmpegWrapper

v3.0.0

05 Jun 01:32

Choose a tag to compare

  • Add MediaFilterPipeline class for easier filtering (PR #9 by @RyanYANG52 and @dubiousconst282)
    • Provides builder methods for common tasks like auto-rotating input, scaling, etc
  • Require colorspace in MediaFilterGraph.AddVideoBufferSource() (PR #9)
  • Deprecate allocating BufferSink.ReceivePacket() in favor of bool ReceiveFrame(MediaFrame)
  • Add FFmpegUtils.SetLoggerCallback()
  • Add wrappers for packet and frame side data access

v2.3.0

13 May 19:18
ca8c98a

Choose a tag to compare

  • Add support for seeking within a specific stream in MediaDemuxer.Seek() by @RyanYANG52 in #8

v2.2.0

07 May 02:59
f62acae

Choose a tag to compare

What's Changed

  • Add MediaMuxer.AddStream(MediaStream) for stream copying by @RyanYANG52 in #7

v2.1.2

04 May 01:26

Choose a tag to compare

  • Fix JPEG color range conversion in VideoFrame.Save() (#6)

v2.1.1

25 Apr 19:44

Choose a tag to compare

  • Fixed SwScale.Convert() overload taking span and output frame #5
  • Update to FFmpeg 7.0

v2.1.0

23 Nov 01:01

Choose a tag to compare

Update dependencies / .NET 8

v2.0.0

27 Jun 20:13

Choose a tag to compare

Changelog

  • Add wrapper for AVCodecParameters and AVStream.codecpars. This allows access to fundamental info such as resolution and sample rate without having to open a decoder.
  • Add wrappers for AVCodec, AVRational, AVFilterGraph, AVChannelLayout, and AVOption.
    • Change several APIs to use wrappers instead of pointers/native structs.
  • Add MediaMuxer.Open(options) overload. This allows setting format-specific options such as movflags +faststart.
  • Add missing span input/output SwScaler.Convert() overloads.
  • Change VideoFrame.Map() to return null on failure rather than throwing.
  • Remove StreamIOContext in favor of IOContext.CreateFromStream().
  • Remove SwResampler.BeginConvert()/Drain() in favor of the new SendFrame()/ReceiveFrame() helpers. They are functionally the same, but allow changing output frames/buffers.
  • Fix MediaMuxer not closing output file in Dispose() (#4)

Release v1.3.0

07 Jun 06:19

Choose a tag to compare

Changelog

  • Fix memory leak of AVCodecContext objects in CodecBase (#1)
  • Expose MediaDictionary wrapper and Metadata field for MediaDemuxer, MediaMuxer, and MediaStream.
  • Expose MediaStream.Disposition along with a named flags enum.
  • Change VideoDecoder.SetupHardwareAccelerator() to take CodecHardwareConfig, rather than abitrary pixel formats.
  • Change HardwareDevice.GetMaxFrameConstraints() to return null in case constraints are unavailable, rather than throwing.
  • Remove parameter defaults from takeOwnership in constructors of several classes. This should help prevent bugs with pointer ownership.
  • Rename AudioFrame.GetChannelSamples<T>() to AudioFrame.GetSamples<T>().

v1.2.1

15 Apr 19:57

Choose a tag to compare

Add netstandard2.0 target

v1.2.0

14 Apr 21:54

Choose a tag to compare

Hardware frame tweaks