#mp3splt version 2.6.2
- added bit reservoir handling for gapless playback option using the -b parameter (see manual for details)
- added @d to output format which is equal to: last directory of the input filename or the filename itself if no directory
#mp3splt version 2.6.1b
- bug fix: make sure to separate artist and performer in CUE files for use of @p and @a (libmp3splt)
- bug fix on CUE: from INDEX format MM:SS:FF, handle FF as frames instead of hundreths (libmp3splt)
- bug fix: issue when having input file inside several recursive symlinks (libmp3splt)
- small improvement on CUE: also accept INDEX 1 and not only INDEX 01 (libmp3splt)
#mp3splt version 2.6.1a
- FLAC: fixed an important bug not allowing to split some files (libmp3splt)
#mp3splt version 2.6.1
- FLAC internal cue sheets support (-c internal_sheet)
- simple MP3 chapter marks support (with no overlap) (-c internal_sheet)
- added #161 FLAC option to compute and write MD5 sum in the STREAMINFO metadata block (-M)
- fixed bug #159 with some FLAC files being detected as MP3; also look for the file extension
when detecting a file for a plugin (libmp3splt)
- fixed bug '#160 ---last cue splitpoint--- created at 99 59 99 for mp3 files >100mins' (libmp3splt)
- implemented feature request #103: show error message on failure to detect silence
added '-p error_if_no_aa' and '-p warn_if_no_aa' parameters to auto-adjust option
- patch #9 to fix manpage linking for flacsplt/oggsplt and fixed some warnings
#mp3splt version 2.6
- experimental FLAC support added - stdin and stdout are not yet implemented
- new --enable-flacsplt_symlink configure option to mp3splt
- fixed progress bar of ogg vorbis when using the auto adjust option (libmp3splt)
libmp3splt version 0.9.2
-------------------------------------------------------------
- added bit reservoir handling for gapless playback option
- added @d to output format which is equal to: last directory of the input filename or the filename itself if no directory
- fixed bug #170 - included stdlib.h in src/plugins.c for getenv() because otherwise segfault on RHEL 5.6 64bits
libmp3splt version 0.9.1b
-------------------------------------------------------------
- bug fix: make sure to separate artist and performer in CUE files for use of @p and @a
- bug fix on CUE: from INDEX format MM:SS:FF, handle FF as frames instead of hundreths
- bug fix: issue when having input file inside several recursive symlinks
- small improvement on CUE: also accept INDEX 1 and not only INDEX 01
libmp3splt version 0.9.1a
-------------------------------------------------------------
- FLAC: fixed an important bug not allowing to split some files
libmp3splt version 0.9.1
-------------------------------------------------------------
- FLAC internal cue sheets support
- simple MP3 chapter marks support (with no overlap)
- added #161 FLAC option to compute and write MD5 sum in the STREAMINFO metadata block
- fixed bug #159 with some FLAC files being detected as MP3; also look for the file extension
when detecting a file for a plugin
- fixed bug '#160 ---last cue splitpoint--- created at 99 59 99 for mp3 files >100mins' (libmp3splt)
- fixed bug with FLAC & pretend to split option
- patch #8 to fix Werror=format-security in snprintf
libmp3splt version 0.9
-------------------------------------------------------------
- experimental FLAC support added - stdin and stdout are not yet implemented
- done patch tracker #6 Please support *BSD - Under *BSD, alloca(3) is defined in stdlib.h
- fixed progress bar of ogg vorbis when using the auto adjust option
- fixed bug #152 libmp3splt trunk: ./autogen.sh does not create file test/Makefile.in
- fixed bug #150 - compile error if no libmp3tag around
-----
pkgsrc changes:
- Add options (all on by default) for flac, id3, mad, pcre, vorbis
ALURE is a utility library to help manage common tasks with OpenAL
applications. This includes device enumeration and initialization, file
loading, and streaming.
The purpose of this library is to provide pre-made functionality that would
otherwise be repetitive or difficult to (re)code for various projects and
platforms, such as loading a sound file into an OpenAL buffer and streaming an
audio file through a buffer queue. Support for different formats is consistant
across platforms, so no special checks are needed when loading files, and all
formats are handled through the same API.
Packaged by Bastian Germann in PR pkg/53613.
ver 0.20.21 (2018/08/17)
* database
- proxy: add "password" setting
- proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort"
- simple: allow .mpdignore comments only at start of line
* output
- httpd: remove broken DLNA support code
* playlist
- cue: support file type declaration "FLAC" (non-standard)
* URI schemes are case insensitive
* Android, Windows
- enable the "curl" storage plugin
v3.9.0 2018-07-10 Johnny A. Solbu <johnny@solbu.net>
* Add freedb.musicbrainz.org as secondary default cd database
v3.8.1 2018-05-26 Johnny A. Solbu <johnny@solbu.net>
* Fedora patch: Search paths for executables during config switches
* Reformat manpage, to ease maintanability
* Add COPYING-LGPL: 4 files are licensed under the LGPLv2+
* Sync Chinese (simplified) from Translatin Troject
v3.8.0 2018-05-13 Johnny A. Solbu <johnny@solbu.net>
* Add default encode configuration for
- faac (bug #143)
- opus (bug #117)
* Fedora patch: put oggenc to the top of config list
Apparently, without this patch, the config files are ignored
v3.7.1 2018-04-10 Johnny A. Solbu <johnny@solbu.net>
* Sync Spanish translation from Translation Project
abcde 2.9.2
* Fix up lookup code to deal with spaces etc. in directory names
* Cope with "stub" releases in Musicbrainz
* Always call glyrc with LC_ALL=C. Thanks to Andreas Vögele for the
report and the suggested fix. Closes Issue 83:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=50
* Add a link to the CDDB data format in the abcde man page. Closes
Issue 81: https://abcde.einval.com/bugzilla/show_bug.cgi?id=81
* More fixups of track number padding. Thanks to John Straw for the
patch.
-- Steve McIntyre <93sam@debian.org> Thu, 02 Aug 2018 23:07:12 +0800
PulseAudio 12.2
The previous release tarball contained a broken configure script, this release
fixes the tarball. There are no changes in the source, except for this NEWS
file update.
PulseAudio 12.1
A bug fix release.
* Fixed crash when switching to A2DP bluetooth profile
* Fixed plugin search path in module-ladspa-sink
* Fixed file permissions for the pipes created by module-pipe-sink and
module-pipe-source
1.4.7:
This new release includes lots of new features in the importer and the
metadata source backends that it uses.
We've changed how the beets importer handles non-audio tracks listed in
metadata sources like MusicBrainz:
* The importer now ignores non-audio tracks (namely, data and video tracks)
listed in MusicBrainz. Also, a new option, :ref:ignore_video_tracks, lets
you return to the old behavior and include these video tracks.
* A new importer option, :ref:ignored_media, can let you skip certain media
formats.
There are other subtle improvements to metadata handling in the importer:
* In the MusicBrainz backend, beets now imports the
musicbrainz_releasetrackid field. This is a first step toward
* A new importer configuration option, :ref:artist_credit, will tell beets
to prefer the artist credit over the artist when autotagging.
And there are even more new features:
* :doc:/plugins/replaygain: The beet replaygain command now has
--force, --write and --nowrite options.
* A new importer configuration option, :ref:incremental_skip_later, lets you
avoid recording skipped directories to the list of "processed" directories
in :ref:incremental mode. This way, you can revisit them later with
another import.
* :doc:/plugins/fetchart: The configuration options now support
finer-grained control via the sources option. You can now specify the
search order for different *matching strategies* within different backends.
* :doc:/plugins/web: A new cors_supports_credentials configuration
option lets in-browser clients communicate with the server even when it is
protected by an authorization mechanism (a proxy with HTTP authentication
enabled, for example).
* A new :doc:/plugins/sonosupdate plugin automatically notifies Sonos
controllers to update the music library when the beets library changes.
* :doc:/plugins/discogs: The plugin now stores master release IDs into
mb_releasegroupid. It also "simulates" track IDs using the release ID
and the track list position.
* :doc:/plugins/discogs: Fetch the original year from master releases.
There are lots and lots of fixes
Changelog:
PulseAudio 12.0 release notes
Changes at a glance
* Better latency reporting (and hence better A/V sync) with the A2DP
bluetooth profile
* Much more accurate latency reporting for AirPlay devices
* Fixed a crash or high CPU use problem with Intel HDMI LPE
* module-switch-on-connect now ignores virtual devices
* When using passthrough for compressed audio, set the "non-audio" bit
* Prioritize HDMI output over S/PDIF output
* HSP support for more bluetooth headsets
* Choose the A2DP bluetooth profile by default instead of HSP
* New "sink_input_properties" module argument for module-ladspa-sink
* New "use_system_clock_for_timing" module argument for module-pipe-sink
* module-pipe-sink can now use an existing pipe
* Steelseries Arctis 7 USB headset stereo output support
* Dell Thunderbolt Dock TB16 speaker jack support
* Fixed digital input support for some USB sound cards
* Fixed Native Instruments Traktor Audio 6 detection
* Ability to disable input or output on macOS
* New "dereverb" option for the Speex echo canceller
* New module: module-always-source
* State files not any more readable by all users in the system mode
* module-augment-properties now uses XDG_DATA_DIRS to find .desktop files
* Updates for the Vala bindings
* The GConf dependency can now be avoided
* qpaeq license changed from AGPL to LGPL
* qpaeq ported to Qt 5
* Compatibility with glibc 2.27
* The esdcompat tool isn't any more installed if esound support is disabled
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
2.0.2:
* Implemented 24-bit and surround sound support for FLAC audio files
* Updated external libraries flac-1.3.2, libmodplug-0.8.9.0, libogg-1.3.2 and libvorbis-1.3.5
* Updated for SDL 2.0.6 and newer
* Added support for MP3 playback using mpg123
* Added support for UWP / Windows 10 apps
* Added Mix_OpenAudioDevice() so you can specify the audio device to open
2.1.6
Fix a "no such process" crash in the FFmpeg backend on Windows Subsystem for Linux.
Avoid suppressing SIGINT in the GStreamer backend on older versions of PyGObject.
Changes since the v0.9 release:
Fix an out-of-bounds read matching serial numbers.
Changes since the v0.8 release:
Fix an invalid free with tag handling.
Improve handling of corrupt streams.
Improve performance on streams with many chain segments.
Improve TLS host validation.
Align op_raw_total to work better with op_raw_seek.
Documentation and build improvements.
Changes since the v0.7 release:
Add support for OpenSSL 1.1.x.
Fix issues with tag parsing introduced in v0.7.
Fix skip logic for multiplexed non-Opus data.
The GStreamer team is proud to announce a new major feature release of your favourite cross-platform multimedia framework!
The 1.14 release series adds new features on top of the previous 1.12 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.
Highlights:
WebRTC support: real-time audio/video streaming to and from web browsers
Experimental support for the next-gen royalty-free AV1 video codec
Video4Linux: encoding support, stable element names and faster device probing
Support for the Secure Reliable Transport (SRT) video streaming protocol
RTP Forward Error Correction (FEC) support (ULPFEC)
RTSP 2.0 support in rtspsrc and gst-rtsp-server
ONVIF audio backchannel support in gst-rtsp-server and rtspsrc
playbin3 gapless playback and pre-buffering support
tee, our stream splitter/duplication element, now does allocation query aggregation which is important for efficient data handling and zero-copy
QuickTime muxer has a new prefill recording mode that allows file import in Adobe Premiere and FinalCut Pro while the file is still being written.
rtpjitterbuffer fast-start mode and timestamp offset adjustment smoothing
souphttpsrc connection sharing, which allows for connection reuse, cookie sharing, etc.
nvdec: new plugin for hardware-accelerated video decoding using the NVIDIA NVDEC API
Adaptive DASH trick play support
ipcpipeline: new plugin that allows splitting a pipeline across multiple processes
Major gobject-introspection annotation improvements for large parts of the library API
GStreamer C# bindings have been revived and seen many updates and fixes
The externally-maintained GStreamer Rust bindings have many usability improvements and cover most of the API now
There briefly was a 1.25.9 release which was superseeded by 1.25.10 before a public announcement. Both amount to these fixes:
libout123: Fix error messages beginning from OUT123_ARG_ERROR (bug 261).
mpg123: Fix --icy-interval handling to work with stream from stdin. (curl | mpg123 --icy-interval=n -)
libmpg123: Fix another invalid read and segfault on damaged (fuzzed) files with part2_3_length == 0 (set maxband=1, pulled from upcoming 1.26.0).
PyAudio provides Python bindings for PortAudio, the cross-platform
audio I/O library. With PyAudio, you can easily use Python to play
and record audio on a variety of platforms, such as GNU/Linux,
Microsoft Windows, and Apple Mac OS X / macOS.
* Add the GConf missing dependency
* Patch the default cdrom device to /dev/rcd0d for NetBSD
Changes since 3.6.1:
v3.7.0
* Sync Brazilian Portuguese from Translation Project
* Patch by Phil Stracchino: extended genres to genre list
v3.6.3
* Sync ukranian and hungarian translations from Translation Project
* Patch from Adrian Reber: fix compiler warning with gcc 8.0
* Update the FSF postal address in source files
v3.6.2
* Translation updates: German, Italian, Brazilian Portuguese, Serbian
This fixes an out of bound write, but possibly many other changes.
Unfortunately upstream doesn't do releases for tremor, so I manually
fetch the tarball and uploaded it.
abcde 2.9.1
* Merged Debian packaging files updates
* Fixups in the new Musicbrainz code:
+ Cope with not finding an entry for a CD!
+ Fix (again!) dealing with CDs with no release events
-- Steve McIntyre <93sam@debian.org> Fri, 09 Mar 2018 23:01:04 +0000
abcde 2.9
* Add some documentation for the aged CD ripper dagrab. Thanks to
Teika Kazura for the notification and suggested documentation. This
closes Issue 50: https://abcde.einval.com/bugzilla/show_bug.cgi?id=50
* Work by Matthias Andree <matthias.andree@gmx.de> to address the issue
where abcde fails with accented characters from CD-TEXT. The issue and
partial fix applied here documented in Issue 53:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=53
and also in the abcde mailing list:
https://lists.einval.com/pipermail/abcde-users/2017-January/000232.html
* Allow for embedding of album art downloaded by the getalbumart function.
Currently this is available for flac (using metaflac), mp3 (using eyed3),
m4a (using AtomicParsley) and WavPack aka wv (using wvtag).
This can be invoked in 3 ways:
1. Use the commandline '-B' option (this will also call getalbumart)
2. Use the commandline '-a embedalbumart' option to add to list of actions
3. Use 'embedalbumart' in the 'ACTIONS' list in ~/.abcde.conf
Still needs more development but it is perfectly usable at the moment!
* Use md5 rather than md5sum under macOS. Thanks to JCount for the bug
report and also the fix. This solves Issue 59:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=59
* Support added for encoding with Audio Interchange File Format (AIFF).
Thanks to Massimo Villa for the feature request. FFmpeg is required
for the encoding, the container and suffix are 'aiff'.
* Allow selection of either cddb or musicbrainz from the command line:
-Q Select CDDBMETHOD from the command line. Choice is cddb or musicbrainz.
Command line letters are fast running out but the 'Q' option quite neatly
stands for 'Query'!
* Allow for embedding with do_embedalbumart() for single track encodes when
OUTPUTFORMAT and ONETRACKOUTPUTFORMAT are different. Thanks to Ashley Gittins
for the bug report. This closes Issue 63:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=63
* Experimental support for embedding albumart with ogg files. The slightly
tortuous technique drawn from 2 sources:
1. https://github.com/biapy/howto.biapy.com/blob/master/various/mussync-tools
2. https://github.com/acabal/scripts/blob/master/ogg-cover-art
Testing is strongly encouraged, perhaps the simplest way to test is with:
abcde -o ogg -B
Or the appropriate settings in an ~/.abcde.conf file.
* Massive rework of CD lookup code so support multiple sources
better. Thanks to Gabriel Rosenkoetter for his initial idea in this
area, and to Tomasz Goliński on irc for initial inspiration on how
this should work better.
There are now 3 different options for CD lookup: cddb, musicbrainz and
cdtext. They can all be listed in a comma-separated list for
CDDBMETHOD and the code will now call all of them in the sequence
listed. All the results will be combined into one list at the end for
the user to select, just like would have previously worked for one
source only. Closes Issue 42:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=42
* Fix Musicbrainz ID calculation in makeids()
Apply fix suggested by petecollins24@gmail.com; add PREGAP to
LEADOUT to correct Musicbrainz ID calculation. Hopefully closes
Issue 54: https://abcde.einval.com/bugzilla/show_bug.cgi?id=54
* Fix abcde.mkcue() when handling the --wholedisk option. Thanks to
Nino Burini for the patch. Closes Issue 47 and maybe also 45:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=47https://abcde.einval.com/bugzilla/show_bug.cgi?id=45
* Add more comprehensive examples for filename munging in the example
config file. Closes Issue 49:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=49
* Add a more better fix for the year lookup problem in abcde-musicbrainz-tool
Thanks to Tom Samstag for the patch. Closes Issue 57:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=57
* Redirect stderr on "which" calls to clear up error noise on some
systems. Closes Issue 56:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=56
* Add Irix support, based on a patch by abcde@canavan.de. Closes Issue 29:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=29
* Rework abcde-musicbrainz-tool to work with WebService::MusicBrainz 1.x
Thanks to Nicolas Guillaumin for the patch. Closes Issue 60:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=60
Also added a specific dependency on version 1.0.4 or newer, so
abcde-musicbrainz-tool will abort if the version found is too old.
Since tweaked to deal with multi-artist albums and tracks more
completely.
* Add resume support in do_getalbumart()
* Fix getopts setup for "P". Thanks to Alan W. Kerr for reporting this.
* Major set of code cleanups to fix up lots of warnings found with
shellcheck, and a few other style issues:
+ Lots of quoting fixes
+ Use $( instead of `
+ Stop using -o and -a syntax with if [ - use || or && instead
+ Wrap and shorten some very long lines
* Wrap some output messages so they fit on a standard width console
* Factor out repeated code and make page() more useful
* Add version check before resuming from an old ripping run
aeneas is a Python/C library and a set of tools to automagically
synchronize audio and text.
aeneas automatically generates a synchronization map between a list
of text fragments and an audio file containing the narration of
the text. In computer science this task is known as (automatically
computing a) forced alignment.
0.29 (2018/02/11)
* implement %prio% for --format
* the default --format falls back to "performer" if there is no "artist"
* add command "prio"
* command "outputs" prints attributes
* fix build failure with gcc 7.0 and clang 4.0
* build with Meson instead of autotools
pkgsrc changes:
- reuse the github framework
- disable -Werror
- set -D_NETBSD_SOURCE for NetBSD, this is required for obtaining
pthread_condattr_setclock(3) and pthread_condattr_getclock(3) on NetBSD
compiled on version <8.0 (bug in a header)
- switch from ffmpeg2 to ffmpeg3
- add a workaround for a detector of ffmpeg in a homegrown dependency
detector, this hardcodes paths to headers and libraries of ffmpeg3
upstream changelog
==================
Version 4.3.0 (2015-05-25)
player: Add support for "exact mode" - re-opens the audio device when a buffer is encountered that does not match the open audio device's sound parameters.
build: Simplify cmake find modules.
Add const qualifier to some fields and functions.
metadata example: print the number of channels.
Add documentation.
Add more channel layouts.
build: Compile in Debug mode by default.
Version 4.2.1 (2014-10-07)
updating metadata: set time_base on stream not the codec
libav lockmgr: set mutex pointer to NULL on destroy
fix build on GNU/hurd
Version 4.2.0 (2014-09-25)
build: remove bundled dependencies
build: simpler cmake find modules, both code and license
player: add shim to fix build failure on OSX
Version 4.1.1 (2014-06-20)
playlist: fix race condition which can cause decoder to hang
dummy player: fix timing issues
Version 4.1.0 (2014-06-13)
playlist: added groove_playlist_set_fill_mode. Allows you to choose between buffering until all sinks are full and buffering until any sinks are full.
Version 4.0.4 (2014-06-03)
Fixed a race condition where seeking to a different playlist item and then back would have a window of time where it could report the wrong position.
Properly play and pause network streams.
Version 4.0.3 (2014-05-31)
build: update bundled libav to latest stable 10 release
build: link player with -lrt for clock_gettime. closes#67
playlist: fix case where filter graph was not being rebuilt. closes#65
playlist: fix race condition segfault when attaching a sink
encoder: properly reset encoding when flush or playlist end is encountered. closes#66
Version 4.0.2 (2014-05-20)
player: thread cleanup only if thread was initialized - fixes potential crash on player detach
build: look for includes in the current source tree. Fixes an issue when a previous version of the library is installed.
build: on unix link with -lm
Version 4.0.1 (2014-05-13)
groove_playlist_get_position: always set seconds even when item is NULL
playlist: correct generation of the sink map
fixes potential error when adding multiple sinks
optimizes some cases where sinks can share filter graph chain
dummy player now uses disable_resample optimization
dummy player: avoid floating point error accumulation
Version 4.0.0 (2014-05-12)
GrooveBuffer struct contains the presentation time stamp
move include statements to outside of extern C
ability to set true peak on playlist items. closes#50
support per-sink gain adjustment. closes#41
GroovePlaylist: volume renamed to gain
groove_playlist_set_gain renamed to groove_playlist_set_item_gain
groove_playlist_set_volume renamed to groove_playlist_set_gain
player: specify device by index rather than name. closes#44
player: ability to attach a dummy player device. closes#60
fingerprinter: encode/decode return 0 on success, < 0 on error
fingerprinter: info struct contains raw fingerprint instead of compressed string. closes#61
pkgsrc changes:
- switch to GitHub as the release source
- set CFLAGS for NetBSD: _NETBSD_SOURCE, this works around a bug that
strdup(3) was not included in the POSIX source namespace (fixed in
NetBSD 8.0)
- switch to ffmpeg 3.x
upstream changelog
==================
Release 2017.08.30
- Support binding to specific network interface, see config option bind_to
- New config option gain_mul softens effect of replay gain
- Replaced deprecated ffmpeg and json-c functions, bumps ffmpeg/libav version
requirement
- Fix use-after-free
- Minor improvements to code and documentation
Release 2016.06.02
- Quit pianobar upon reception of two SIGINT
- Minor bugfixes
ver 0.20.16 (2018/02/03)
* output
- pulse: fix crash during auto-detection
* database
- simple: fix search within mount points
- upnp: enable IPv6
* archive
- iso9660: libcdio 2.0 compatibility
* fix crash in debug build on Haiku and other operating systems
This switch is meant to be used by packages requiring an implementation of the
former libusb (as in devel/libusb). The original implementation can be
chosen by setting LIBUSB_TYPE to "native".
The alternative implementation libusb-compat (as in devel/libusb-compat) wraps
libusb1 (in devel/libusb1). This implementation can be chosen by setting
LIBUSB_TYPE to "compat". On NetBSD, it has the advantage of not requiring root
privileges to locate and use USB devices without a kernel driver.
This second part switches packages using libusb to this framework. It does not
change compilation options or dependencies at this point.
Compile-tested on most packages affected and available on NetBSD/amd64.
- audacity: GCC 6 wants std namespace, found via <cmath>.
- smpeg2: don't initialise unsigned with "0-1".
- libclucene/strigi: match GCC 6 (and 7, and 8, and 9.)
1.4.6:
The highlight of this release is "album merging," an oft-requested option in
the importer to add new tracks to an existing album you already have in your
library. This way, you no longer need to resort to removing the partial album
from your library, combining the files manually, and importing again.
Here are the larger new features in this release:
* When the importer finds duplicate albums, you can now merge all the
tracks---old and new---together and try importing them as a single, combined
album.
* :doc:/plugins/lyrics: The plugin can now produce reStructuredText files
for beautiful, readable books of lyrics.
* A new :ref:from_scratch configuration option makes the importer remove old
metadata before applying new metadata. This new feature complements the
:doc:zero </plugins/zero> and :doc:scrub </plugins/scrub> plugins but is
slightly different: beets clears out all the old tags it knows about and
only keeps the new data it gets from the remote metadata source.
1.0.1
-----
- Do not explicitly pass "-o 0" to the installation command;
if running as root, it is not needed, and if not running as root,
it will only break.
Version 1.4.3 -- January 21, 2017
==================================
- Allow one packet to have decoding error
- Print output even if there is a decoding error, exit with error code 3 instead of 2 in such case
- Add new option -ignore-errors to change the error code 3 to 0
- Add new option -algorithm NUM
- Periotically flush output when working on a stream
Upstream changes:
1.40.0 - 2018-01-25
-------------------
* APEv2: Ensures tags are saved in a deterministic way :pr:`329`
(:user:`cushy007`)
* Restore WinXP support for the CLI tools 🐛`332`
* easymp4: Fix EasyMP4.add_tags() when no tags exist 🐛`334`
* id3: Fix PyCharm not being able to resolve id3 frame class references
🐛`336`
* Support pathlib.Path objects for paths (PEP 519) 🐛`337` :pr:`338`
(:user:`Andrew Rabert <nvllsvm>`)
* Use semver for versioning
Avoid problems resulting from the SIZE macro expanding to "two
arguments", but the argument list already having been scanned,
leading to build failure with SSP on NetBSD 8.0.
Thanks for hint from joerg@
PKGREVISION bumped.
* Release 3.5.1
* Improved:
+ Compatibility of imported and exported CSV files with cells
containing new line characters.
+ Do not show unknown frames for ID3v2.3 TDAT, TIME, TYER, TRDA
frames.
+ Enable high-DPI scaling for Qt >= 5.6.
+ Change AppStream directory from appdata to metainfo.
* Fixed:
+ Crash with DSF files having sample rates other than 2822400 or
5644800.
* Release 3.5.0
* New:
+ Tags which violate the ID3v2 standard are marked.
+ Filter for marked files.
+ Configurable keyboard shortcuts for user actions.
+ Set and get frame fields from scripts and CLI.
+ Select a subset of frames for copy, paste, remove from scripts
and CLI.
+ Set and get multiple frames of the same kind from scripts and CLI.
+ Support field names in export and filter expressions.
+ Support xid and ownr atoms in M4A files.
+ Danish translation.
* Improved:
+ Better performance when files are added to selection.
+ The script actions in the file list context menu only operate on
selected files.
+ Only jump to tagged files with previous/next in GUI.
+ Show passed/total after "filtered" in title bar.
+ kid3-cli can run from a console without GUI/X11.
* Fixed:
+ Adding and deleting tag 3 frames from CLI.
+ Deletion of multiple METADATA_BLOCK_PICTURE picture frames.
+ Wrong depth 32 instead of 24 stored in METADATA_BLOCK_PICTURE.
+ Use Ogg/Vorbis Comment field name setting also for Opus files.
* Release 3.4.5
* New:
+ Settings to include and exclude folders in the file list.
* Improved:
+ Use HTTPS for imports where possible.
+ Much faster expanding of the file list by avoiding GUI
updates during the operation.
+ Faster filtering by avoiding GUI updates during the
operation.
+ Reduced memory usage when filtering.
+ Updated Czech and Dutch translations.
* Fixed:
+ Import from MusicBrainz.
+ Rate limit for import from Discogs.
+ Do not display multiple frames of same type as different.
+ Application not responsive when using a new filter after
filtering a huge number of files.
+ Application not responsive when loading the tags after
selecting a lot of files, is now abortable.
+ Terminate kid3-cli if EOF is received.
* Release 3.4.4
* New:
+ If the first command line argument is "--portable", the
configuration is stored in a file kid3.ini in the program folder.
+ Image data can be copied to clipboard.
+ MPRIS2 D-Bus interface for the audio player.
* Improved:
+ "Import CSV" can import to different files if no matching
file paths found.
* Fixed:
+ Importing of durations from text formats (file/clipboard).
+ Building with Chromaprint 1.4.
ver 0.20.15 (2018/01/05)
* queue: fix crash after seek failure
* resampler
- soxr: clear internal state after manual song change
* state file
- make mount point restore errors non-fatal
- fix crash when restoring mounts with incompatible database plugin
* Android
- build without Ant
- fix for SIGSYS crash
ver 0.20.14 (2018/01/01)
* database
- simple: fix file corruption in the presence of mount points
* archive
- bz2: fix deadlock
- reduce lock contention, fixing lots of xrun problems
* fix Solaris build failure
ver 0.20.13 (2017/12/18)
* output
- osx: set up ring buffer to hold at least 100ms
* mixer
- alsa: fix rounding errors
* database
- simple: don't purge mount points on update/rescan
- simple: fix "mount" bug caused by bad compiler optimization
- simple: fix "lsinfo" into mount points
- upnp: work around libupnp 1.6.24 API breakage
* queue: fix spuriously misplaced prioritized songs
* save and restore mountpoints within the state file
* include Windows cross-build script in source tarball
* fix Windows build failures
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
This has been a pkglint warning for several years now, and pkglint can even
fix it automatically. And it did for this commit.
Only in lang/mercury, two passes of autofixing were necessary because there
were nested variables.
1.25.8
------
- mpg123:
-- Also disable cursor/video games for empty TERM (not just unset and dumb).
- libmpg123:
-- Accept changing mode extension bits when looking for next header for
detecting free-format streams (bug 257).
-- Fix compute_bpf() for free format streams (needed to estimate track
length and working fuzzy seeking in absence of an Info tag).
2.8.6:
2.8.5:
- another package fix
2.8.4:
- minor fix to released packages
2.8.3
- better autotools support
2.8.2
- PNS bug fixed
- New MP4 input module
- NeAACDecGetVersion:
new api function to get version and copyright strings
0.99 2017-11-24
- Fixed a bug where an incorrect audio offset was returned when using
NO_ARTWORK and reading a file with an ID3v2.2 or v2.3 unsynchronization bit
set. The artwork in this type of file is only available when scanning in
normal mode (without NO_ARTWORK).
- Added id3_was_unsynced => 1 to the info section for v2.2/v2.3 files with the
whole-tag unsync bit set. This type of tag is generally harmful to parser performance,
so this flag might be useful if you want to find and upgrade this type of tag to v2.4.
- DSF: WAV_BLOCK_SIZE was being used instead of DSF_BLOCK_SIZE. (Kimmo Taskinen)
- ID3: Support for reading ID3 tags located >4GB into a file, such as in very large
DSF files. (Kimmo Taskinen)
- WavPack: Read correct samplerate and bits_per_sample for DSD files. (Kimmo Taskinen)
- DSF/DFF: added bitrate to info hash.
Patch the upstream makefile to rename CFLAGS, CXXFLAGS, LDFLAGS to
LOCAL_*. Retrieve CFLAGS, CXXFLAGS, LDFLAGS from pkgsrc.
This package uses homegrown hardcoded macros for libraries (-fPIC), this
is not portable and should be adjusted in future.
This unbreaks build on NetBSD/amd64 8.99.7 as of today.
ver 0.20.11 (2017/10/18)
* storage
- curl: support Content-Type application/xml
* decoder
- ffmpeg: more reliable song duration
- gme: fix track numbering
* improve random song order when switching songs manually
* fix case insensitive search without libicu
* fix Unicode file names in playlists on Windows
* fix endless loop when accessing malformed file names in ZIP files
In the C plug-ins, mark the constructor and destructor functions as
such. While there, comment out a new target to run the tests; they are
broken, but not because of this modification. This allows us to use
cc(1) to link the plug-ins, thus working around a bug in the cwrappers
for ld(1).
Bump PKGREVISION, since this generates a different binary now that SSP
and FORTIFY are enabled.
1.39:
* Tests:
* Require `hypothesis <https://hypothesis.readthedocs.io>`__
* Run pycodestyle/pyflakes tests by default. Skip with ``--no-quality`` or
``-m no quality`` when using pytest directly.
* Python 3.3 is no longer supported
* MP3: Improved bitrate accuracy for files with XING header
* ASF: Fix case where some tags resulted in broken ASFUnicodeAttribute
instances
* Add support for filesystems which don't support opening files read/write
(gvfs over fuse for example)
* mid3v2: Add support for USLT
* Minor improvements
1.25.7
------
- mpg123:
-- Do not play with cursor and inverse video for progress bar
when TERM=dumb.
-- Fix parsing of host port for numerical IPv6 addresses (just did
not work before, only for textual host names).
- libmpg123:
-- Proper fix for the xrpnt overflow problems by correctly
initialising certain tables for MPEG 2.x layer III. The checks that
catch the resulting overflow are still in place, but likely superfluous
now. Note that this means certain valid files would have been misdecoded
before, if anyone actually produced them. Thanks to Robert Hegemann for
the fix!
-- Silently handle granules with part2_3_length == 0, but
scalefac_compress != 0 (ignore the latter).
* -Werror does not work properly since id3lib makes warnings
Changes:
v3.6.1 2017-10-04 Johnny A. Solbu <johnny@solbu.net>
* Patch from Adrian Reber: fix compiler warning
and enable -Werror and -Wall by default
* Translation update: Norwegian
v3.6.0 2017-09-14 Johnny A. Solbu <johnny@solbu.net>
* Patch from Mike Gilbode: Select DiscDB entry from multiple results
* Translation updates.
- Revert "Move gdbus-codegen users to py-glib2-tools by including
glib2/buildtools.mk" 1f764df
- while here change to TOOL_DEPENDS
- switch from py-glib2-tools to glib2-tools
Version 0.8.9.0:
OOB Write and Read fixes + a number of divide by zero fixes.
(ABC, PAT, AMF, MDL, PSM, XM, IT, MMCMP, MID)
There were some patches 2010-2016 which were recorded here.
Changelog:
* Fix a crash in filter modules related to flat volumes and volume
sharing
* Fix a crash when the bluetooth adapter reports weird MTU size
* Disable bluetooth MTU autodetection by default
* Add mixer handling back for hardware that doesn't have any alsa-lib
configuration
* Prioritize USB devices over built-in sound cards (11.0 was supposed
to have this feature, but the implementation turned out to be
incomplete)
openal-soft-1.18.2:
Fixed resetting the FPU rounding mode after certain function calls on
Windows.
Fixed use of SSE intrinsics when building with Clang on Windows.
Fixed a crash with the JACK backend when using JACK1.
Fixed use of pthread_setnane_np on NetBSD.
Fixed building on FreeBSD with an older freebsd-lib.
OSS now links with libossaudio if found at build time (for NetBSD).
libopenmpt 0.3.1 (2017-09-28)
Changelog since libopenmpt 0.2.6774-beta20.
libopenmpt 0.3.1
[Bug] Windows: libopenmpt resource did not compile for release versions.
libopenmpt 0.3.0 (2017-09-27, not released)
[New] New error handling functionality in the C API, which in particular allows distinguishing potentially transient out-of-memory errors from parse errors during module loading.
[New] New API openmpt::module::get_selected_subsong() (C++) and openmpt_module_get_selected_subsong() (C).
[New] Faster file header probing API openmpt::probe_file_header() and openmpt::probe_file_header_get_recommended_size (C++), and openmpt_probe_file_header(), openmpt_probe_file_header_without_filesize(), openmpt_probe_file_header_from_stream() and openmpt_probe_file_header_get_recommended_size() (C).
[New] New API openmpt::could_open_probability() (C++) and openmpt_could_open_probability() (C). This fixes a spelling error in the old 0.2 API.
[New] openmpt123: openmpt123 can now open M3U, M3U8, M3UEXT, M3U8EXT and PLSv2 playlists via the --playlist option.
[New] openmpt123: openmpt123 now supports very fast file header probing via the --probe option.
[New] Libopenmpt now supports building for Windows 10 Universal (Windows Store 8.2) APIs with MSVC, and also for the older Windows Runtime APIs with MinGW-w64.
[New] New API header libopenmpt_ext.h which implements the libopenmpt extension APIs also for the C interface.
[New] The Reverb effect (S99 in S3M/IT/MPTM, and X99 in XM) is now implemented in libopenmpt.
[New] For Amiga modules, a new resampler based on the Amiga’s sound characteristics has been added. It can be activated by passing the render.resampler.emulate_amiga ctl with a value of 1. Non-Amiga modules are not affected by this, and setting the ctl overrides the resampler choice specified by OPENMPT_MODULE_RENDER_INTERPOLATIONFILTER_LENGTH or openmpt::module::RENDER_INTERPOLATIONFILTER_LENGTH. Support for the MOD command E0x (Set LED Filter) is also available when the Amiga resampler is enabled.
[Change] libopenmpt versioning changed and follows the more conventional major.minor.patch as well as the recommendations of the SemVer scheme now. In addition to the SemVer requirements, pre-1.0.0 versions will also honor API and ABI stability in libopenmpt (i.e. libopenmpt ignores SemVer Clause 4).
[Change] The output directories of the MSVC build system were changed to bin/vs2015-shared/x86-64-win7/ (and similar) layout which allows building in the same tree with different compiler versions without overwriting other outputs.
[Change] The emscripten build now exports libopenmpt as ‘libopenmpt’ instead of the default ‘Module’.
[Change] Android: The build system changed. The various Android.mk files have been merged into a single one which can be controlled using command line options.
[Change] The Makefile build system now passes std=c++11 to the compiler by default. Older compilers may still work if you pass STDCXX=c++0x to the make invocation.
[Change] The Makefile option ANCIENT=1 is gone.
[Change] The optional dependencies on libltdl or libdl are gone. They are no longer needed for any functionality.
[Regression] Compiling client code using the C++ API now requires a compiler running in C++11 mode.
[Regression] Support for GCC 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7 has been removed.
[Regression] Support for Clang 3.0, 3.1, 3.2, 3.3 has been removed.
[Regression] Support for Emscripten versions older than 1.31.0 has been removed.
[Regression] Support for Android NDK versions older than 11 has been removed.
[Regression] Visual Studio 2008, 2010, 2012, 2013 support has been removed.
[Regression] Dynamic run-time loading of libmpg123 is no longer supported. Libmpg123 must be linked at link-time now.
[Regression] xmp-openmpt: xmp-openmpt now requires XMPlay 3.8 or later and compiling xmp-openmpt requires an appropriate XMPlay SDK with XMPIN_FACE >= 4.
[Regression] Support for libmpg123 older than 1.13.0 has been removed.
[Regression] Un4seen unmo3 support has been removed.
[Bug] C++ API: openmpt::exception did not define copy and move constructors or copy and move assignment operators in libopenmpt 0.2. The compiler-generated ones were not adequate though. libopenmpt 0.3 adds the appropriate special member functions. This adds the respective symbol names to the exported ABI, which, depending on the compiler, might or might not have been there in libopenmpt 0.2. The possibly resulting possible ODR violation only affects cases that did crash in the libopenmpt 0.2 API anyway due to memory double-free, and does not cause any further problems in practice for all known platforms and compilers.
[Bug] The C API could crash instead of failing gracefully in out-of-memory situations.
[Bug] The test suite could fail on MacOSX or FreeBSD in non-fatal ways when no locale was active.
[Bug] libopenmpt_stream_callbacks_fd.h and libopenmpt_stream_callbacks_file.h were missing in Windows development packages.
[Bug] libopenmpt on Windows did not properly guard against current working directory DLL injection attacks.
[Bug] localtime() was used to determine the version of Schism Tracker used to save IT and S3M files. This function is not guaranteed to be thread-safe by the standard and is now no longer used.
[Bug] Possible crashes with malformed IT, ITP, AMS, MDL, MED, MPTM, PSM and Startrekker files.
[Bug] Possible hangs with malformed DBM, MPTM and PSM files.
[Bug] Possible hangs with malformed files containing cyclic plugin routings.
[Bug] Excessive loading times with malformed ITP / truncated AMS files.
[Bug] Plugins did not work correctly when changing the sample rate between two render calls.
[Bug] Possible NULL-pointer dereference read during obscure out-of-memory situations while handling exceptions in the C API.
[Bug] libmodplug: libmodplug.pc was wrong.
[Bug] Cross-compiling libopenmpt with autotools for Windows now properly sets -municode and -mconsole as well as all required Windows system libraries.
[Bug] foo_openmpt: Interpolation filter and volume ramping settings were confused in previous versions. This version resets both to the defaults.
[Bug] libmodplug: The CSoundFile::Read function in the emulated libmodplug C++ API returned the wrong value, causing qmmp (and possibly other software) to crash.
Support for SoundTracker Pro II (STP) and Digital Tracker (DTM) modules.
Increased accuracy of the sample position and sample rate to drift less when playing very long samples.
Various playback improvements for IT and XM files.
Channel frequency could wrap around after some excessive portamento / down in some formats since libopenmpt 0.2-beta17.
Playback improvements for S3M files made with Impulse Tracker and Schism Tracker.
ParamEq plugin emulation didn’t do anything at full gain (+15dB).
All standard DMO effects are now also emulated on non-Windows and non-MSVC systems.
Added libopenmpt_stream_callbacks_buffer.h which adds openmpt_stream_callbacks support for in-memory buffers, possibly even only using a truncated prefix view into a bigger file which is useful for probing.
Avoid enabling some ProTracker-specific quirks for MOD files most likely created with ScreamTracker 3.
Tremolo effect only had half the intended strength in MOD files.
Pattern loops ending on the last row a pattern were not executed correctly in S3M files.
Work-around for reading MIDI macros and plugin settings in some malformed IT files written by old UNMO3 versions.
Improve tracker detection in IT format.
Playback fixes for 8-channel MED files
Do not set note volume to 0 on out-of-range offset in XM files.
Better import of some slide commands in SFX files.
Sample 15 in “Crew Generation” by Necros requires short loops at the beginning of the sample to not be ignored. Since we need to ignore them in some (non-ProTracker) modules, we heuristically disable the old loop sanitization behaviour based on the module channel count.
Both normal and percentage offset in PLM files were handled as percentage offset.
MT2 files with instruments that had both sample and plugin assignments were not read correctly.
Some valid FAR files were rejected erroneously.
Support for VBlank timing flag and comment field in PT36 files.
Improved accuracy of vibrato command in DIGI / DBM files.
STM: Add support for “WUZAMOD!” magic bytes and allow some slightly malformed STM files to load which were previously rejected.
Detect whether “hidden” patterns in the order list of SoundTracker modules should be taken into account or not.
Tighten heuristics for rejecting invalid 669, M15, MOD and ICE files and loosen them in other places to allow some valid MOD files to load.
Improvements to seeking: Channel panning was not always updated from instruments / samples when seeking, and out-of-range global volume was not applied correctly in some formats.
seek.sync_samples=1 did not apply PTM reverse offset effect and the volume slide part of combined volume slide + vibrato commands.
If the order list was longer than 256 items and there was a pattern break effect without a position jump on the last pattern of the sequence, it did not jump to the correct restart order.
Makefile has now explicit support for FreeBSD with no special option or configuration required.
openmpt123: Improved section layout in man page.
libmodplug: Added all missing C++ API symbols that are accessible via the public libmodplug header file.
Autotools build system now has options --disable-openmpt123, --disable-tests and --disable-examples which may be desireable when cross-compiling.
Windows binary packages now ship with libmpg123 included.
hsaudiotag is a pure Python library that lets you read metadata
(bitrate, sample rate, duration and tags) from mp3, mp4, wma, ogg,
flac and aiff files. It can only read tags, not write to them, but
unlike more complete libraries (like Mutagen), it is BSD licensed,
making it suitable for most projects. It is also backed by a nifty
test suite.
Release Name: 1.14
====================
Tag.pm: Quiet warnings from 5.22.
Start implementing handlers: instead of FRAM(langs)[opts], one can use, e.g., func_name(ID3v1,Cue)[arg1][arg2]
# ID3v2::_frame_select_by_descr is missing //s
New configuration variable ampersand_joiner (default '; ').
New method _auto_field_from() (abstracted from _auto_field()).
Change logic of calling ->can() in _auto_field_from().
_parse_rex_microinterpolate() would not update $ecount on seeing %%.
When parsing with %=c etc: with %==c the match fails if there is no comment.
(Checked the same way as for %{c:}.)
Support some of %-escapes not being matched (e.g, due to alternatives in a REx).
(0-length matches were ignored anyway [when join()ing].)
parse_rex(), parse_rex_match() may return an extra result (if %{handler}s are present).
Recognize ID3v2 frame names as [A-Z]{3}[A-Z\d] (was \w{4}).
(Detection frame/vs/handler happens via PACKAGES; so if lang codes inf/cue appear, we may be in trouble.)
Use the same code in parse(_rex)?_prepare. (Now parse() allows the same %-constructs as parse_rex().)
ID3v2.pm:
New method have_one_of_frames().
New methods *_have() (for simplest fields: title, comment, track, artist, album, genre, year).
ImageExifTool.pm:
Comprehensive docs.
openal-soft-1.18.1:
Fixed an issue where resuming a source might not restart playing it.
Fixed PulseAudio playback when the configured stream length is much less
than the requested length.
Fixed MMDevAPI capture with sample rates not matching the backing device.
Fixed int32 output for the Wave Writer.
Fixed enumeration of OSS devices that are missing device files.
Added correct retrieval of the executable's path on FreeBSD.
Added a config option to specify the dithering depth.
Added a 5.1 decoder preset that excludes front-center output.
openal-soft-1.18.0:
Implemented the AL_EXT_STEREO_ANGLES and AL_EXT_SOURCE_RADIUS extensions.
Implemented the AL_SOFT_gain_clamp_ex, AL_SOFT_source_resampler,
AL_SOFT_source_spatialize, and ALC_SOFT_output_limiter extensions.
Implemented 3D processing for some effects. Currently implemented for
Reverb, Compressor, Equalizer, and Ring Modulator.
Implemented 2-channel UHJ output encoding. This needs to be enabled with a
config option to be used.
Implemented dual-band processing for high-quality ambisonic decoding.
Implemented distance-compensation for surround sound output.
Implemented near-field emulation and compensation with ambisonic rendering.
Currently only applies when using the high-quality ambisonic decoder or
ambisonic output, with appropriate config options.
Implemented an output limiter to reduce the amount of distortion from
clipping.
Implemented dithering for 8-bit and 16-bit output.
Implemented a config option to select a preferred HRTF.
Implemented a run-time check for NEON extensions using /proc/cpuinfo.
Implemented experimental capture support for the OpenSL backend.
Fixed building on compilers with NEON support but don't default to having
NEON enabled.
Fixed support for JACK on Windows.
Fixed starting a source while alcSuspendContext is in effect.
Fixed detection of headsets as headphones, with MMDevAPI.
Added support for AmbDec config files, for custom ambisonic decoder
configurations. Version 3 files only.
Added backend-specific options to alsoft-config.
Added first-, second-, and third-order ambisonic output formats. Currently
only works with backends that don't rely on channel labels, like JACK,
ALSA, and OSS.
Added a build option to embed the default HRTFs into the lib.
Added AmbDec presets to enable high-quality ambisonic decoding.
Added an AmbDec preset for 3D7.1 speaker setups.
Added documentation regarding Ambisonics, 3D7.1, AmbDec config files, and
the provided ambdec presets.
Added the ability for MMDevAPI to open devices given a Device ID or GUID
string.
Added an option to the example apps to open a specific device.
Increased the maximum auxiliary send limit to 16 (up from 4). Requires
requesting them with the ALC_MAX_AUXILIARY_SENDS context creation
attribute.
Increased the default auxiliary effect slot count to 64 (up from 4).
Reduced the default period count to 3 (down from 4).
Slightly improved automatic naming for enumerated HRTFs.
Improved B-Format decoding with HRTF output.
Improved internal property handling for better batching behavior.
Improved performance of certain filter uses.
Removed support for the AL_SOFT_buffer_samples and AL_SOFT_buffer_sub_data
extensions. Due to conflicts with AL_EXT_SOURCE_RADIUS.
GStreamer is a library that allows the construction of graphs of
media-handling components, ranging from simple Ogg/Vorbis playback to
complex audio (mixing) and video (non-linear editing) processing.
Applications can take advantage of advances in codec and filter technology
transparently. Developers can add new codecs and filters by writing a
simple plugin with a clean, generic interface.
GStreamer is released under the LGPL.
This package is part of the 'ugly' plugins for GStreamer. It provides the
mpg123 plugin, which allows MP3 decoding.
Highlights
new msdk plugin for Intel's Media SDK for hardware-accelerated
video encoding and decoding on Intel graphics hardware on Windows
or Linux.
x264enc can now use multiple x264 library versions compiled for
different bit depths at runtime, to transparently provide support
for multiple bit depths.
videoscale and videoconvert now support multi-threaded scaling
and conversion, which is particularly useful with higher
resolution video.
h264parse will now automatically insert AU delimiters if needed
when outputting byte-stream format, which improves standard
compliance and is needed in particular for HLS playback on
iOS/macOS.
rtpbin has acquired bundle support for incoming streams
Major new features and changes Noteworthy new API
The video library gained support for a number of new video
formats:
GBR_12LE, GBR_12BE, GBRA_12LE, GBRA_12BE (planar 4:4:4
RGB/RGBA, 12 bits per channel) GBRA_10LE, GBRA_10BE (planar
4:4:4:4 RGBA, 10 bits per channel) GBRA (planar 4:4:4:4
ARGB, 8 bits per channel) I420_12BE, I420_12LE (planar 4:2:0
YUV, 12 bits per channel) I422_12BE,I422_12LE (planar 4:2:2
YUV, 12 bits per channel) Y444_12BE, Y444_12LE (planar 4:4:4
YUV, 12 bits per channel) VYUY (another packed 4:2:2 YUV
format)
The high-level GstPlayer API was extended with functions for
taking video snapshots and enabling accurate seeking. It can
optionally also use the still-experimental playbin3 element
now.
New Elements
msdk: new plugin for Intel's Media SDK for hardware-accelerated
video encoding and decoding on Intel graphics hardware on Windows
or Linux. This includes an H.264 encoder/decoder (msdkh264dec,
msdkh264enc), an H.265 encoder/decoder (msdkh265dec, msdkh265enc),
an MJPEG encoder/encoder (msdkmjpegdec, msdkmjpegenc), an MPEG-2
video encoder (msdkmpeg2enc) and a VP8 encoder (msdkvp8enc).
iqa is a new Image Quality Assessment plugin based on DSSIM,
similar to the old (unported) videomeasure element.
The faceoverlay element, which allows you to overlay SVG graphics
over a detected face in a video stream, has been ported from
0.10.
our ffmpeg wrapper plugin now exposes/maps the ffmpeg Opus audio
decoder (avdec_opus) as well as the GoPro CineForm HD / CFHD
decoder (avdec_cfhd), and also a parser/writer for the IVF
format (avdemux_ivf and avmux_ivf).
audiobuffersplit is a new element that splits raw audio buffers
into equal-sized buffers
audiomixmatrix is a new element that mixes N:M audio channels
according to a configured mix matrix.
The timecodewait element got renamed to avwait and can operate
in different modes now.
The opencv video processing plugin has gained a new dewarp
element that dewarps fisheye images.
ttml is a new plugin for parsing and rendering subtitles in
Timed Text Markup Language (TTML) format. For the time being
these elements will not be autoplugged during media playback
however, unless the GST_TTML_AUTOPLUG=1 environment variable
is set. Only the EBU-TT-D profile is supported at this point.
New element features and additions
x264enc can now use multiple x264 library versions compiled for
different bit depths at runtime, to transparently provide support
for multiple bit depths. A new configure parameter
--with-x264-libraries has been added to specify additional paths
to look for additional x264 libraries to load. Background is
that the libx264 library is always compile for one specific bit
depth and the x264enc element would simply support the depth
supported by the underlying library. Now we can support multiple
depths.
x264enc also picks up the interlacing mode automatically from
the input caps now and passed interlacing/TFF information
correctly to the library.
videoscale and videoconvert now support multi-threaded scaling
and conversion, which is particularly useful with higher
resolution video. This has to be enabled explicitly via the
"n-threads" property.
videorate's new "rate" property lets you set a speed factor on
the output stream
splitmuxsink's buffer collection and scheduling was rewritten
to make processing and splitting deterministic; before it was
possible for a buffer to end up in a different file chunk in
different runs. splitmuxsink also gained a new "format-location-full"
signal that works just like the existing "format-location"
signal only that it is also passed the primary stream's first
buffer as argument, so that it is possible to construct the
file name based on metadata such as the buffer timestamp or any
GstMeta attached to the buffer. The new "max-size-timecode"
property allows for timecode-based splitting. splitmuxsink will
now also automatically start a new file if the input caps change
in an incompatible way.
fakesink has a new "drop-out-of-segment" property to not drop
out-of-segment buffers, which is useful for debugging purposes.
identity gained a "ts-offset" property.
both fakesink and identity now also print what kind of metas
are attached to buffers when printing buffer details via the
"last-message" property used by gst-launch-1.0 -v.
multiqueue: made "min-interleave-time" a configurable property.
video nerds will be thrilled to know that videotestsrc's snow
is now deterministic. videotestsrc also gained some new properties
to make the ball pattern based on system time, and invert colours
each second ("animation-mode", "motion", and "flip" properties).
oggdemux reverse playback should work again now. You're welcome.
playbin3 and urisourcebin now have buffering enabled by default,
and buffering message aggregation was fixed.
tcpclientsrc now has a "timeout" property
appsink has gained support for buffer lists. For backwards
compatibility reasons users need to enable this explicitly with
gst_app_sink_set_buffer_list_support(), however. Once activated,
a pulled GstSample can contain either a buffer list or a single
buffer.
splitmuxsrc reverse playback was fixed and handling of sparse
streams, such as subtitle tracks or metadata tracks, was improved.
matroskamux has acquired support for muxing G722 audio; it also
marks all buffers as keyframes now when streaming only audio,
so that tcpserversink will behave properly with audio-only
streams.
qtmux gained support for ProRes 4444 XQ, HEVC/H.265 and CineForm
(GoPro) formats, and generally writes more video stream-related
metadata into the track headers. It is also allows configuration
of the maximum interleave size in bytes and time now. For
fragmented mp4 we always write the tfdt atom now as required
by the DASH spec.
qtdemux supports FLAC, xvid, mp2, S16L and CineForm (GoPro)
tracks now, and generally tries harder to extract more video-related
information from track headers, such as colorimetry or interlacing
details. It also received a couple of fixes for the scenario
where upstream operates in TIME format and feeds chunks to
qtdemux (e.g. DASH or MSE).
audioecho has two new properties to apply a delay only to certain
channels to create a surround effect, rather than an echo on
all channels. This is useful when upmixing from stereo, for
example. The "surround-delay" property enables this, and the
"surround-mask" property controls which channels are considered
surround sound channels in this case.
webrtcdsp gained various new properties for gain control and
also exposes voice activity detection now, in which case it
will post "voice-activity" messages on the bus whenever the
voice detection status changes.
The decklink capture elements for Blackmagic Decklink cards
have seen a number of improvements:
decklinkvideosrc will post a warning message on "no signal"
and an info message when the signal lock has been (re)acquired.
There is also a new read-only "signal" property that can
be used to query the signal lock status. The GAP flag will
be set on buffers that are captured without a signal lock.
The new drop-no-signal-frames will make decklinkvideosrc
drop all buffers that have been captured without an input
signal. The "skip-first-time" property will make the source
drop the first few buffers, which is handy since some devices
will at first output buffers with the wrong resolution
before they manage to figure out the right input format and
decide on the actual output caps.
decklinkaudiosrc supports more than just 2 audio channels
now.
The capture sources no longer use the "hardware" timestamps
which turn out to be useless and instead just use the
pipeline clock directly.
srtpdec now also has a readonly "stats" property, just like
srtpenc.
rtpbin gained RTP bundle support, as used by e.g. WebRTC. The
first rtpsession will have a rtpssrcdemux element inside splitting
the streams based on their SSRC and potentially dispatch to a
different rtpsession. Because retransmission SSRCs need to be
merged with the corresponding media stream the ::on-bundled-ssrc
signal is emitted on rtpbin so that the application can find
out to which session the SSRC belongs.
rtprtxqueue gained two new properties exposing retransmission
statistics ("requests" and "fulfilled-requests")
kmssink will now use the preferred mode for the monitor and
render to the base plane if nothing else has set a mode yet.
This can also be done forcibly in any case via the new
"force-modesetting" property. Furthermore, kmssink now allows
only the supported connector resolutions as input caps in order
to avoid scaling or positioning of the input stream, as kmssink
can't know whether scaling or positioning would be more appropriate
for the use case at hand.
waylandsink can now take DMAbuf buffers as input in the presence
of a compatible Wayland compositor. This enables zero-copy
transfer from a decoder or source that outputs DMAbuf. It will
also set surface opacity hint to allow better rendering
optimization in the compositor.
udpsrc can be bound to more than one interface when joining a
multicast group, this is done by giving a comma separate list
of interfaces such as multicast-iface="eth0,eth1".
Plugin moves
dataurisrc moved from gst-plugins-bad to core
The rawparse plugin containing the rawaudioparse and rawvideoparse
elements moved from gst-plugins-bad to gst-plugins-base. These
elements supersede the old videoparse and audioparse elements.
They work the same, with just some minor API changes. The old
legacy elements still exist in gst-plugins-bad, but may be
removed at some point in the future.
timecodestamper is an element that attaches time codes to video
buffers in form of GstVideoTimeCodeMetas. It had a "clock-source"
property which has now been removed because it was fairly useless
in practice. It gained some new properties however: the
"first-timecode" property can be used to set the inital timecode;
alternatively "first-timecode-to-now" can be set, and then the
current system time at the time the first buffer arrives is
used as base time for the time codes.
Plugin removals
The mad mp1/mp2/mp3 decoder plugin was removed from gst-plugins-ugly,
as libmad is GPL licensed, has been unmaintained for a very
long time, and there are better alternatives available. Use the
mpg123audiodec element from the mpg123 plugin in gst-plugins-ugly
instead, or avdec_mp3 from the gst-libav module which wraps the
ffmpeg library. We expect that we will be able to move mp3
decoding to gst-plugins-good in the next cycle seeing that most
patents around mp3 have expired recently or are about to expire.
The mimic plugin was removed from gst-plugins-bad. It contained
a decoder and encoder for a video codec used by MSN messenger
many many years ago (in a galaxy far far away). The underlying
library is unmaintained and no one really needs to use this
codec any more. Recorded videos can still be played back with
the MIMIC decoder in gst-libav.
Miscellaneous API additions
Request pad name templates passed to gst_element_request_pad()
may now contain multiple specifiers, such as e.g. src_%u_%u.
gst_buffer_iterate_meta_filtered() is a variant of
gst_buffer_iterate_meta() that only returns metas of the requested
type and skips all other metas.
gst_pad_task_get_state() gets the current state of a task in a
thread-safe way.
gst_uri_get_media_fragment_table() provides the media fragments
of an URI as a table of key=value pairs.
gst_print(), gst_println(), gst_printerr(), and gst_printerrln()
can be used to print to stdout or stderr. These functions are
similar to g_print() and g_printerr() but they also support all
the additional format specifiers provided by the GStreamer
logging system, such as e.g. GST_PTR_FORMAT.
a GstParamSpecArray has been added, for elements who want to
have array type properties, such as the audiomixmatrix element
for example. There are also two new functions to set and get
properties of this type from bindings:
gst_util_set_object_array() gst_util_get_object_array()
various helper functions have been added to make it easier to
set or get GstStructure fields containing caps-style array or
list fields from language bindings (which usually support
GValueArray but don't know about the GStreamer specific fundamental
types):
gst_structure_get_array() gst_structure_set_array()
gst_structure_get_list() gst_structure_set_list()
a new 'dynamic type' registry factory type was added to register
dynamically loadable GType types. This is useful for automatically
loading enum/flags types that are used in caps, such as for
example the GstVideoMultiviewFlagsSet type used in multiview
video caps.
there is a new GstProxyControlBinding for use with GstController.
This allows proxying the control interface from one property
on one GstObject to another property (of the same type) in
another GstObject. So e.g. in parent-child relationship, one
may need to call gst_object_sync_values() on the child and have
a binding (set elsewhere) on the parent update the value. This
is used in glvideomixer and glsinkbin for example, where
sync_values() on the child pad or element will call sync_values()
on the exposed bin pad or element.
Note that this doesn't solve GObject property forwarding, that
must be taken care of by the implementation manually or using
GBinding.
gst_base_parse_drain() has been made public for subclasses to
use.
`gst_base_sink_set_drop_out_of_segment()' can be used by
subclasses to prevent GstBaseSink from dropping buffers that
fall outside of the segment.
gst_calculate_linear_regression() is a new utility function to
calculate a linear regression.
gst_debug_get_stack_trace is an easy way to retrieve a stack
trace, which can be useful in tracer plugins.
allocators: the dmabuf allocator is now sub-classable, and there
is a new GST_CAPS_FEATURE_MEMORY_DMABUF define.
video decoder subclasses can use the newly-added function
gst_video_decoder_allocate_output_frame_with_params() to pass
a GstBufferPoolAcquireParams to the buffer pool for each buffer
allocation.
the video time code API has gained a dedicated GstVideoTimeCodeInterval
type plus related API, including functions to add intervals to
timecodes.
There is a new libgstbadallocators-1.0 library in gst-plugins-bad,
which may go away again in future releases once the
GstPhysMemoryAllocator interface API has been validated by more
users and was moved to libgstallocators-1.0 from gst-plugins-base.
GstPlayer
New API has been added to:
get the number of audio/video/subtitle streams:
gst_player_media_info_get_number_of_streams()
gst_player_media_info_get_number_of_video_streams()
gst_player_media_info_get_number_of_audio_streams()
gst_player_media_info_get_number_of_subtitle_streams()
enable accurate seeking: gst_player_config_set_seek_accurate()
and gst_player_config_get_seek_accurate()
get a snapshot image of the video in RGBx, BGRx, JPEG, PNG or
native format: gst_player_get_video_snapshot()
selecting use of a specific video sink element
(gst_player_video_overlay_video_renderer_new_with_sink())
If the environment variable GST_PLAYER_USE_PLAYBIN3 is set,
GstPlayer will use the still-experimental playbin3 element and
the GstStreams API for playback.
Miscellaneous changes
video caps for interlaced video may contain an optional
"field-order" field now in the case of interlaced-mode=interleaved
to signal that the field order is always the same throughout
the stream. This is useful to signal to muxers such as mp4mux.
The new field is parsed from/to GstVideoInfo of course.
video decoder and video encoder base classes try harder to proxy
interlacing, colorimetry and chroma-site related fields in caps
properly.
The buffer stored in the PROTECTION events is now left unchanged.
This is a change of behaviour since 1.8, especially for the
mssdemux element which used to decode the base64 parsed data
wrapped in the protection events emitted by the demuxer.
PROTECTION events can now be injected into the pipeline from
the application; source elements deriving from GstBaseSrc will
forward those downstream now.
The DASH demuxer is now correctly parsing the MSPR-2.0
ContentProtection nodes and emits Protection events accordingly.
Applications relying on those events might need to decode the
base64 data stored in the event buffer before using it.
The registry can now also be disabled by setting the environment
variable GST_REGISTRY_DISABLE=yes, with similar effect as the
GST_DISABLE_REGISTRY compile time switch.
Seeking performance with gstreamer-vaapi based decoders was
improved. It would recreate the decoder and surfaces on every
seek which can be quite slow.
more robust handling of input caps changes in videoaggregator-based
elements such as compositor.
Lots of adaptive streaming-related fixes across the board (DASH,
MSS, HLS). Also:
mssdemux, the Microsoft Smooth Streaming demuxer, has seen
various fixes for live streams, duration reporting and
seeking.
The DASH manifest parser now extracts MS PlayReady
ContentProtection objects from manifests and sends them
downstream as PROTECTION events. It also supports multiple
Period elements in external xml now.
gst-libav was updated to ffmpeg 3.3 but should still work with
any 3.x version.
GstEncodingProfile has been generally enhanced so it can, for
example, be used to get possible profiles for a given file
extension. It is now possible to define profiles based on element
factory names or using a path to a .gep file containing a
serialized profile.
audioconvert can now do endianness conversion in-place. All
other conversions still require a copy, but e.g. sign conversion
and a few others could also be implemented in-place now.
The new, experimental playbin3 and urisourcebin elements got
many bugfixes and improvements and should generally be closer
to a full replacement of the old elements.
interleave now supports > 64 channels.
OpenCV elements, grabcut and retinex has been ported to use
GstOpencvVideoFilter base class, increasing code reuse and
fixing buffer map/unmap issues. Redundant copie of images has
been removed in edgedetect, cvlaplace and cvsobel. This comes
with various cleanup and Meson support.
OpenGL integration
As usual the GStreamer OpenGL integration library has seen
numerous fixes and performance improvements all over the place,
and is hopefully ready now to become API stable and be moved
to gst-plugins-base during the 1.14 release cycle.
The GStreamer OpenGL integration layer has also gained support
for the Vivante EGL FB windowing system, which improves performance
on platforms such as Freescale iMX.6 for those who are stuck
with the proprietary driver. The qmlglsink element also supports
this now if Qt is used with eglfs or wayland backend, and it
works in conjunction with gstreamer-imx of course.
various qmlglsrc improvements
Tracing framework and debugging improvements
New tracing hooks have been added to track GstMiniObject and
GstObject ref/unref operations.
The memory leaks tracer can optionally use this to retrieve
stack traces if enabled with e.g.
GST_TRACERS=leaks(filters="GstEvent,GstMessage",stack-traces-flags=full)
The GST_DEBUG_FILE environment variable, which can be used to
write the debug log output to a file instead of printing it to
stderr, can now contain a name pattern, which is useful for
automated testing and continuous integration systems. The
following format specifiers are supported:
%p: will be replaced with the PID %r: will be replaced with
a random number, which is useful for instance when running
two processes with the same PID but in different containers.
Tools
gst-inspect-1.0 can now list elements by type with the new
--types command-line option, e.g. gst-inspect-1.0 --types=Audio/Encoder
will show a list of audio encoders.
gst-launch-1.0 and gst_parse_launch() have gained a new operator
(:) that allows linking all pads between two elements. This is
useful in cases where the exact number of pads or type of pads
is not known beforehand, such as in the uridecodebin : encodebin
scenario, for example. In this case, multiple links will be
created if the encodebin has multiple profiles compatible with
the output of uridecodebin.
gst-device-monitor-1.0 now shows a gst-launch-1.0 snippet for
each device that shows how to make use of it in a gst-launch-1.0
pipeline string.
GStreamer RTSP server
The RTSP server now also supports Digest authentication in
addition to Basic authentication.
The GstRTSPClient class has gained a pre-*-request signal and
virtual method for each client request type, emitted in the
beginning of each rtsp request. These signals or virtual methods
let the application validate the requests, configure the
media/stream in a certain way and also generate error status
codes in case of an error or a bad request.
GStreamer VAAPI
GstVaapiDisplay now inherits from GstObject, thus the VA display
logging messages are better and tracing the context sharing is
more readable.
When uploading raw images into a VA surfaces now VADeriveImages
are tried fist, improving the upload performance, if it is
possible.
The decoders and the post-processor now can push dmabuf-based
buffers to downstream under certain conditions. For example:
GST_GL_PLATFORM=egl gst-play-1.0 video-sample.mkv
--videosink=glimagesink
Refactored the wrapping of VA surface into gstreamer memory,
adding lock when mapping and unmapping, and many other fixes.
Now vaapidecodebin loads vaapipostproc dynamically. It is
possible to avoid it usage with the environment variable
GST_VAAPI_DISABLE_VPP=1.
Regarding encoders: they have primary rank again, since they
can discover, in run-time, the color formats they can use for
upstream raw buffers and caps renegotiation is now possible.
Also the encoders push encoding info downstream via tags.
About specific encoders: added constant bit-rate encoding mode
for VP8 and H265 encoder handles P010_10LE color format.
Regarding decoders, flush operation has been improved, now the
internal VA encoder is not recreated at each flush. Also there
are several improvements in the handling of H264 and H265
streams.
VAAPI plugins try to create their on GstGL context (when
available) if they cannot find it in the pipeline, to figure
out what type of VA Display they should create.
Regarding vaapisink for X11, if the backend reports that it is
unable to render correctly the current color format, an internal
VA post-processor, is instantiated (if available) and converts
the color format.
GStreamer Editing Services and NLE
Enhanced auto transition behaviour
Fix some races in nlecomposition
Allow building with msvc
Added a UNIX manpage for ges-launch
API changes:
Added ges_deinit (allowing the leak tracer to work properly)
Added ges_layer_get_clips_in_interval Finally hide internal
symbols that should never have been exposed
GStreamer validate
Port gst-validate-launcher to python 3
gst-validate-launcher now checks if blacklisted bugs have been
fixed on bugzilla and errors out if it is the case
Allow building with msvc
Add ability for the launcher to run GStreamer unit tests
Added a way to activate the leaks tracer on our tests and fix
leaks
Make the http server multithreaded
New testsuite for running various test scenarios on the DASH-IF
test vectors
GStreamer Python Bindings
Overrides has been added for IntRange, Int64Range, DoubleRange,
FractionRange, Array and List. This finally enables Python
programmers to fully read and write GstCaps objects.
Build and Dependencies
Meson build files are now disted in tarballs, for jhbuild and
so distro packagers can start using it. Note that the Meson-based
build system is not 100% feature-equivalent with the autotools-based
one yet.
Some plugin filenames have been changed to match the plugin
names: for example the file name of the encoding plugin in
gst-plugins-base containing the encodebin element was
libgstencodebin.so and has been changed to libgstencoding.so.
This affects only a handful of plugins across modules.
Developers who install GStreamer from source and just do make
install after updating the source code, without doing make
uninstall first, will have to manually remove the old installed
plugin files from the installation prefix, or they will get
'Cannot register existing type' critical warnings.
Most of the docbook-based documentation (FAQ, Application
Development Manual, Plugin Writer's Guide, design documents)
has been converted to markdown and moved into a new gst-docs
module. The gtk-doc library API references and the plugins
documentation are still built as part of the source modules
though.
GStreamer core now optionally uses libunwind and libdw to
generate backtraces. This is useful for tracer plugins used
during debugging and development.
There is a new libgstbadallocators-1.0 library in gst-plugins-bad
(which may go away again in future releases once the
GstPhysMemoryAllocator interface API has been validated by more
users).
gst-omx and gstreamer-vaapi modules can now also be built using
the Meson build system.
The qtkitvideosrc element for macOS was removed. The API is
deprecated since 10.9 and it wasn't shipped in the binaries
since a few releases.
Platform-specific improvements Android
androidmedia: add support for VP9 video decoding/encoding and
Opus audio decoding (where supported)
OS/X and iOS
avfvideosrc, which represents an iPhone camera or, on a Mac, a
screencapture session, so far allowed you to select an input
device by device index only. New API adds the ability to select
the position (front or back facing) and device-type (wide angle,
telephoto, etc.). Furthermore, you can now also specify the
orientation (portrait, landscape, etc.) of the videostream.
Bugs fixed in 1.12
More than 635 bugs have been fixed during the development of 1.12.
This list does not include issues that have been cherry-picked into
the stable 1.10 branch and fixed there as well, all fixes that ended
up in the 1.10 branch are also included in 1.12.
This list also does not include issues that have been fixed without
a bug report in bugzilla, so the actual number of fixes is much
higher. Stable 1.12 branch
After the 1.12.0 release there will be several 1.12.x bug-fix
releases which will contain bug fixes which have been deemed suitable
for a stable branch, but no new features or intrusive changes will
be added to a bug-fix release usually. The 1.12.x bug-fix releases
will be made from the git 1.12 branch, which is a stable branch.
1.12.0
1.12.0 was released on 4th May 2017.
1.12.1
The first 1.12 bug-fix release (1.12.1) was released on 20 June
2017. This release only contains bugfixes and it should be safe to
update from 1.12.x. Major bugfixes in 1.12.1
Various fixes for crashes, assertions, deadlocks and memory
leaks Fix for regression when seeking to the end of ASF files
Fix for regression in (raw)videoparse that caused it to omit
video metadata Fix for regression in discoverer that made it
show more streams than actually available Numerous bugfixes to
the adaptive demuxer base class and the DASH demuxer Various
playbin3/urisourcebin related bugfixes Vivante DirectVIV (imx6)
texture uploader works with single-plane (e.g. RGB) video formats
now Intel Media SDK encoder now outputs valid PTS and keyframe
flags OpenJPEG2000 plugin can be loaded again on MacOS and
correctly displays 8 bit RGB images now Fixes to DirectSound
source/sink for high CPU usage and wrong latency/buffer size
calculations gst-libav was updated to ffmpeg n3.3.2 ... and
many, many more!
1.12.2
The second 1.12 bug-fix release (1.12.2) was released on 14 July
2017. This release only contains bugfixes and it should be safe to
update from 1.12.x. Major bugfixes in 1.12.2
Various fixes for crashes, assertions, deadlocks and memory
leaks Regression fix for playback of live HLS streams Regression
fix for crash when playing back a tunneled RTSP stream Regression
fix for playback of RLE animations in MOV containers Regression
fix for RTP GSM payloading producing corrupted output Major
bugfixes to the MXF demuxer, mostly related to seeking and fixes
to the frame reordering handling in the MXF muxer and demuxer
Fix for playback of mono streams on MacOS More fixes for index
handling of ASF containers Various fixes to adaptivedemux, DASH
and HLS demuxers Fix deadlock in gstreamer-editing-services
during class initialization ... and many, many more!
1.25.5
------
- Avoid another buffer read overflow in the ID3 parser on 32 bit platforms
(bug 254).
1.25.4
------
- Better configure checks for i?86-apple-darwin (bug 253).
- libmpg123:
-- Prevent harmless call to memcpy(NULL, NULL, 0).
-- More early checking of ID3v2 encoding values to avoid bogus text being
stored.
1.25.3
------
- libmpg123:
-- Better checks for xrpnt overflow in III_dequantize_sample() before each
use, avoiding false positives and catching cases that were rendered
harmless by alignment-enlarged buffers.
Changelog:
PulseAudio 11.0 release notes
Changes at a glance
Support for newer AirPlay hardware
USB and bluetooth devices preferred over internal sound cards
The default sink and source configuration is remembered better
Bluetooth HSP headset role implemented
Bluetooth HFP audio gateway role implemented (requires oFono)
Bluetooth HSP audio gateway and HFP hands-free unit roles can be enabled simultaneously
Upmixing can now be disabled without bad side effects
Avoid having unavailable sinks or sources as the default
Option to avoid resampling more often
Option to automatically switch bluetooth profile to HSP more often
Better latency regulation in module-loopback
Changed module argument names in module-ladspa-sink and module-virtual-surround-sink
Fixed input device handling on Windows
Improved bluetooth MTU configuration (warning! this causes some hardware to not work any more, see the details below for how to fix it)
GNU Hurd support
Applications can request LADSPA or virtual surround filtering for their streams
Support for 32-bit applications on 64-bit systems in padsp
ver 0.20.10 (2017/08/24)
* decoder
- ffmpeg: support MusicBrainz ID3v2 tags
* tags
- aiff: fix FORM chunk size endianess (is big-endian)
* mixer
- osx: add a mixer for OSX.
* fix crash when resuming playback before decoder is ready
* fix crash on Windows
Grip is a GTK-based CD-player and CD-ripper / MP3 encoder. It has the ripping
capabilities of cdparanoia built in, but can also use external rippers (such as
cdda2wav). Encoder presets are provided for lame, bladeenc, l3enc, xingmp3enc,
mp3encode, gogo)
- new option(--tag) to add named tags (iTunes '----')
- faster and better short/long window type switch
- Don't build DRM(Digital Radio Mondiale) by default.
Use ./configure --enable-drm to build DRM version.
- fixed bugs
* rounding in QuantizeReflectionCoeffs (tns.c)
* use +60 value for scalefactor.
* use clipped diff instead of original value (huffman.c)
Switch to meson build framework since autoconf one was removed.
libmpdclient 2.13 (2017/07/25)
* fix build with meson > 0.38.1
* fix connect error "Operation now in progress"
libmpdclient 2.12 (2017/07/21)
* support MPD protocol 0.21
- support tag "OriginalDate"
- command "tagtypes" plus "disable", "enable", "clear"
* support MPD protocol 0.20
- support "plchanges" and "plchangesposid" with range
* support MPD protocol 0.19
- commands "addtagid", "cleartagid"
- command "listfiles"
- grouping for "list" and "count"
- tag "AlbumSort"
- "seekid" with float time
* use relative #include paths to avoid clashes with other libmpdclient copies
* build with Meson instead of autotools
libopenmpt 0.2-beta27 (2017-08-12)
[Bug] libmodplug: The CSoundFile::Read function in the emulated libmodplug C++ API returned the wrong value, causing qmmp (and possibly other software) to crash.
The ProTracker note delay quirk should not retrigger already stopped samples (fixes "Subi loses the Cops" by Subi).
ProTracker portamento between already stopped sample and another sample kept playing the old sample (fixes "anarchy-main" by Jester).
Playback fix for instruments with custom tunings and transposed note maps in MPTM format.
ProTracker quirk: If there is a note with a out-of-range note delay, it is played on the next row (with an instant portamento), unless there is a new note on that row.
ProTracker quirk: Apply tempo changes after the first tick of the row.
libopenmpt 0.2-beta26 (2017-07-07)
[Bug] Possible crashes with malformed PLM and PSM files.
[Bug] mktime() and localtime() were used for song date parsing. These functions are not guaranteed to be thread-safe by the standard. Furthermore, some standard library implementations are buggy and may cause the program to abort in out-of-memory situations. These functions are now no longer used.
Loops shorter than four sample points at the end of a sample could cause the sample data before the loop to become corrupted.
libopenmpt 0.2-beta25 (2017-07-02)
PT36: Enable VBlank timing as specified in file and read song comment.
M15: Loosen heuristics to allow a few more semi-damaged files to play.
MT2: If there were instruments with both sample and plugin assignments, sample data was not read correctly.
Set PKG_SYSCONFSUBDIR where appropriate, and use {MAKE,OWN}_DIRS to
create the directory tree under ${PKG_SYSCONFDIR} instead of using
INSTALLATION_DIRS.
Bump the PKGREVISION of packages that changed due to changes in the
package install scripts.