Skip to content

Releases: devoxin/lavaplayer

1.11.0

Choose a tag to compare

@devoxin devoxin released this 02 Jul 22:16
0d28e61

Additions

  • Added isrc and artworkUrl fields to AudioTrackInfo for compatibility with v2-style source managers. (@sqikerz)
  • Added WMA (v1, v2) decoding
    • This uses a pure Java implementation, so won't have the performance of a native decoder. For this reason, support is locked behind a flag that can be enabled via WmaAudioTrack.setEnableWmaDecoding(true);
  • Added ALAC decoding
    • This uses a pure Java implementation, so won't have the performance of a native decoder. For this reason, support is locked behind a flag that can be enabled via MpegAudioTrack.setEnableAlacDecoding(true);

Fixes

  • Fixed playback position being reset to 0 when seeking Ogg tracks.
  • Fixed compatibility with some Ogg tracks that had multiple streams.
  • Fixed corrupt AAC frames causing tracks to stop during playback.
  • Fixed some corrupt MP4 tracks that would never probe correctly, causing excessive CPU usage.

1.10.0

Choose a tag to compare

@devoxin devoxin released this 18 Jun 20:10
89987db

Additions

  • Add EagerlyRotatingNanoIp route planner to rotate an entire /64 on each nanosecond clock update.
  • Allow excluding source managers from being registered in AudioSourceManagers#registerRemoteSources.

Fixes

  • Persist timecode when seeking an MP3 SoundCloudM3uAudioTrack.
  • Avoid overwriting existing sampleSizes in fragmented MP4 headers.
  • Fix Vimeo playback.

1.9.1

Choose a tag to compare

@devoxin devoxin released this 09 Jun 20:40
c1c1258

Fixed

  • Fixed detection of explicit sample rate values in FLAC files.
  • Fixed incorrect reading of UTF-8 characters in title and artist for Matroska files.

1.9.0

Choose a tag to compare

@devoxin devoxin released this 25 May 18:38

Fixed

  • Fixed some issues with AAC decoder initialisation caused by track configuration mangling.
  • Fixed AAC decoder configuration not accounting for extended configurations with SBR and PS profiles.
  • Fixed handling of passing null to DefaultAudioPlayer#scheduleTrack
  • Fixed handling of some MP3 files with multiple IDv3 blocks.
  • Fixed metadata extraction for some OGG files.
  • Fixed duration extraction for some OGG opus files.
  • Fixed an issue where the PcmChunkEncoder wouldn't force BIG_ENDIAN byte order.
  • Fixed an issue where sometimes an error would be thrown when initialising the Twitch source manager.
  • Fixed an issue where seeking before an OGG Vorbis track has been initialised could cause a NullPointerException.
  • Fixed a rare thread leak with track executors caused by a race condition.

Added

  • Added basic metadata extraction for Matroska files.
  • Added support for configuring the Opus encoder.
  • Added support for applying per-player audio configurations.

Changed

  • Deprecated the built-in Youtube source manager. Use youtube-source instead.

Note

The natives Lavaplayer uses have been recompiled to support a few of the above changes (notably support for configuring the opus encoder, and AAC decoder initialisation fixes).

Due to the amount of time, effort and resources required to compile natives for every individual platform combination, I have chosen to axe natives for win-x86, linux-aarch32 and linux-armhf.

With 64-bit hardware being massively abundant, 32-bit makes no sense to continue supporting. Similarly, aarch32 and armhf have been axed due to being superseded by aarch64 and arm respectively (armhf wasn't really powerful enough for Lavaplayer anyway).

Warning

Given the nature of native compilation, caution is advised when upgrading. The only platforms confirmed to work by myself at the time of writing is darwin (macOS), win-x86-64 (Windows 64-bit), linux-x86-64 (Linux 64-bit, GLIBC) and linux-arm. Testing of other platforms is restricted based on what hardware I have available. For this reason, I advise you do a test run of Lavaplayer on your target hardware. If you encounter any issues, please open an issue.

1.8.0

Choose a tag to compare

@devoxin devoxin released this 13 Mar 22:49

Fixes

  • Tentative fix for "Invalid status code for video page response: 400"
    • Seems like this error is triggered by the use of a client version that's no longer within YouTube's "last 2 major versions" support.
  • Fix SoundcloudAudioSourceManager incorrectly decoding tracks when the tracks have custom data appended onto the end.

Additions

  • Add AudioPlayer#scheduleTrack(AudioTrack, boolean).

Changes

  • Expose DefaultAudioPlayer#dispatchEvent() in subclasses.
  • Expose DefaultPlayer's scheduledTrack, activeTrack, shadowTrack, manager and trackSwitchLock fields in subclasses.
  • Remove redundant initialization of CompletableFuture within YoutubeMpegStreamAudioTrack#updateGlobalSequence().

1.7.0

Choose a tag to compare

@devoxin devoxin released this 27 Jan 22:01
a657992

Fixes

  • Fixed a race condition that could cause TrackStartEvent to fire multiple times.

Additions

  • Added monetizationModel and snipped fields to SoundcloudAudioTrack.
    • This can be used for identifying SoundCloud Go+ tracks.

1.6.1

Choose a tag to compare

@devoxin devoxin released this 25 Jan 01:03

Fixes

  • Bandcamp: Skip tracks with a null title_link property -- these are invalid and can't be played
  • DefaultAudioPlayer: Check and unset scheduledTrack if it throws an exception

Changes

  • Soundcloud: Log all provided formats when no supported one was found.

1.6.0

Choose a tag to compare

@devoxin devoxin released this 04 Jan 19:00

1.5.0

Choose a tag to compare

@devoxin devoxin released this 24 Dec 23:36

Added

  • Support for PCM audio with 32 bits per sample (S32LE).

Fixed

  • Improved robustness of wav audio tracks with more than 16 bits per sample.

Changed

  • Optimised reading of PCM audio with more than 16 bits per sample to reduce allocations.

1.4.7

Choose a tag to compare

@devoxin devoxin released this 21 Dec 01:58
  • Fixes NicoNicoAudioSourceManager.
  • Improve M3U playlist support by distinguishing between inner and outer M3U playlists.