DeepMedia logo
Open Source
Search...

Other versions of this page

Improve this page on GitHub

Search

Changelog

New versions are released through GitHub, so the reference page is the GitHub Releases page.

0.11.X

0.11.1

  • Fix: add unbounded queue for drifted tracks during initialization, thanks to @jumperson (#166)

Compare 0.11.0...0.11.1.

0.11.0

This release focuses on stability and performance, fixing old bugs that were making the library unstable and unreliable. In addition, the library is now available at new maven coordinates io.deepmedia.community:transcoder-android. The old coordinates will still work and receive updates.

  • Enhancement: Revisit transcoding pipeline (#203)
  • Enhancement: Allow SpeedTimeInterpolator reuse, thanks to @vaibhavpandeyvpz (#199)
  • Fix: fix video artifacts, thanks to @jumperson (#199)
  • Fix: fix end-of-stream flag not sent (#201)
  • Fix: fix performance issues, thanks to @jumperson (#202)
  • Fix: handle null buffers (#203)
  • Fix: avoid pipeline stalls (#203)
  • Fix: ensure monotonic muxer timestamps (#203)

Compare 0.10.5...0.11.0.

0.10.X

0.10.5

  • Fix: Honor buffer.hasRemaining() and otherwise release the buffer. (#182)
  • Fix: Call progress even when not advanced. (#170)
  • Fix: FilePathDataSource crash before initialize. (#160)

Compare 0.10.4...0.10.5.

0.10.4

  • Fix: fixed crash in specific conditions (#140)
  • New: AssetFileDescriptorDataSource, can be used to transcode from AssetFileDescriptors (#140)

Compare 0.10.3...0.10.4.

0.10.3

  • Fix: error when merging many files, thanks to @DamonChen117 (#134)
  • Fix: more concatenation issues

Compare 0.10.2...0.10.3.

0.10.2

  • Fix: error when merging many files (#132)

Compare 0.10.1...0.10.2.

0.10.1

  • Fix: thumbnails upside down (#125)
  • Fix: clip/trim issues (#127)
  • Fix: seeking issues (#128)
  • Fix: concatenation failure (#130)

Compare 0.10.0...0.10.1.

0.10.0

⚠️

Transcoder is now distributed through Maven Central. Snapshot releases are available as well.

  • New: thumbnails support (#119)
  • Improvement: rewritten transcoding pipeline (#118)
  • Fix: many bugs fixed while rewriting the pipeline (#118)

Compare 0.9.1...0.10.0.

0.9.X

0.9.1

  • Improvement: DefaultDataSink new constructor with support for FileDescriptor. (#87)

Compare 0.9.0...0.9.1.

0.9.0

  • New: BlankAudioDataSource can be used to add muted audio to a video-only track, thanks to @mudar (#64)
  • Enhancement: you can now concatenate multiple files even if some of them have no audio, thanks to @mudar (#64)
  • Enhancement: you can now concatenate multiple files without audio track, thanks to @cbernier2 (#61)

Compare 0.8.0...0.9.0.

0.8.X

0.8.0

  • New: TrimDataSource to trim segments. Use it to wrap your original source. Thanks to @mudar (#50)
  • New: ClipDataSource, just likes TrimDataSource but selects trim values with respect to video start (#54)
⚠️

Transcoder will trim video segments only at the closest video sync frame. If your video has few sync frames, the trim timestamp might be different than what was selected.

Compare 0.7.4...0.8.0.

Older versions

0.7.4

  • Fix: fixed Xamarin incompatibility, thanks to @aweck (#41)
  • Fix: fixed small bugs with specific API versions / media files (#47)
  • Fix: fixed issues with specific media files, ensure consistent onProgress callback (#48)

Compare 0.7.3...0.7.4.

0.7.3

  • Fix: fixed bug with files that do not have an audio track, thanks to @pawegio (#31)
  • Fix: fixed possible issues with FilePathDataSource (#32)

Compare 0.7.2...0.7.3.

0.7.2

  • Improvement: better input format detection. Fixes bugs with certain files (#29)
  • Improvement: added DefaultAudioStrategy.Builder.bitRate() option (#29)

Compare 0.7.1...0.7.2.

0.7.1

  • Improvement: update the underlying OpenGL library (#20)

Compare 0.7.0...0.7.1.

0.7.0

  • New: video concatenation to stitch together multiple media (#14)
  • New: select a specific track type (VIDEO or AUDIO) for sources (#14)
  • New: audio resampling through DefaultAudioStrategy (#16)
  • New: custom resampling through TranscoderOptions.setAudioResampler() (#16)
  • Breaking change: TranscoderOptions.setDataSource() renamed to addDataSource() (#14)
  • Breaking change: TranscoderOptions.setRotation() renamed to setVideoRotation() (#14)
  • Breaking change: DefaultVideoStrategy.iFrameInterval() renamed to keyFrameInterval() (#14)
  • Breaking change: DefaultAudioStrategy now uses a builder - removed old constructor (#16)
  • Improvement: rotate videos through OpenGL instead of using metadata (#14)
  • Improvement: when concatenating multiple sources, automatically clip the longer track (audio or video) (#17)
  • Improvement: various bug fixed (#18)

Compare 0.6.0...0.7.0.

0.6.0

  • New: ability to change video/audio speed and change each frame timestamp (#10)
  • New: ability to set the video output rotation (#8)
  • Improvement: new frame dropping algorithm, thanks to @Saqrag (#9)
  • Improvement: avoid format validation on tracks coming from PassThroughTrackTranscoder, thanks to @Saqrag (#11)

Compare 0.5.0...0.6.0.

0.5.0

  • New: video cropping to any dimension. Encoder will crop the exceeding size. (#6)
  • New: AspectRatioResizer to crop to a given aspect ratio. (#6)
  • Breaking change: MediaTranscoder renamed to Transcoder. (#6)
  • Breaking change: MediaTranscoderOptions renamed to TranscoderOptions. (#6)
  • Breaking change: MediaTranscoder.Listener renamed to TranscoderListener. (#6)
  • Improvement: use EglCore to replace GL logic. (#5)
  • Improvement: bug fixes and a new demo app to test transcoding options easily (#4)

Subscribe to the DeepMedia Newsletter

The latest news about DeepMedia products, open source projects and software development at our company.

By clicking “Subscribe”, you agree that DeepMedia may use your email address to send you newsletters, including commercial communications, and to process your personal data for this purpose. You agree that DeepMedia may process said data using third-party services for this purpose in accordance with the DeepMedia Privacy Policy. You can revoke this consent at any time using the unsubscribe link included in each email or by writing at contact@deepmedia.io.