GStreamer 1.8.0 was released on 24 March 2016.
The GStreamer team is proud to announce a new major feature release
in the stable 1.x API series of your favourite cross-platform
multimedia framework!
As always, this release is again packed with new features, bug fixes
and other improvements.
See https://gstreamer.freedesktop.org/releases/1.8/ for the latest
version of this document.
Highlights
Hardware-accelerated zero-copy video decoding on Android
New video capture source for Android using the android.hardware.Camera
API
Windows Media reverse playback support (ASF/WMV/WMA)
New tracing system provides support for more sophisticated
debugging tools
New high-level GstPlayer playback convenience API
Initial support for the new Vulkan API, see Matthew Waters'
blog post for more details
Improved Opus audio codec support: Support for more than two
channels; MPEG-TS demuxer/muxer can now handle Opus; sample-accurate
encoding/decoding/transmuxing with Ogg, Matroska, ISOBMFF
(Quicktime/MP4), and MPEG-TS as container; new codec utility
functions for Opus header and caps handling in pbutils library.
The Opus encoder/decoder elements were also moved to gst-plugins-base
(from -bad), and the opus RTP depayloader/payloader to -good.
GStreamer VAAPI module now released and maintained as part of
the GStreamer project
Asset proxy support in the GStreamer Editing Services
No relevant changes for the ones we have in pkgsrc, I think.
Changelog:
Core
Release v1.1.1
A52 Output plugin
a52: Fix usage of obsoleted avcodec_*_frame() functions
a52: Make compatible with ffmpeg 3.0
a52: fix reported input channel order
Public Parrot Hack rate converter
pph: include config.h from rate_speexrate.c
Speex PCM plugin
speex: Add missing include config.h
Core
Release v1.1.1
alsabat: add tinyalsa support
alsabat: add standalone mode
aconnect: Show sequencer sound card numer/PID via aconnect
ALSA Control (alsactl)
alsactl: init/ca0106, init/hda - use CTL{values} instead CTL{value}
alsactl: remove debug line in set_ctl_values()
aconnect
aconnect: Show sequencer sound card numer/PID via aconnect
alsa-info.sh
alsa-info: add alsa-info.sh.1 to EXTRA_DIST
alsa-info.sh: add man page
amixer
amixer: skip showing asoc tlv byte controls
aplay/arecord
aplay/arecord: handle parsing errors of parameter values
bat (basic audio tester)
alsabat: add tinyalsa support
alsabat: move alsa process to a single block
alsabat: use general data generator function
alsabat: clean return value for playback and capture threads
alsabat: use general function for wav header update
alsabat: refactoring alsa capture thread
alsabat: use variable for thread return value
alsabat: fix fopen and messages
alsabat: fix misusing of errno
alsabat: add bash test script
alsabat: add standalone mode
alsabat: add default device name for playback and capture
alsabat: truncate sample frames for faster FFT analysis
alsabat: rename to avoid naming conflict
bat: Don't pass incompatible function pointers to pthread_cleanup_push()
bat: Avoid local signal.h file
I got many patches integrated upstream, still more to go.
Core
Release v1.1.1
Define some types if missing
Define EBADFD in terms of EBADF if it doesn't exist.
Control API
control: keep consistent usage of assertion
control: initialize element channel values according to identification number at adding a new element
control: fulfill a description about element type with integer64
coverity fixes
control: add missing asserts to ctl_elem_set functions
PCM API
pcm: fix 'unable to create IPC shm instance' caused by fork from a thread
Introduce bswap.h for portable definitions of byte swap macros.
coverity fixes
pcm_hw: fix possible memory leak (coverity)
pcm: simple: Fix asserts
Sequencer API
seq: Provide sequencer sound card number / PID via alsa-lib
Timer API
Only use F_SETSIG fcntl where it exists.
Topology API
topology: Add support for widget byte controls
topology: add support for CTL access flags to config file
topology: add support for pasring external ops in conf files
topology: Add ops to bytes control.
topology: Remove unnecessary includes
topology: fix debug output to print correct "max" value.
topology: Quit and show error message on big-endian machines
topology: Not compare a for loop iterator with ABI __le32 variables
topology: Fix comparison of unsigned expression < 0
topology: Remove unused variables
topology: Remove unused function write_data_block()
topology: open topology files with O_TRUNC
topology: Add missing include sys/stat.h
Use Case Manager API
Use alphasort where versionsort is not available.
/include/Makefile.am
Introduce bswap.h for portable definitions of byte swap macros.
Define some types if missing
ALSA Server
coverity fixes
Compatibility routines
Add more compatibility defines.
Introduce bswap.h for portable definitions of byte swap macros.
Define some types if missing
Configuration
Use alphasort where versionsort is not available.
config files - do not include ucm/topology configuration when not requested
Kernel Headers
seq: Provide sequencer sound card number / PID via alsa-lib
Update include/sound/asequencer.h from 4.6-pre kernel uapi
Update include/sound/asound.h from 4.6-pre kernel uapi
abcde 2.7.2
* When using musicbrainz, don't assume that there will be release
events attached to a particular CD release. Bug fix for the addition
of year information support in 2.7.1. Thanks to Ed Oehler and Alan W.
Kerr for debugging help.
* Support for output to the Matroska container (mka). Encoder
is FFmpeg (or avconv). Typical conf file syntax would be:
MKAENCODERSYNTAX=ffmpeg
FFMPEG=ffmpeg
FFMPEGENCOPTS="-c:a ac3 -b:a 448k"
OUTPUTTYPE="mka"
Thanks to Shantiq and Fakeoutdoorsman of the Ubuntu Forums
for the idea.
* Add id3tag mp3 tagger as this is the tagger available to
OpenBSD users. Thanks to Christopher Zimmermann for the
notification and patch.
* Allow for cddb response 500. Thanks again to Von Welch for the
bug report and patch. This closes Issue 26:
http://abcde.einval.com/bugzilla/show_bug.cgi?id=26
* Fix for 'expansion of $REDIR' bug on MacOSX. Thanks to Von Welch
for the bug report. This closes Issue 22:
http://abcde.einval.com/bugzilla/show_bug.cgi?id=22
* Makefile adjusted to allow the sample abcde.conf file to be
installed by default to /etc rather than $(prefix)/etc.
Thanks to Volker Schmidt from archlinux for the bug report:
https://bugs.archlinux.org/task/46671
* Allow getalbumart to correctly place cover image when single
track is selected. Thanks to Nino Burini for the bug report
and also the fix. This closes Issue 25:
http://abcde.einval.com/bugzilla/show_bug.cgi?id=25
ver 0.19.14 (2016/03/18)
* decoder
- dsdiff: fix off-by-one buffer overflow
- opus: limit tag size to 64 kB
* archive
- iso9660: fix buffer overflow
* fix quadratic runtime bug in the tag pool
* fix build failures on non-glibc builds due to constexpr Mutex
Changelog:
Changes for libmusicbrainz 5.1.0
--------------------------------
- Fix LMB-33 - Handle 'ended' element in 'relation'
- Fix LMB-34 - Remove non-free XML parser and replace with libxml2
- Add support for cross-compilation and building out of tree
Changelog:
2.4.2 - 2016-02-21 :
====================
* Fix a crash when renaming directories
* Fix input of new file names in the file area
* Add case-insensitive sorting of the artist/album list
* Improve searching within UTF-8 strings
* Handle UTF-8 strings when sorting the file list
* Fix display of the Monkey's Audio file type
* Avoid locale-sensitive tag reading issues (especially for FLAC and Ogg)
* Only install the metainfo file for the Nautilus extension if requested
* Refactor reading of Ogg and FLAC tags
* Refactor Monkey's Audio and Musepack header reading
2.4.1 - 2016-01-25 :
====================
* James Cowgill’s Opus parsing crash fix
* James Cowgill’s playlist writing crash fix
* Handle FLAC files with an invalid sample rate
* Fix generated playlist order
* Consistently use the GLib filename encoding
* Extensive refactoring of locale and encoding handling
* Improve fallback legacy locale detection
* Dennis Björklund’s CDDB fill fields fix
* Fix CDDB search fields and categories settings handling
* Use the correct encoding when writing ID3v2.4 tags
* Fix a linking error on Mac OS X
* Improve illegal character logic, especially for trailing characters
* Remove several outdated and unnecessary Windows compatibility wrappers
* Mario Blättermann’s German help translation update
* Marcus Gisslén’s Swedish help translation
* Josef Andersson’s Swedish translation update
* Мирослав Николић’s Serbian translation update
* Jordi Mas’ Catalan translation update
* Seong-ho Cho’s Korean translation update
* Daniel Mustieles’ Spanish translation updates
* Marek Černocký’s Czech translation update
* Åka Sikrom’s Norwegian bokmål translation update
* Piotr Drąg’s Polish translation update
2.4.0 - 2015-08-29 :
====================
* Correct the disc number format specifier to %z
* Fix multiple CDDB searches during a single run
* Improve handling of tags with empty images
* Link to the online application help on Windows
* Remember the paned position in the main window between restarts
* Improve handling of file list selection
* Fix a crash when deleting files from within the application
* Fix a crash when reading FLAC files
* Fix a crash when navigating the directory browser with the keyboard
* Remove a few internal FIXMEs with some refactoring
* Updated British English translation
* Wolfgang Stöggl’s German translation update
* Gábor Kelemen’s Hungarian help translation
* Gábor Kelemen’s Hungarian translation update
* Alexandre Franke’s French translation updates
* Muhammet Kara’s Turkish translation update
* Daniel Mustieles’ Spanish translation updates
* Marek Černocký’s Czech translation updates
* Jordi Mas’ Catalan translation update
* Piotr Drąg’s Polish translation updates
2.3.7 - 2015-05-17 :
====================
* Add preliminary support for HiDPI displays
* Fix missing libepoxy DLL in the Windows installer
* Convert several widgets to use templates
* Use new G_DEFINE_TYPE_WITH_PRIVATE support in GObject
* Marek Černocký’s Czech translation update
* Alexandre Franke’s French translation update
* Piotr Drąg’s Polish translation update
2.3.6 - 2015-04-19 :
====================
* Fix renaming files in the scanner
* Improve minimum size of log area
* Improve several UI strings
* Ekaterina Gerasimova’s symbolic application icon, and improvements to
Mallard help
* Add several comments for translators
* Add a test for the file renaming code
* Fix compiler warnings due to switch-enum warning when disabling tag
support
* Improvements to several internal string-handling functions
* Remove setting for controlling the maximum number of log lines
* Remove quit confirmation dialog
* Further refactoring of internal file list code
* Alexandre Franke’s French translation update
* Piotr Drąg’s Polish translation update
* Updated British English translation
* Marek Černocký’s Czech translation updates
* Jordi Mas’ Catalan help translation
* Jordi Mas’ Catalan translation updates
* Samir Ribic’s Bosnian translation
2.3.5 - 2015-03-09 :
====================
* Fix changing tag fields containing certain characters
* Fix for truncated CDDB results
* Fix changing the artwork description
* Avoid a crash when reading FLAC files with no tags
* Avoid a crash when reading invalid MP3 files
* Further refactoring of the internal file list code
* Add several unit tests
* Handle empty descriptions in ID3 tag artwork
* Build against the patched Debian version of id3lib
* Fix compilation when FLAC support is disabled
* Avoid a runtime warning in the file browser
* Fix a couple of Coverity warnings
* Fix string format sign warnings with GCC 5.0
* Further improvements to compiler warning flag checking
* Marek Černocký’s Czech translation updates
* Piotr Drąg’s Polish translation updates
* Åka Sikrom’s Norwegian bokmål translation update
* Osman Karagöz’s Turkish translation update
2.3.4 - 2014-02-06 :
====================
* Fix crash when saving FLAC tags
* Port to use AX_COMPILER_FLAGS for improved compiler warning checks
* Many compiler warning fixes, discovered after enabling extra warnings
* Fixes for two Coverity warnings
* Improve validation of Vorbis artwork and MIME types
* Refactoring of internal file list code
* Relicense id3lib wrapper to GPLv2+
* Christian Kirbach’s German help translation
* Marek Černocký’s Czech help translation
* Daniel Mustieles’ Spanish translation update
2.3.3 - 2014-12-31 :
====================
* Add album artist support for WavPack and APE tags
* Add channel mask reading support for WavPack tags
* Reduce memory usage when copying cover art, such as when modifying tags
which contain images
* Use GIO when reading and writing FLAC, ID3v2.4 and WavPack tags
* Use GIO for reading and writing list store files
* Fix an error check when saving WavPack tags
* Clear empty fields when saving WavPack tags
* Allow the search dialog tree view to expand to fill the dialog
* Fix the disc number preferences controls
* Fix a crash when migrating configuration directories
* Fix a double unref when renaming files
* Fix memory leaks in the CDDB dialog, Ogg tagging code, Speex tagging
code, FLAC tagging code, images tree view and the WavPack tagging code
* Fix stripping of disc number fields in ID3v2.4 tags
* Fix Ctrl-clicking to modify the file list selection
* Add an automated test for file type detection
* Refactoring of internal file list code
* Refactoring of FLAC and WavPack tagging code
* Relicense all code (excluding the Nautilus extension) under the GNU GPL
version 2 or later
* Мирослав Николић’s Serbian translation update
* Rafael Ferrera’s Brazilian Portuguese translation update
* Balázs Úr’s Hungarian translation update
* Marek Černocký’s Czech translation updates
* Muhammet Kara’s Turkish translation update
2.3.2 - 2014-11-30 :
====================
* Fix a crash when reading empty FLAC tags
* Fix an assertion failure when reading empty ID3 tags
* Fix incorrect track durations when searching CDDB
* Fix the log view being forcibly shown on startup
* Fix launching of external applications
* Fix many memory leaks in the CDDB search dialog
* Improve setting handling for the process fields scanner
* Improve file list selection handling
* Allow the tag area images tree view to expand if space is available
* Improve ID3v2 handling with Ogg files
* Add more fragments from which to guess the image type
* Add AppData metainfo description for Nautilus extension
* Add several automated tests
* Add a separator row below the all albums row in the artist tree view
* Ekaterina Gerasimova’s improvements to the Mallard help
* British English translation update
* Marek Černocký’s Czech translation updates
* Piotr Drąg’s Polish translation updates
* Мирослав Николић’s Serbian translation
2.3.1 - 2014-10-31 :
====================
* Add a Nautilus extension, for showing actions in the context menu
* Overhaul the UI, and use GtkBuilder XML descriptions throughout
* Use GTK+ 3 only, and drop support for GTK+ 2
* Use GSettings for storing user preferences
* Add an application menu (if under GNOME 3)
* Fix loading filenames from a text file
* Fix saving Ogg cover art without a description
* Fix check for broken id3lib UTF-16 writing
* Fix keyboard navigation to allow escaping the tag area
* Update ID3v1 genre list
* Revert asynchronous image handling changes
* Fix a crash when reloading the directory tree
* Avoid a crash when browsing hidden directories
* Andreas Winkelmann’s crash and memory leak fixes
* Fix image loading with HTTP URLs and empty images
* Fix delays, and a possible crash, when running CDDB searches
* Handle renaming on case-insensitive filesystems
* Fix bogus track numbers when automatically numbering files
* Fix memory leak in check for buggy id3lib version
* Add Opus and Speex MIME types to desktop file
* Add .m4v as a supported MP4 extension
* Show updated images in the Windows installer
* Abhinav Jangda’s fix for numeric characters in ID3 TPOS fields
* Disable ID3v1 tag writing, and prefer ID3v2.3 to ID3v2.4, by default
* Roman Bogorodskiy’s ID3 wrapper compilation fix
* Improvements to MP4 GIO wrapper
* Improve context menu handling, especially with keyboard shortcuts
* Port to GtkApplication, GAction and GMenuModel
* Drop uses of GtkStock for text and icons
* Extensive internal refactoring
* Add tests for another scanner string manipulation function
* Add a setting to control whether to detect an image type automatically
* Fix a selection bug when double-clicking a browser list header
* Fix a scanner bug when converting "%20" to " "
* Fix compilation if TagLib or libogg is unavailable
* Depend on TagLib 1.9.1 for MP4 support
* Use CXXFLAGS from the environment
* Piotr Drąg’s Polish translation updates
* Åka Sikrom’s Norwegian bokmål translation
* Guillaume Bernard’s French translation update
* Balázs Úr’s Hungarian translation updates
* genodeftest’s German translation update
* Marek Černocký’s Czech translation updates
* Daniel Mustieles’ Spanish translation updates
* Tom Tryfonidis’ Greek translation update
* Seong-ho Cho’s Korean translation
* Andika Triwidada’s Indonesian translation
* Rafael Ferrera’s Brazilian Portuguese translation update
* Aurimas Černius’s Lithuanian translation update
* Matej Urbančič’s Slovenian translation update
* Daniel Mustieles’ Spanish help translation
* Dimitris Spingos’s Greek help translation
Changelog:
- Add API to access and preserve binary metadata.
- Add support for R128_ALBUM_GAIN metadata tag.
- Better seeking with continued packets and multiplexed streams.
- Portability and build fixes.
ver 0.19.13 (2016/02/23)
* tags
- aiff, riff: fix ID3 chunk padding
* decoder
- ffmpeg: support the TAK codec
* fix disappearing duration of remote songs during playback
* initialize supplementary groups with glibc 2.19+
Core
Release v1.1.0
pph: Fix build with older speex
pph: include speexdsp_types.h, not speex_types.h
A52 Output plugin
a52: Fix ioplug version ifdef checks
Arcam AV control plugin
arcam-av: Include sys/select.h for fd_set definition
Automatic upmix / downmix plugins
mix: Fix extplug version ifdef checks
Jack PCM plugin
jack: Fixing a small memory leak
Public Parrot Hack rate converter
pph: Fix build with older speex
pph: include speexdsp_types.h, not speex_types.h
PulseAudio -> ALSA plugin
pulse: Add 24 bit data formats to Pulse plugin.
Rate Converter plugins
rate: Allow LGPL for libsamplerate commercial licensee
Core
Release v1.1.0
bat: don't link all binaries with fftw library, add missing header
configure.ac: check for fftw3/m(sqrtf)/pthread only when BAT is enabled
build: Do not try to detect cross-compiler
BAT: Add Makefile and configures
topology: Add command line topology tool to build topology binaries
ALSA Control (alsactl)
alsactl: Manage both save and restore in a single unit
alsactl: Add path condition to alsa-store and alsa-restore services
alsactl: terminate readlink result string
Speaker Test
speaker-test: fix option ordering
speaker-test: Add option to specify signal scale
alsa-info.sh
alsa-info: Don't try update when wget isn't available
alsatplg (topology)
topology: Add command line topology tool to build topology binaries
alsaucm
alsaucm: Drop localbuild hacks
amixer
amixer: expand local storage for item name according to kernel code
amixer: Don't set only the first item in sset_enum()
aplay/arecord
aplay: fix VU meter for S24_LE etc formats
arecord: Remove only regular files
aplay: Fix uninterruptible aplay
aplay: Fix type for signal flag
bat (basic audio tester)
bat: add all headers to noinst_HEADERS
bat: don't link all binaries with fftw library, add missing header
BAT: Add missing locale.h header
BAT: Add man page
BAT: Use dynamic temp file
BAT: Change comments and interface of usage()
BAT: Use colon instead of comma for separation
BAT: Remove redundant message strings
BAT: Add Makefile and configures
BAT: Add spectrum analysis functions
BAT: Add converting functions
BAT: Add signal generator
BAT: Add playback and record functions
BAT: Add common definitions and functions
BAT: Add initial functions
Core
Release v1.1.0
support building w/out System V shared memory
fix _GNU_SOURCE handling & header inclusion
build: Do not try to detect cross-compiler
core: add convenience macros to local.h
conf: topology: Add topology file for broadwell audio DSP
topology: autotools: Add build support for topology core
Replace list.h with its own version
Allow hint for ctl, hwdep, timer and seq
conf/ucm: Add Makefile.am for broadwell-rt286 ucm config
Config API
Replace unsafe characters with _ in card name
Control API
control: Allow cset'ing specific values in the multi-value case
Allow hint for ctl, hwdep, timer and seq
namehint: Fix bad free with invalid iface name
namehint: Fix the listing without device number
namehint: Fix invalid list access in snd_device_name_hint()
HWDEP API
hwdep: add FireWire digi00x/tascam driver support
Allow hint for ctl, hwdep, timer and seq
PCM API
support building w/out System V shared memory
pcm: drop unused sys/shm.h inclusion
move page helpers to common code
pcm: dmix: Handle slave PCM xrun and unexpected states properly
pcm: ladspa: Fix segfault due to a wrong channel reference
pcm: route: Remove bogus ! in snd_config_get_id() checks
pcm: ioplug,extplug: Fix logic errors in type checks
pcm: Fix doxygen for two enums
pcm: restore hw params on set latency failed
pcm: add support for new STATUS_EXT ioctl
pcm: add support for get/set_audio_htstamp_config
pcm: add helper functions to query timestamping capabilities
PCM: snd_pcm_xxxx_drain() maybe blocked after suspend and resume
pcm: Fix snd_pcm_status() for dmix & co
pcm: Don't assert in _snd_pcm_hw_params_internal()
pcm: Remove assert() from snd_pcm_hw_params_slave()
Allow hint for ctl, hwdep, timer and seq
RawMidi API
Allow hint for ctl, hwdep, timer and seq
Timer API
fix _GNU_SOURCE handling & header inclusion
Topology API
topology: Add missing prototypes for new functions
topology: remove little endian type from userspace header
topology: Add C API support for PCM
topology: Add C API support for BE and CC Links.
topology: ABI - Change stream formats to a bitwise flag
topology: ABI - Separate PCM & BE/CC link support and bump ABI version to 4
topology: Add API to set a vendor specific version number
topology: pcm: Remove unused variables
topology: parser: Add missing return value to snd_tplg_set_manifest_data()
topology: data: Fix wrong size check in tplg_parse_data_hex()
topology: ctl: Fix access type checks
topology: builder: Fix possibly uninitialized variable in write_elem_block()
topology: A API calls to directly build topology data from templates
topology: Add C templates structure for building topology from C programs
core: add convenience macros to local.h
topology: rename OBJECT_TYPE_ to SND_TPLG_TYPE_
topology: print error prefix on error message.
topology: treat all DAPM controls types the same when copying
topology: update ABI to improve support for different TLV object types.
topology: Add support for writing manifest private data.
topology: Add element ID so we can look up references by name.
topology: fix element object type is switch()
topology: Fix typos
topology: Fix missing inclusion of ctype.h
topology: autotools: Add build support for topology core
topology: Add binary file builder.
topology: Add Channel map parser.
topology: Add CTL parser
topology: Add DAPM object parser
topology: Add private data parser
topology: Add operations parser
topology: Add PCM parser.
topology: Add text section parser.
topology: Add topology core parser.
Use Case Manager API
fix _GNU_SOURCE handling & header inclusion
ucm: docs: Fix doxygen formatting for UCM main page.
ucm: allow multiple devices in JackHWMute
ucm: improve jack configuration documentation
ucm: reformat snd_use_case_get() doc
ucm: document some standard values
/include/Makefile.am
topology: autotools: Add build support for topology core
/src/Makefile.am
topology: autotools: Add build support for topology core
Configuration
move page helpers to common code
fix _GNU_SOURCE handling & header inclusion
conf: topology: Add topology file for broadwell audio DSP
Replace unsafe characters with _ in card name
surround41/50.conf: Use chmap syntax for better flexibility
conf/ucm: broadwell-rt286: change to set capture volume and capture device
conf: Add hint descriptions to ctl, hwdep, seq and timer devices
Allow hint for ctl, hwdep, timer and seq
conf/ucm: broadwell-rt286: change to use the correct jack kcontrol name
USB-audio: Sound Blaster HD iec958 is on device 1
conf/ucm: Add Makefile.am for broadwell-rt286 ucm config
conf/ucm: broadwell-rt286: add ucm config
Documentation
topology: doxygen: Add doxygen support for topology core.
docs: Add UCM link to main doxygen page.
ucm: docs: fix doxygen exclude patch for UCM local header
Kernel Headers
topology: ABI - Rename dai_elems to pcm_elems in manifest
topology: ABI - Change stream formats to a bitwise flag
topology: ABI - Use __le32 instead of __u32 in snd_soc_tplg_dapm_widget
topology: ABI - Remove unused struct snd_soc_tplg_stream_config
topology: ABI - Remove tdm_slot & dai_fmt from snd_soc_tplg_stream
topology: ABI - Separate PCM & BE/CC link support and bump ABI version to 4
topology: ABI - Add name element to snd_soc_tplg_stream
hwdep: add FireWire digi00x/tascam driver support
topology: Add ops support to byte control objects.
topology: update ABI to improve support for different TLV object types.
topology: uapi: Add UAPI headers for topology ABI
Sync include/sound/asound.h with 4.1 kernel
SHM helpers
support building w/out System V shared memory
Test/Example code
test: audio_time: show report validity and accuracy
test: fix audio_time with new get/set audio_tstamp_config
test/pcm_min: Fix error messages
test/pcm: Fix generated values with float PCM format
Patch provided by Onno van der Linden via pkg/50803.
Changes:
2.5.0 - "Consolidation"
* Autotools and packaging changes:
- Upgraded autoconf version requirement to 2.60
- Added '--with-alsa' to suppress ALSA sound driver inclusion
- Added '--without-oss' to suppress OSS sound driver inclusion
- Added '--disable-cache' to remove tags cache support
- Added specific GDB support to '--enable-debug'
- Refactor decoder plug-ins' autoconf scripts into source directories
- Ensure that all decoders get into the source distribution tarball
- Removed SID decoder's dependance on .la-file presence
- Removed distribution-specific .spec file
- Minor reformatting of the configure summary
- Added warnings for various deprecations and potential problems
- Added warnings for unmet future package requirements
- Updated GNU boilerplate text
* Improved support for embedded systems:
- Refined FFmpeg decoder configuration for use with cross-compilation
- Provided use of Tremor with the Vorbis decoder
- Improve portability to non-GNU library platforms
- Added --with-libiconv-prefix configure option
* Audio driver changes:
- Allow use of the OSSv4 per-application mixer API
- Provided SNDIO support for OpenBSD systems (Alexander Polakov)
* New and changed audio decoders:
- New TiMidity decoder for MIDI (Hendrik Iben)
- Migrate AAC decoder to later FAAD2 API (Max Klinger)
- Added AAC+ (HE-AAC) support to AAC decoder
- New SidPlay2 decoder for SID (Hendrik Iben)
- New Modplug decoder (Hendrik Iben)
- New WavPack decoder (Alexandrov Sergey)
- Renamed SndFile plugin for consistancy
- Removed M4A format support from AAC decoder plugin
- Removed WAV format support from ModPlug decoder plugin
- Detect huge files in certain formats which SndFile cannot play
- Improved (drastically in some cases) the accuracy of AAC durations
* Overhauled FFmpeg/LibAV decoder:
- Resolved FFmpeg API deprecations
- Provided LibAV compatibility
- Provided proper stereo downmixing
- Provided locking support for non-thread-safe library functions
- Provided better FFmpeg or LibAV discrimination
- Provided better audio duration reliability determination
- Increased number of decodable formats (including Xiph Opus)
- Added decoding of audio from video formats
- Added logging of FFmpeg/LibAV messages
- Added seeking in most (but not all) formats
- Added handling for "planar" codecs
- Excluded experimental codecs from decoding
- Fixed misreporting of tags, duration and bitrates
- Fixed memory and file descriptor leakages
- Fixed severe distortion on 8-bit samples
- Fixed loop playing FLAC files
- Fixed many FFmpeg/LibAV API breakages
- Fixed many miscellaneous bugs
- Detect over-length (and therefore broken) WAV files
- Fixed log formatting when FFmpeg messages contain newline characters
* Audio reproduction changes:
- Improved support for 8-bit sample size
- Added software mixer (Hendrik Iben)
- Added parametric equalizer (Hendrik Iben)
- Fixed many bugs which produced distorted sound
- Fixed bugs in 24-bit sample handling (Tomasz Golinski)
* General configuration file changes:
- Reconciled and regularised example config and keymap files
- Introduced lists and function-like syntax
- Introduced variable substitution
- Introduced symbol and boolean option types
- Improved security of the configuration file
- Automatic clearing of an overridden default key binding
- Made processing of keymap file consistant with that of config file
* Changed configuration file options:
- Layout# options moved to a list and function-like syntax
- SoundDriver option moved to a list syntax
- Renamed OSSMixerChannel to OSSMixerChannel1
- Renamed ALSAMixer to ALSAMixer1
- QueueNextSongReturn moved to yes/no values
- TagsCacheSize set to zero now disables tag caching
* New configuration file options:
- OnSongChange: run an external command (Jack Miller)
- RepeatSongChange: govern the running of the OnSongChange command
- OnStop: run an external command on stopping
- EnforceTagsEncoding: substitutes ID3v1TagsEncoding for ISO-8859-1
encoding in ID3v2 tags (Aleks Sherikov)
- FileNamesIconv: converts from local to UTF8 encoding for file names
(Aleks Sherikov)
- NonUTFXterm: converts UTF8 to local encoding for X-Term titles
(Aleks Sherikov)
- AutoLoadLyrics: says whether MOC should look for lyrics files
- PreferredDecoders: allow finer control over decoder selection
- XTerms: externalises terminals regarded as X-Terms
- UseMIMEMagic: says whether to identify audio files by using MIME
- JackStartServer: autostart JACK the server (Max Klinger)
- ShowTimePercent: set the percent played state (Daniel T. Borelli)
- Various options for SidPlay2, Modplug and TiMidity support
* New command line options:
- '-j' to jump to some position in the current track (Nuno Cardoso)
- '-O' to override configuration file settings
- '-Q' to display user formatted information (Juho Hämäläinen)
- '-q' to queue files from command line (Martin Milata)
- '-t' and '--on/off' to toggle or set playback options (Jack Miller)
- '-v' to set the volume (Jack Miller)
* Screen handling changes:
- Changed minimum screen height to 7 lines (Tero Marttila)
- Added support for GNU screen title (Jonathan Derque)
- Restored screen to console mode after reporting fatal errors
- Populated playlist panel when loading default playlist file
- Removed default playlist autofocus at start
- Fixed overlength highlight bar
- Fixed screen upset when tags contain control characters
- Fixed some screen upsets when tags contain UTF-8 characters (firejox)
- Fixed screen upset caused by screen(1) mis-detection
* New and updated client interaction features:
- 'a' command: also add a directory to the playlist (Filippo Giunchedi)
- 'L' command: display music lyrics (Géraud Le Falher)
- 'Y' command: prune unreadable files from the playlist (tyranix)
- Queued messages for display in the message area
- Added play queue (Martin Milata)
- Mark a fragment of a file which can be passed to external commands
- Clear status message after a stream open failure
- Minor help menu clarifications
* Improve text entry history and editting:
- Recognise ^u (by default) as delete to start of line
- Recognise ^k (by default) as delete to end of line
- Save and restore entered text prior to history scrolling
- Save history entry modifications
- Do not save adjacent duplicate entries
- Do not save or modify with blank entries
- Position cursor at end of restored or history line
* Theme changes:
- Enabled highlighted playlist numbers and file times (Marc Tschiesche)
- Fixed miscoloured frame when switching themes (Alexander Polakov)
- Fixed default colour settings
- Fixed cursor placement in themes menu (Alex Merenstein)
- Fixed ordering of theme files in themes menu
- Fixed new attributes application on theme switching (Alex Merenstein)
* General code cleaning:
- Refactoring, optimisations and cosmetic improvements
- Silenced many build warnings and errors
- Replaced various deprecated, legacy and platform-specific functions
- Improved thread safety
* Significant bug fixes:
- Fixed stale locks freeze in tags cache database following a crash
- Fixed CURL timeout for internet streaming errors (Daniel Stenberg)
- Fixed audio distortion on MP3 file having overly long tag values
- Fixed false positive stream detection in the MP3 decoder
- Fixed Ogg/Vorbis stream detection in the Vorbis decoder
- Fixed 'LRINTF error' raised when reconfiguring MOC
- Fixed backspace key mishandling
- Fixed client interface meta-key handling
- Fixed pthread stack overflow segfault on OpenBSD
- Fixed segfault when text entry history becomes full
- Fixed segfault processing playlists with relative paths
- Fixed memory corruptions when toggling tag reading
- Fixed assertion when a second client is started
- Fixed slow memory leak in client on long-playing streams
- Fixed severe distortion on 11025Hz 16-bit mono audios
- Fixed freeze at end of playing audio file
- Fixed server crash when attempting to play a deleted file
- Fixed MIME type detection on HTTP redirection
- Fixed crash when mixer value is above 100%
- Fixed handling of huge (greater than 2 GiB) files
- Fixed sub-second audio truncation on ALSA
- Fixed segfault when MIME-detected MP3 file has no "extension"
- Fixed segfault when using '--format' without an audio playing
- Workaround for streams that have the actual title as tags/comments
- Indentified cause of "undefined symbol" build errors
- Plugged all known memory and file descriptor leaks
- Fixed nonsense duration values returned on some corrupt FLAC files
- Fixed 'time >= 0' assertion at change of audio file
- Fixed client event notification failure in some circumstances
- Fixed client abort on duplicated playlist filenames
- Fixed delayed client exit when server invokes long-running scripts
(Alex Merenstein)
- Fixed occasional server freeze on logging when running scripts
- Fixed non-conforming 'User-Agent' HTTP request header
* Miscellaneous:
- Updated and reformatted mocp manpage and equalizer README file
- Made many warning and error reports more informative and consistant
- Better logging of more problem determination information
- More informative version information display
- Introduced MD5-based decoder verification tools
- Improved compatibility with 64-bit systems
- Improved compatibility with big-endian systems
- Moved tags cache to a Berkeley DB
- Integration of down-stream distribution patches
- Fixed frames to duration calculations in ALSA
- Fixed some mutex management bugs
- Fixed many bugs which crashed MOC
Fix bugs caught in the OpenMPT test cases:
- fix FT2 XM arpeggio clamp
- fix FT2 XM arpeggio + pitch slide
- fix XM tremor effect handling
- fix XM tremor recover after volume setting
- fix IT instrument after keyoff
- fix S3M first frame test in pattern delay
- fix Protracker tone portamento target setting
- fix Protracker arpeggio wraparound
- fix Protracker finetune setting
Other changes:
- fix range of MMD effect 9 (reported by Lamar McLouth)
- fix Visual C++ build (reported by Jochen Goernitz)
- fix invalid sample offset handling in Skale Tracker XM (reported by
Vladislav Suschikh)
- fix Protracker sample loop to use full repeat only if start is 0
- fix Scream Tracker 4-channel MOD fingerprinting
- fix lite build with IT support disabled
- fix build with gcc 2.95 in Haiku
4.3.10 (20151231):
Fix bugs reported by Coverity Scan:
- fix out of bounds access in IT/XM/MDL/IMF envelopes
- fix out of bounds read in STX effect decoding
- fix RTM maximum sample name length
- fix AC1D converter number of patterns underflow
- fix PRU2 usage of uninitialized data
- fix Vorbis depacker usage of uninitialized data
- fix negative array index read when setting position
- fix resource leak in MFP loader
- fix resource leak in Chiptracker loader
- fix resource leak in Startrekker loader
- fix resource leak in module load error handling
- fix event decoding in LIQ loader
- fix JVS command parameter in MED synth
- fix 669 effect decoding
- fix memory violation in LZX decompressor
- fix sanity check in PTM orders loading
- add sanity check to smix sample loading
- add sanity check to PP21 format converter
- add sanity check to P40 and P61A format converters
- add sanity check to Zen Packer format converter
- add sanity check to TP3 format converter
- add error handling to many decompressors
- add error handling to many I/O operations
- remove dead code from NO loader
- remove dead code from Soundtracker loader
- remove dead code from GMC format converter
- remove dead code from LZX decompressor
- remove dead code in virtual channel manager reset
- remove unnecessary seeks in format loaders
- prevent division by zero in memory I/O
- change IFF info ID from string to binary buffer
- better IFF error handling
Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
- add sanity checks to LHA depacker
- add sanity checks to MED3 loader
- add sanity checks to ABK loader
- add sanity checks to Fuchs converter
- add sanity checks to GMC converter
Other changes:
- fix IT envelope release + fadeout (reported by NoSuck)
- fix SFX effects 5, 6, 7, and 8 (reported by Lamar McLouth)
- fix pattern loading in Galaxy 4 and 5 (reported by Anton Zab)
- fix memory leak in LZW decompressor (by Chris Spiegel)
- fix tone portamento target setting (reported by Georgy Lomsadze)
- fix IT autovibrato depth (reported by Travis Evans)
- disable ST3 sample size limit (reported by Jochen Goernitz)
- fix crash in Prowizard error handling
- fix IMS sample loop start
- fix LIQ pan setting and surround channel
- add sanity check for IFF chunk size
- refactor ProRunner2 event decoding
4.3.9 (20150623):
Fix bugs caught in the OpenMPT test cases:
- fix IT tone portamento on sample change and NNA
- fix IT tone portamento with offset
Fix problems caused by fuzz files (reported by Lionel Debroux):
- add sanity check to RTM/MMD/MDL/DBM/SFX/MASI/DT loaders
- add sanity check to Starpack/Fuzzac converter
- add sanity check to Oxm/vorbis depacker
- add sanity check to lha/MMCMP/s404 depacker
- fix memory leak in vorbis decoder
Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
- add sanity check to IT instrument name loader
- add sanity check to IT loader instrument mapping
- add sanity check to AMF module parameters and event loading
- initialize IT loader last event data
Other changes:
- detect Amiga frequency limits in MOD (reported by Mirko Buffoni)
- fix problems in Amiga split channels (reported by Gabriele Orioli)
- fix global volume on restart to invalid row (reported by Adam Purkrt)
- fix Oktalyzer note slide effect (by Dennis Lindroos)
- fix Oktalyzer volume setting in split channels (by Dennis Lindroos)
- fix external sample mixer for IT files (reported by honguito98)
- allow short sample reads (reported by Adam Purkrt)
- address problems reported by clang sanitizer
4.3.8 (20150404):
Fix bugs caught in the OpenMPT test cases:
- fix pre-increment of envelope indexes
- fix IT note release at end of envelope sustain loop
- reset channel flags in case of delay effect
Other changes:
- fix MMD3 16-bit samples (reported by jbb666)
- refactor XM envelopes
- refactor IT envelopes
4.3.7 (20150329):
Fix bugs caught in the OpenMPT test cases:
- fix IT sample mode note cut on invalid sample
- fix IT sample mode note end detection
- fix IT envelope handling with carry and fadeout
- fix IT tone portamento with sample changes
- fix IT initial global volume setting
- fix IT keyoff with instrument in old effects mode
- fix IT filter maximum values with resonance
Other changes:
- fix IT random volume variation
- fix pattern initialization sanity check
- fix ++ pattern handling in IT loader (reported by honguito98)
- fix Soundtracker short rip loading (reported by Shlomi Fish)
- add IT high offset command (SAx)
- add IT surround command (S9x)
- add IT surround channel support
- add IT sample pan setting support
4.3.6 (20150322):
Fix bugs caught in the OpenMPT test cases:
- fix IT volume column volume slide effect memory
- fix IT default filter cutoff on new note
- fix IT filter envelope memory
Fix crashes with fuzzed files (reported by Lionel Debroux):
- add sanity check to MED2/3/4 loader
- add sanity check to STIM/GDM/DBM/LIQ/ICE/PSM/PTM/MGT loader
- add sanity check to MDL/RAD/MGT/IMF/RTM/DT/LIQ/DTM pattern loader
- add sanity check to OKT/IMF/MMD/MDL sample loader
- add sanity check to Archimedes Tracker format test
- add sanity check to Digital Symphony track loader
- add sanity checks to SQSH, bzip2, arc, lha, lzx and S404 depackers
- add sanity check for AMD/STX number of patterns
- add sanity check for DSYM/MMD1/MMD3 number of channels
- add sanity check for MMD1/MMD3 instrument type
- add sanity check for IT old instrument loading
- add sanity checks and fix memory leaks in the Vorbis decoder
Other changes:
- fix instrument number in channel initialization
- fix sample size limit (reported by Jochen Goernitz)
- fix loading of OpenMPT 1.17 IT modules (reported by Dane Bush)
- fix sample number limit (reported by Lionel Debroux)
- fix Oktalyzer split channel replay (reported by Dennis Lindroos)
- fix Oktalyzer sample loop (by Dennis Lindroos)
- fix Oktalyzer note slide up/down effect
- fix ThePlayer pattern decoding
- fix XM loading for MED2XM modules (reported by Lorence Lombardo)
- add support to Amiga split channel loop and volume setting
- add IT random volume variation
- add IT random pan variation