All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Starting from 6.10.0, all of these Kurento Media Server sub-projects
- kurento-module-creator
- kms-cmake-utils
- kms-core
- kms-elements
- kms-filters
- kms-jsonrpc
- kurento-media-server
have their ChangeLogs unified in kurento-media-server/CHANGELOG.
6.8.0 - 2018-09-26
- CompositeMixer: Add support for DATA streams
- Integrate GLib and Kurento's GStreamer logging systems (for libnice)
- KmsPlayerEndpoint: Clearer logging messages, function names, code
- API: Documentation for PlayerEndpoint.useEncodedMedia()
- API: PlayerEndpoint/HttpEndpoint: Rewrite "useEncodedMedia" doc
- WebRtcTransport: Fix possible leak if GstDtlsSrtp elements are missing
6.7.2 - 2018-05-11
- WebRtcEndpoint: New factory methods "recvonly()" and "sendonly()", to allow specifying the SDP Offer direction when it gets generated by KMS.
- All: Apply multiple fixes suggested by clang-tidy.
- WebRtcTransport: NULL dereference when the
gstdtlssrtp*
plugins are missing (eg. if libsrtp is not correctly installed). - #242 (libSSL crashes on mirrored packets): Debian: Remove dependency on our unmaintained fork of libSSL - Work In Progress.
6.7.1 - 2018-03-21
- Debian: Add openh264-gst-plugins-bad-1.5 as required dependency.
- KmsPlayerEndpoint: Fix NULL dereferencing.
6.7.0 - 2018-01-24
- libnice: Enable debug logging (requires NICE_DEBUG, G_MESSAGES_DEBUG).
- RtpEndpoint/API: Add property 'keyBase64' for binary keys.
- CMake: Compile and link as Position Independent Code ('-fPIC').
- Add more verbose logging in some areas that required it.
- WebRtcEndpoint: Warn if the H.264 plugin is not correctly installed.
- WebRtc: Hide private info from log: TURN user/password.
- Debian: Align all version numbers of KMS-related modules.
- Debian: Remove version numbers from package names.
- Debian: Configure builds to use parallel compilation jobs.
6.6.3 - 2017-08-10
- Prevent frames from building up in the buffer if the CPU falls behind, by @kc7bfi (David Robison).
6.6.2 - 2017-07-24
- REMB: Add "COMEDIA"/automatic port discovery. Documentation.
- Allow AppSrc pipeline DOT diagrams to be returned, by @kc7bfi (David Robison).
- Eat all bus messages from 'queue2', by @kc7bfi (David Robison).
- Old ChangeLog.md moved to the new format in this CHANGELOG.md file.
- CMake: Full review of all CMakeLists.txt files to tidy up and homogenize code style and compiler flags.
- CMake: Position Independent Code flags ("-fPIC") were scattered around projects, and are now removed. Instead, the more CMake-idiomatic variable "CMAKE_POSITION_INDEPENDENT_CODE" is used.
- CMake: All projects now compile with "[-std=c11|-std=c++11] -Wall -Werror -pthread".
- CMake: Debug builds now compile with "-g -O0" (while default CMake used "-O1" for Debug builds).
- CMake: include() and import() commands were moved to the code areas where they are actually required.
- CMake: Allow local inclusions in FindKmsWebRtcEndpointLib.
- Improve log messages when STUN or TURN config is missing.
- Bugfix: Out of bound access on SDP medias.
- Use format macros to fix compiler errors on 32bit systems, by @fancycode (Joachim Bauch).
- Debian: Use either "ffmpeg" or "libav" as dependencies (which adds compatibility with Ubuntu Xenial or Trusty, respectively).
- FIXME Disable failing IPv6 test.
- Workaround buggy libnice Foundation strings.
- Fix missing header in "HttpEndPointServer.hpp".
6.6.1 - 2016-09-30
- Simplify recorderEndpoint internal pipeline state changes.
- Improve compilation process
- RecorderEndpoint: Fix media dead lock in avmuxer.
- RecorderEndpoint: Do not allow recording again once stop state is reached as this will erase previous recording.
- PlayerEndpoint: Set valid PTS and DTS values for pushed buffers.
6.6.0 - 2016-09-09
- WebRctEndpoint: ECDSA certificate support.
- Improved documentation.
- PlayerEndpoint: Fix PTS assignment.
- RecorderEndpoint: Fix buffer leaks.
6.5.0 - 2016-05-30
- WebRctEndpoint: Add information about ice candidates pair selected.
- Changed license to Apache 2.0.
- Updated documentation.
- WebRtcEndpoint: Fix memory leaks on candidates management.
- WebRtcEndpoint: Fix fingerprint generation when certificate is buldled with the key.
- WebRtcEndpoint: Fix bugs when using a custom "pem" file for DTLS.
- RecorderEndpoint: Fix state management.
- RecorderEndpoint: Add StopAndWait method.
- Changed some event/methods names and deprecated old ones (which will be removed on the next major release).
6.4.0 - 2016-02-24
- RecorderEndpoint: Calculate end-to-end latency stats.
- PlayerEndpoint: Calculate end-to-end latency stats.
- WebRtcEndpoint: Update libnice library to 0.1.13.1. TURN is working again now that libnice is updated.
- WebRtcEndpoint: minor issues.
- RecorderEndpoint: Fix problem when recording to HTTP, now MP4 is buffered using and fast start and Webm is recorded as live (no seekable without post-processing).
6.3.1 - 2016-01-29
- WebRtcEndpoint: Fix problem with codec names written in lower/upper case.
- PlayerEndpoint: Fix problem in pause introduced in previous release.
- WebRtcEndpoint: Parse candidates present in original offer correctly.
- RecorderEndpoint: Reduce log level for some messages that are not errors.
6.3.0 - 2019-01-19
- RtpEndpoint: Add event to notify when a SRTP key is about to expire.
- PlayerEndpoint: Add seek capability.
- RtpEndpoint, WebRtcEndpoint: Add support and tests for IPv6.
- WebRtcEndpoint: Do not use TURN configuration until bug in libnice is fixed; TURN in clients (browsers) can still be used, but KMS will not generate relay candidates.
- RecorderEndpoint: Fix many problems that appeared with the last GStreamer update.
- WebRtcEndpoint: Fix minor problems with datachannels.
- WebRtcEndpoint: Fix problem with chrome 48 candidates.
- RtpEndpoint: Add SDES encryption support.
- WebRtcEndpoint: Report possible error on candidate handling.
- RtpEndpoint now inherits from BaseRtpEndpoint.
- WebRtcEndpoint uses BaseRtpEndpoint configuration for port ranges.
- RtpEndpoint uses BaseRtpEndpoint configuration for port ranges.
- RecorderEndpoint: Internal redesign simplifying internal pipeline.
- RecorderEndpoint: Fix problems with negative timestamps that produced empty videos.
- RecorderEndpoint: Fix negotiation problems with MP4 files. Now format changes are not allowed.
- PlayerEndpoint: set correct timestamps when source does not provide them properly.
- Composite: Fix bugs simplifying internal design.