15002 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
joerg
|
e30b20f9d7 | Restrict to Python 2.7 only. | ||
wiz
|
27aff7e249 |
Updated wireshark to 2.2.2.
Bug Fixes The following vulnerabilities have been fixed: * [1]wnpa-sec-2016-58 Profinet I/O long loop. ([2]Bug 12851) * [3]wnpa-sec-2016-59 AllJoyn crash. ([4]Bug 12953) * [5]wnpa-sec-2016-60 OpenFlow crash. ([6]Bug 13071) * [7]wnpa-sec-2016-61 DCERPC crash. ([8]Bug 13072) * [9]wnpa-sec-2016-62 DTN infinite loop. ([10]Bug 13097) The Windows PortableApps packages were susceptible to a [11]DLL hijacking flaw. The following bugs have been fixed: * TCP: nextseq incorrect if TCP_MAX_UNACKED_SEGMENTS exceeded & FIN true. ([12]Bug 12579) * SMPP schedule_delivery_time displayed wrong in Wireshark 2.1.0. ([13]Bug 12632) * Upgrading to latest version uninstalls Microsoft Visual C++ redistributable. ([14]Bug 12712) * dmg for OS X does not install man pages. ([15]Bug 12746) * Fails to compile against Heimdal 1.5.3. ([16]Bug 12831) * TCP: Next sequence number off by one when sending payload in SYN packet (e.g. TFO). ([17]Bug 12838) * Follow TCP Stream shows duplicate stream data. ([18]Bug 12855) * Dissection engine falsely asserts that EIGRP packet's checksum is incorrect. ([19]Bug 12982) * IEEE 802.15.4 frames erroneously handed over to ZigBee dissector. ([20]Bug 12984) * Capture Filter Bookmark Inactive in Capture Options page. ([21]Bug 12986) * CLNP dissector does not parse ER NPDU properly. ([22]Bug 12993) * SNMP trap bindings for NON scalar OIDs. ([23]Bug 13013) * BGP LS Link Protection Type TLV (1093) decoding. ([24]Bug 13021) * Application crash sorting column for tcp.window_size_scalefactor up and down. ([25]Bug 13023) * ZigBee Green Power add key during execution. ([26]Bug 13031) * Malformed AMPQ packets for session.expected and session.confirmed fields. ([27]Bug 13037) * Wireshark 2.2.1 crashes when attempting to merge pcap files. ([28]Bug 13060) * [IS-637A] SMS - Teleservice layer parameter --> IA5 encoded text is not correctly displayed. ([29]Bug 13065) * * Failure to dissect USB Audio feature unit descriptors missing the iFeature field. ([30]Bug 13085) * MSISDN not populated/decoded in JSON GTP-C decoding. ([31]Bug 13086) * E212: 3 digits MNC are identified as 2 digits long if they end with a 0. ([32]Bug 13092) * Exception with last unknown Cisco AVP available in a SCCRQ message. ([33]Bug 13103) * TShark stalls on FreeBSD if androiddump is present. ([34]Bug 13104) * Dissector skips DICOM command. ([35]Bug 13110) * UUID (FT_GUID) filtering isn't working. ([36]Bug 13121) * Manufacturer name resolution fail. ([37]Bug 13126) * packet-sdp.c allocates transport_info->encoding_name from wrong memory pool. ([38]Bug 13127) * Payload type name for dynamic payload is wrong for reverse RTP channels. ([39]Bug 13132) Updated Protocol Support 6LoWPAN, AllJoyn, AMPQ, ANSI IS-637 A, BGP, CLNP, DCERPC, DICOM, DTN, E.212, EIGRP, ERF, GVSP, IEEE 802.11, IEEE 802.15.4, IP, ISO-8583, Kerberos, L2TP, LACP, MAC LTE, OpenFlow, Profinet I/O, RTPS, SCTP, SDP, Skype, SMPP, SNA, SNMP, SPNEGO, TCP, USB Audio, XML, and ZigBee |
||
wiz
|
f694dfc278 |
Updated py-twisted to 16.6.0.
Twisted Core 16.6.0 (2016-11-17) ================================ Features -------- - The twist script can now be run by invoking python -m twisted. (#8657) - twisted.protocols.sip has been ported to Python 3. (#8669) - twisted.persisted.dirdbm has been ported to Python 3. (#8888) Bugfixes -------- - twisted.internet.defer.Deferred now implements send, not __send__, which means that it is now a conforming generator. (#8861) - The IOCP reactor no longer transmits the contents of uninitialized memory when writing large amounts of data. (#8870) - Deferreds awaited/yielded from in a twisted.internet.defer.ensureDeferred wrapped coroutine will now properly raise exceptions. Additionally, it more closely models asyncio.ensure_future and will pass through Deferreds. (#8878) - Deferreds that are paused or chained on other Deferreds will now return a result when yielded/awaited in a twisted.internet.defer .ensureDeferred-wrapped coroutine, instead of returning the Deferred it was chained to. (#8890) Improved Documentation ---------------------- - twisted.test.proto_helpers is now explicitly covered by the compatibility policy. (#8857) Other ----- - #8281, #8823, #8862 Twisted Conch 16.6.0 (2016-11-17) ================================= Features -------- - twisted.conch.ssh.keys supports ECDSA keys (#8798) - scripts/ckeygen can now generate ecdsa keys. (#8828) - ckeygen has been ported to Python 3 (#8855) Deprecations and Removals ------------------------- - twisted.conch.ssh no longer uses gmpy, if available. gmpy is unmaintained, does not have binary wheels for any platforms, and an alternative for higher performance is available in the form of PyPy. (#8079) Twisted Web 16.6.0 (2016-11-17) =============================== Features -------- - twisted.web.server.Site's HTTP/2 server support now emits vastly fewer WINDOW_UPDATE frames than previously. (#8681) Bugfixes -------- - twisted.web.Agent now tolerates receiving unexpected status codes in the 100 range by discarding them, which is what RFC 7231 recommends doing. (#8885) - twisted.web._http.H2Stream's getHost and getPeer implementations now actually return the host and peer instead of None. (#8893) Twisted Words 16.6.0 (2016-11-17) ================================= Features -------- - twisted.words.protocols.irc has been ported to Python 3 (#6320) |
||
tsutsui
|
5f55708f2c |
Update sayaka to 3.3.0.
Upstream changes: * 3.3.0 (2016/11/25) * switch to using mbedTLS rather than libcurl * implement --full-url and --progress options * remove --sixel-cmd option * remove support of PHP version * add support characters that cannot be converted to EUC-JP/JIS * improve image quality and speed etc. |
||
adam
|
131c1b9cc6 | Fix building on newer macOS | ||
wiz
|
9e5af86c14 |
Updated syncthing to 0.14.12.
This is a minor release recommended for all users. Resolved issues: #3737: A data race in the code that caused test failures, and possibly other inconsitencies, has been resolved. #3241: Links in warning messages are now clickable in the GUI. #3711: Files are now synced to disk before committed to database, to avoid possible inconsistencies if a power failure occurs during syncing. #3724: Log entries now mention folder by label in addition to the ID. In addition: The default folder now has the folder ID "default" again, simplifying initial setup. Retries for misconfigured relay setups are slowed down somewhat to be kinder on our relay pool infrastructure. |
||
fhajny
|
b23955966c | Enable py-lexicon and py-tldextract | ||
fhajny
|
60220a64fc |
Import net/py-lexicon 1.1.18.
Lexicon provides a way to manipulate DNS records on multiple DNS providers in a standardized way. Lexicon has a CLI but it can also be used as a python library. |
||
fhajny
|
2f9d3be30e |
Import net/py-tldextract 2.0.2.
tldextract accurately separates the gTLD or ccTLD (generic or country code top-level domain) from the registered domain and subdomains of a URL. |
||
joerg
|
688b6aac03 |
Slots have no ordering, at least with modern versions of libsigc++.
As such, don't use std::set as container. |
||
leot
|
a1f74df17d |
Update net/youtube-dl to youtube-dl-20161118
Changes: 2016.11.18 ---------- Extractors * [youtube:live] Relax _VALID_URL (#11164) * [openload] Fix extraction (#10408, #11122) * [vlive] Prefer locale over language for subtitles id (#11203) |
||
wiz
|
1441d6ab5b | Use github page instead of non-working HOMEPAGE. | ||
wiz
|
ebf729a944 | Fix pattern. | ||
wen
|
bb2af87b50 |
Update to 4.01041
Update DEPENDS Upstream changes: 4.01041 2016-11-19 - hack dist.ini to get POD and README back into the distribution O_o 4.01040 2016-11-19 - added trait WrapResult (returns both the HTTP response, with rate limit accessors, and the decoded JSON response) - rename placeholder :category to :slug with backwards compatibility to match Twitter's documentation - add attachment_url parameter to update method - add links to Twitter API docs 4.01030 2016-11-18 - cleaned up Net::Twitter::Error and documented stack_trace and stack_frame methods - Add method upload_status (ghathwar on Github) |
||
tsutsui
|
d662649356 |
Update mikutter to 3.4.7.
Upstream changes: * bug in obfuscation of account information * revert behaviors of a mention in Extended Tweets as 3.3.12 * timelines not drawn in the screen are not freed * use gtk2 3.1.0 * update po file * zh_TW |
||
jperkin
|
79eb838e1c |
Update net/get_iplayer to version 2.97.
pkgsrc changes: - Migrate to GitHub. - Remove no longer valid options file. - Simplify patching. Upstream changes since 2.94: A significant number of changes have been made since 2.94, so for the full list of changes please refer to the release notes for each release since then here: https://github.com/get-iplayer/get_iplayer/wiki/release297 https://github.com/get-iplayer/get_iplayer/wiki/release296 https://github.com/get-iplayer/get_iplayer/wiki/release295 The most visible change (for me) is that get_iplayer now defaults to fetching the best quality file as a transport stream, rather than the previous default of lower quality flash. |
||
maya
|
659860faba |
wpa_gui: update to v2.6
ChangeLog for wpa_supplicant (and also _gui): 2016-10-02 - v2.6 * fixed WNM Sleep Mode processing when PMF is not enabled [http://w1.fi/security/2015-6/] (CVE-2015-5310) * fixed EAP-pwd last fragment validation [http://w1.fi/security/2015-7/] (CVE-2015-5315) * fixed EAP-pwd unexpected Confirm message processing [http://w1.fi/security/2015-8/] (CVE-2015-5316) * fixed WPS configuration update vulnerability with malformed passphrase [http://w1.fi/security/2016-1/] (CVE-2016-4476) * fixed configuration update vulnerability with malformed parameters set over the local control interface [http://w1.fi/security/2016-1/] (CVE-2016-4477) * fixed TK configuration to the driver in EAPOL-Key 3/4 retry case * extended channel switch support for P2P GO * started to throttle control interface event message bursts to avoid issues with monitor sockets running out of buffer space * mesh mode fixes/improvements - generate proper AID for peer - enable WMM by default - add VHT support - fix PMKID derivation - improve robustness on various exchanges - fix peer link counting in reconnect case - improve mesh joining behavior - allow DTIM period to be configured - allow HT to be disabled (disable_ht=1) - add MESH_PEER_ADD and MESH_PEER_REMOVE commands - add support for PMKSA caching - add minimal support for SAE group negotiation - allow pairwise/group cipher to be configured in the network profile - use ieee80211w profile parameter to enable/disable PMF and derive a separate TX IGTK if PMF is enabled instead of using MGTK incorrectly - fix AEK and MTK derivation - remove GTKdata and IGTKdata from Mesh Peering Confirm/Close - note: these changes are not fully backwards compatible for secure (RSN) mesh network * fixed PMKID derivation with SAE * added support for requesting and fetching arbitrary ANQP-elements without internal support in wpa_supplicant for the specific element (anqp[265]=<hexdump> in "BSS <BSSID>" command output) * P2P - filter control characters in group client device names to be consistent with other P2P peer cases - support VHT 80+80 MHz and 160 MHz - indicate group completion in P2P Client role after data association instead of already after the WPS provisioning step - improve group-join operation to use SSID, if known, to filter BSS entries - added optional ssid=<hexdump> argument to P2P_CONNECT for join case - added P2P_GROUP_MEMBER command to fetch client interface address * P2PS - fix follow-on PD Response behavior - fix PD Response generation for unknown peer - fix persistent group reporting - add channel policy to PD Request - add group SSID to the P2PS-PROV-DONE event - allow "P2P_CONNECT <addr> p2ps" to be used without specifying the default PIN * BoringSSL - support for OCSP stapling - support building of h20-osu-client * D-Bus - add ExpectDisconnect() - add global config parameters as properties - add SaveConfig() - add VendorElemAdd(), VendorElemGet(), VendorElemRem() * fixed Suite B 192-bit AKM to use proper PMK length (note: this makes old releases incompatible with the fixed behavior) * improved PMF behavior for cases where the AP and STA has different configuration by not trying to connect in some corner cases where the connection cannot succeed * added option to reopen debug log (e.g., to rotate the file) upon receipt of SIGHUP signal * EAP-pwd: added support for Brainpool Elliptic Curves (with OpenSSL 1.0.2 and newer) * fixed EAPOL reauthentication after FT protocol run * fixed FTIE generation for 4-way handshake after FT protocol run * extended INTERFACE_ADD command to allow certain type (sta/ap) interface to be created * fixed and improved various FST operations * added 80+80 MHz and 160 MHz VHT support for IBSS/mesh * fixed SIGNAL_POLL in IBSS and mesh cases * added an option to abort an ongoing scan (used to speed up connection and can also be done with the new ABORT_SCAN command) * TLS client - do not verify CA certificates when ca_cert is not specified - support validating server certificate hash - support SHA384 and SHA512 hashes - add signature_algorithms extension into ClientHello - support TLS v1.2 signature algorithm with SHA384 and SHA512 - support server certificate probing - allow specific TLS versions to be disabled with phase2 parameter - support extKeyUsage - support PKCS #5 v2.0 PBES2 - support PKCS #5 with PKCS #12 style key decryption - minimal support for PKCS #12 - support OCSP stapling (including ocsp_multi) * OpenSSL - support OpenSSL 1.1 API changes - drop support for OpenSSL 0.9.8 - drop support for OpenSSL 1.0.0 * added support for multiple schedule scan plans (sched_scan_plans) * added support for external server certificate chain validation (tls_ext_cert_check=1 in the network profile phase1 parameter) * made phase2 parser more strict about correct use of auth=<val> and autheap=<val> values * improved GAS offchannel operations with comeback request * added SIGNAL_MONITOR command to request signal strength monitoring events * added command for retrieving HS 2.0 icons with in-memory storage (REQ_HS20_ICON, GET_HS20_ICON, DEL_HS20_ICON commands and RX-HS20-ICON event) * enabled ACS support for AP mode operations with wpa_supplicant * EAP-PEAP: fixed interoperability issue with Windows 2012r2 server ("Invalid Compound_MAC in cryptobinding TLV") * EAP-TTLS: fixed success after fragmented final Phase 2 message * VHT: added interoperability workaround for 80+80 and 160 MHz channels * WNM: workaround for broken AP operating class behavior * added kqueue(2) support for eloop (CONFIG_ELOOP_KQUEUE) * nl80211: - add support for full station state operations - do not add NL80211_ATTR_SMPS_MODE attribute if HT is disabled - add NL80211_ATTR_PREV_BSSID with Connect command - fix IEEE 802.1X/WEP EAP reauthentication and rekeying to use unencrypted EAPOL frames * added initial MBO support; number of extensions to WNM BSS Transition Management * added support for PBSS/PCP and P2P on 60 GHz * Interworking: add credential realm to EAP-TLS identity * fixed EAPOL-Key Request Secure bit to be 1 if PTK is set * HS 2.0: add support for configuring frame filters * added POLL_STA command to check connectivity in AP mode * added initial functionality for location related operations * started to ignore pmf=1/2 parameter for non-RSN networks * added wps_disabled=1 network profile parameter to allow AP mode to be started without enabling WPS * wpa_cli: added action script support for AP-ENABLED and AP-DISABLED events * improved Public Action frame addressing - add gas_address3 configuration parameter to control Address 3 behavior * number of small fixes |
||
maya
|
30afa0ba34 |
wpa_supplicant: update to v2.6
ChangeLog for wpa_supplicant 2016-10-02 - v2.6 * fixed WNM Sleep Mode processing when PMF is not enabled [http://w1.fi/security/2015-6/] (CVE-2015-5310) * fixed EAP-pwd last fragment validation [http://w1.fi/security/2015-7/] (CVE-2015-5315) * fixed EAP-pwd unexpected Confirm message processing [http://w1.fi/security/2015-8/] (CVE-2015-5316) * fixed WPS configuration update vulnerability with malformed passphrase [http://w1.fi/security/2016-1/] (CVE-2016-4476) * fixed configuration update vulnerability with malformed parameters set over the local control interface [http://w1.fi/security/2016-1/] (CVE-2016-4477) * fixed TK configuration to the driver in EAPOL-Key 3/4 retry case * extended channel switch support for P2P GO * started to throttle control interface event message bursts to avoid issues with monitor sockets running out of buffer space * mesh mode fixes/improvements - generate proper AID for peer - enable WMM by default - add VHT support - fix PMKID derivation - improve robustness on various exchanges - fix peer link counting in reconnect case - improve mesh joining behavior - allow DTIM period to be configured - allow HT to be disabled (disable_ht=1) - add MESH_PEER_ADD and MESH_PEER_REMOVE commands - add support for PMKSA caching - add minimal support for SAE group negotiation - allow pairwise/group cipher to be configured in the network profile - use ieee80211w profile parameter to enable/disable PMF and derive a separate TX IGTK if PMF is enabled instead of using MGTK incorrectly - fix AEK and MTK derivation - remove GTKdata and IGTKdata from Mesh Peering Confirm/Close - note: these changes are not fully backwards compatible for secure (RSN) mesh network * fixed PMKID derivation with SAE * added support for requesting and fetching arbitrary ANQP-elements without internal support in wpa_supplicant for the specific element (anqp[265]=<hexdump> in "BSS <BSSID>" command output) * P2P - filter control characters in group client device names to be consistent with other P2P peer cases - support VHT 80+80 MHz and 160 MHz - indicate group completion in P2P Client role after data association instead of already after the WPS provisioning step - improve group-join operation to use SSID, if known, to filter BSS entries - added optional ssid=<hexdump> argument to P2P_CONNECT for join case - added P2P_GROUP_MEMBER command to fetch client interface address * P2PS - fix follow-on PD Response behavior - fix PD Response generation for unknown peer - fix persistent group reporting - add channel policy to PD Request - add group SSID to the P2PS-PROV-DONE event - allow "P2P_CONNECT <addr> p2ps" to be used without specifying the default PIN * BoringSSL - support for OCSP stapling - support building of h20-osu-client * D-Bus - add ExpectDisconnect() - add global config parameters as properties - add SaveConfig() - add VendorElemAdd(), VendorElemGet(), VendorElemRem() * fixed Suite B 192-bit AKM to use proper PMK length (note: this makes old releases incompatible with the fixed behavior) * improved PMF behavior for cases where the AP and STA has different configuration by not trying to connect in some corner cases where the connection cannot succeed * added option to reopen debug log (e.g., to rotate the file) upon receipt of SIGHUP signal * EAP-pwd: added support for Brainpool Elliptic Curves (with OpenSSL 1.0.2 and newer) * fixed EAPOL reauthentication after FT protocol run * fixed FTIE generation for 4-way handshake after FT protocol run * extended INTERFACE_ADD command to allow certain type (sta/ap) interface to be created * fixed and improved various FST operations * added 80+80 MHz and 160 MHz VHT support for IBSS/mesh * fixed SIGNAL_POLL in IBSS and mesh cases * added an option to abort an ongoing scan (used to speed up connection and can also be done with the new ABORT_SCAN command) * TLS client - do not verify CA certificates when ca_cert is not specified - support validating server certificate hash - support SHA384 and SHA512 hashes - add signature_algorithms extension into ClientHello - support TLS v1.2 signature algorithm with SHA384 and SHA512 - support server certificate probing - allow specific TLS versions to be disabled with phase2 parameter - support extKeyUsage - support PKCS #5 v2.0 PBES2 - support PKCS #5 with PKCS #12 style key decryption - minimal support for PKCS #12 - support OCSP stapling (including ocsp_multi) * OpenSSL - support OpenSSL 1.1 API changes - drop support for OpenSSL 0.9.8 - drop support for OpenSSL 1.0.0 * added support for multiple schedule scan plans (sched_scan_plans) * added support for external server certificate chain validation (tls_ext_cert_check=1 in the network profile phase1 parameter) * made phase2 parser more strict about correct use of auth=<val> and autheap=<val> values * improved GAS offchannel operations with comeback request * added SIGNAL_MONITOR command to request signal strength monitoring events * added command for retrieving HS 2.0 icons with in-memory storage (REQ_HS20_ICON, GET_HS20_ICON, DEL_HS20_ICON commands and RX-HS20-ICON event) * enabled ACS support for AP mode operations with wpa_supplicant * EAP-PEAP: fixed interoperability issue with Windows 2012r2 server ("Invalid Compound_MAC in cryptobinding TLV") * EAP-TTLS: fixed success after fragmented final Phase 2 message * VHT: added interoperability workaround for 80+80 and 160 MHz channels * WNM: workaround for broken AP operating class behavior * added kqueue(2) support for eloop (CONFIG_ELOOP_KQUEUE) * nl80211: - add support for full station state operations - do not add NL80211_ATTR_SMPS_MODE attribute if HT is disabled - add NL80211_ATTR_PREV_BSSID with Connect command - fix IEEE 802.1X/WEP EAP reauthentication and rekeying to use unencrypted EAPOL frames * added initial MBO support; number of extensions to WNM BSS Transition Management * added support for PBSS/PCP and P2P on 60 GHz * Interworking: add credential realm to EAP-TLS identity * fixed EAPOL-Key Request Secure bit to be 1 if PTK is set * HS 2.0: add support for configuring frame filters * added POLL_STA command to check connectivity in AP mode * added initial functionality for location related operations * started to ignore pmf=1/2 parameter for non-RSN networks * added wps_disabled=1 network profile parameter to allow AP mode to be started without enabling WPS * wpa_cli: added action script support for AP-ENABLED and AP-DISABLED events * improved Public Action frame addressing - add gas_address3 configuration parameter to control Address 3 behavior * number of small fixes |
||
wiz
|
c45b24439b |
Update gstreamer1 packages to 1.10.0.
# GStreamer 1.10 Release Notes **GStreamer 1.10.0 was released on 1st November 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.10/][latest] for the latest version of this document. *Last updated: Tuesday 1 Nov 2016, 15:00 UTC [(log)][gitlog]* [latest]: https://gstreamer.freedesktop.org/releases/1.10/ [gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/release-notes-1.10.md ## Introduction 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. ## Highlights - Several convenience APIs have been added to make developers' lives easier - A new `GstStream` API provides applications a more meaningful view of the structure of streams, simplifying the process of dealing with media in complex container formats - Experimental `decodebin3` and `playbin3` elements which bring a number of improvements which were hard to implement within `decodebin` and `playbin` - A new `parsebin` element to automatically unpack and parse a stream, stopping just short of decoding - Experimental new `meson`-based build system, bringing faster build and much better Windows support (including for building with Visual Studio) - A new `gst-docs` module has been created, and we are in the process of moving our documentation to a markdown-based format for easier maintenance and updates - A new `gst-examples` module has been create, which contains example GStreamer applications and is expected to grow with many more examples in the future - Various OpenGL and OpenGL|ES-related fixes and improvements for greater efficiency on desktop and mobile platforms, and Vulkan support on Wayland was also added - Extensive improvements to the VAAPI plugins for improved robustness and efficiency - Lots of fixes and improvements across the board, spanning RTP/RTSP, V4L2, Bluetooth, audio conversion, echo cancellation, and more! ## Major new features and changes ### Noteworthy new API, features and other changes #### Core API additions ##### Receive property change notifications via bus messages New API was added to receive element property change notifications via bus messages. So far, applications had to connect a callback to an element's `notify::property-name` signal via the GObject API, which was inconvenient for at least two reasons: one had to implement a signal callback function, and that callback function would usually be called from one of the streaming threads, so one had to marshal (send) any information gathered or pending requests to the main application thread which was tedious and error-prone. Enter [`gst_element_add_property_notify_watch()`][notify-watch] and [`gst_element_add_property_deep_notify_watch()`][deep-notify-watch] which will watch for changes of a property on the specified element, either only for this element or recursively for a whole bin or pipeline. Whenever such a property change happens, a `GST_MESSAGE_PROPERTY_NOTIFY` message will be posted on the pipeline bus with details of the element, the property and the new property value, all of which can be retrieved later from the message in the application via [`gst_message_parse_property_notify()`][parse-notify]. Unlike the GstBus watch functions, this API does not rely on a running GLib main loop. The above can be used to be notified asynchronously of caps changes in the pipeline, or volume changes on an audio sink element, for example. [notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-notify-watch [deep-notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-deep-notify-watch [parse-notify]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-property-notify ##### GstBin "deep" element-added and element-removed signals GstBin has gained `"deep-element-added"` and `"deep-element-removed"` signals which makes it easier for applications and higher-level plugins to track when elements are added or removed from a complex pipeline with multiple sub-bins. `playbin` makes use of this to implement the new `"element-setup"` signal which can be used to configure elements as they are added to `playbin`, just like the existing `"source-setup"` signal which can be used to configure the source element created. ##### Error messages can contain additional structured details It is often useful to provide additional, structured information in error, warning or info messages for applications (or higher-level elements) to make intelligent decisions based on them. To allow this, error, warning and info messages now have API for adding arbitrary additional information to them using a `GstStructure`: [`GST_ELEMENT_ERROR_WITH_DETAILS`][element-error-with-details] and corresponding API for the other message types. This is now used e.g. by the new [`GST_ELEMENT_FLOW_ERROR`][element-flow-error] API to include the actual flow error in the error message, and the [souphttpsrc element][souphttpsrc-detailed-errors] to provide the HTTP status code, and the URL (if any) to which a redirection has happened. [element-error-with-details]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-ERROR-WITH-DETAILS:CAPS [element-flow-error]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-FLOW-ERROR:CAPS [souphttpsrc-detailed-errors]: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/ext/soup/gstsouphttpsrc.c?id=60d30db912a1aedd743e66b9dcd2e21d71fbb24f#n1318 ##### Redirect messages have official API now Sometimes, elements need to redirect the current stream URL and tell the application to proceed with this new URL, possibly using a different protocol too (thus changing the pipeline configuration). Until now, this was informally implemented using `ELEMENT` messages on the bus. Now this has been formalized in the form of a new `GST_MESSAGE_REDIRECT` message. A new redirect message can be created using [`gst_message_new_redirect()`][new-redirect]. If needed, multiple redirect locations can be specified by calling [`gst_message_add_redirect_entry()`][add-redirect] to add further redirect entries, all with metadata, so the application can decide which is most suitable (e.g. depending on the bitrate tags). [new-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-redirect [add-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-add-redirect-entry ##### New pad linking convenience functions that automatically create ghost pads New pad linking convenience functions were added: [`gst_pad_link_maybe_ghosting()`][pad-maybe-ghost] and [`gst_pad_link_maybe_ghosting_full()`][pad-maybe-ghost-full] which were previously internal to GStreamer have now been exposed for general use. The existing pad link functions will refuse to link pads or elements at different levels in the pipeline hierarchy, requiring the developer to create ghost pads where necessary. These new utility functions will automatically create ghostpads as needed when linking pads at different levels of the hierarchy (e.g. from an element inside a bin to one that's at the same level in the hierarchy as the bin, or in another bin). [pad-maybe-ghost]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting [pad-maybe-ghost-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting-full ##### Miscellaneous Pad probes: IDLE and BLOCK probes now work slightly differently in pull mode, so that push and pull mode have opposite scenarios for idle and blocking probes. In push mode, it will block with some data type and IDLE won't have any data. In pull mode, it will block _before_ getting a buffer and will be IDLE once some data has been obtained. ([commit][commit-pad-probes], [bug][bug-pad-probes]) [commit-pad-probes]: https://cgit.freedesktop.org/gstreamer/gstreamer/commit/gst/gstpad.c?id=368ee8a336d0c868d81fdace54b24431a8b48cbf [bug-pad-probes]: https://bugzilla.gnome.org/show_bug.cgi?id=761211 [`gst_parse_launch_full()`][parse-launch-full] can now be made to return a `GstBin` instead of a top-level pipeline by passing the new `GST_PARSE_FLAG_PLACE_IN_BIN` flag. [parse-launch-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch-full The default GStreamer debug log handler can now be removed before calling `gst_init()`, so that it will never get installed and won't be active during initialization. A new [`STREAM_GROUP_DONE` event][stream-group-done-event] was added. In some ways it works similar to the `EOS` event in that it can be used to unblock downstream elements which may be waiting for further data, such as for example `input-selector`. Unlike `EOS`, further data flow may happen after the `STREAM_GROUP_DONE` event though (and without the need to flush the pipeline). This is used to unblock input-selector when switching between streams in adaptive streaming scenarios (e.g. HLS). [stream-group-done-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-group-done The `gst-launch-1.0` command line tool will now print unescaped caps in verbose mode (enabled by the -v switch). [`gst_element_call_async()`][call-async] has been added as convenience API for plugin developers. It is useful for one-shot operations that need to be done from a thread other than the current streaming thread. It is backed by a thread-pool that is shared by all elements. [call-async]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-call-async Various race conditions have been fixed around the `GstPoll` API used by e.g. `GstBus` and `GstBufferPool`. Some of these manifested themselves primarily on Windows. `GstAdapter` can now keep track of discontinuities signalled via the `DISCONT` buffer flag, and has gained [new API][new-adapter-api] to track PTS, DTS and offset at the last discont. This is useful for plugins implementing advanced trick mode scenarios. [new-adapter-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-pts-at-discont `GstTestClock` gained a new [`"clock-type"` property][clock-type-prop]. [clock-type-prop]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#GstTestClock--clock-type #### GstStream API for stream announcement and stream selection New stream listing and stream selection API: new API has been added to provide high-level abstractions for streams ([`GstStream`][stream-api]) and collections of streams ([`GstStreamCollections`][stream-collection-api]). ##### Stream listing A [`GstStream`][stream-api] contains all the information pertinent to a stream, such as stream id, caps, tags, flags and stream type(s); it can represent a single elementary stream (e.g. audio, video, subtitles, etc.) or a container stream. This will depend on the context. In a decodebin3/playbin3 one it will typically be elementary streams that can be selected and unselected. A [`GstStreamCollection`][stream-collection-api] represents a group of streams and is used to announce or publish all available streams. A GstStreamCollection is immutable - once created it won't change. If the available streams change, e.g. because a new stream appeared or some streams disappeared, a new stream collection will be published. This new stream collection may contain streams from the previous collection if those streams persist, or completely new ones. Stream collections do not yet list all theoretically available streams, e.g. other available DVD angles or alternative resolutions/bitrate of the same stream in case of adaptive streaming. New events and messages have been added to notify or update other elements and the application about which streams are currently available and/or selected. This way, we can easily and seamlessly let the application know whenever the available streams change, as happens frequently with digital television streams for example. The new system is also more flexible. For example, it is now also possible for the application to select multiple streams of the same type (e.g. in a transcoding/transmuxing scenario). A [`STREAM_COLLECTION` message][stream-collection-msg] is posted on the bus to inform the parent bin (e.g. `playbin3`, `decodebin3`) and/or the application about what streams are available, so you no longer have to hunt for this information at different places. The available information includes number of streams of each type, caps, tags etc. Bins and/or the application can intercept the message synchronously to select and deselect streams before any data is produced - for the case where elements such as the demuxers support the new stream API, not necessarily in the parsebin compatibility fallback case. Similarly, there is also a [`STREAM_COLLECTION` event][stream-collection-event] to inform downstream elements of the available streams. This event can be used by elements to aggregate streams from multiple inputs into one single collection. The `STREAM_START` event was extended so that it can also contain a GstStream object with all information about the current stream, see [`gst_event_set_stream()`][event-set-stream] and [`gst_event_parse_stream()`][event-parse-stream]. [`gst_pad_get_stream()`][pad-get-stream] is a new utility function that can be used to look up the GstStream from the `STREAM_START` sticky event on a pad. [stream-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStream.html [stream-collection-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStreamCollection.html [stream-collection-msg]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-stream-collection [stream-collection-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-collection [event-set-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-set-stream [event-parse-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-parse-stream [pad-get-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-stream ##### Stream selection Once the available streams have been published, streams can be selected via their stream ID using the new `SELECT_STREAMS` event, which can be created with [`gst_event_new_select_streams()`][event-select-streams]. The new API supports selecting multiple streams per stream type. In the future, we may also implement explicit deselection of streams that will never be used, so elements can skip these and never expose them or output data for them in the first place. The application is then notified of the currently selected streams via the new `STREAMS_SELECTED` message on the pipeline bus, containing both the current stream collection as well as the selected streams. This might be posted in response to the application sending a `SELECT_STREAMS` event or when `decodebin3` or `playbin3` decide on the streams to be initially selected without application input. [event-select-streams]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-select-streams ##### Further reading See further below for some notes on the new elements supporting this new stream API, namely: `decodebin3`, `playbin3` and `parsebin`. More information about the new API and the new elements can also be found here: - GStreamer [stream selection design docs][streams-design] - Edward Hervey's talk ["The new streams API: Design and usage"][streams-talk] ([slides][streams-slides]) - Edward Hervey's talk ["Decodebin3: Dealing with modern playback use cases"][db3-talk] ([slides][db3-slides]) [streams-design]: https://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-stream-selection.txt [streams-talk]: https://gstconf.ubicast.tv/videos/the-new-gststream-api-design-and-usage/ [streams-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2016/Edward%20Hervey%20-%20The%20New%20Streams%20API%20Design%20and%20Usage.pdf [db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/ [db3-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2015/Edward%20Hervey%20-%20decodebin3.pdf #### Audio conversion and resampling API The audio conversion library received a completely new and rewritten audio resampler, complementing the audio conversion routines moved into the audio library in the [previous release][release-notes-1.8]. Integrating the resampler with the other audio conversion library allows us to implement generic conversion much more efficiently, as format conversion and resampling can now be done in the same processing loop instead of having to do it in separate steps (our element implementations do not make use of this yet though). The new audio resampler library is a combination of some of the best features of other samplers such as ffmpeg, speex and SRC. It natively supports S16, S32, F32 and F64 formats and uses optimized x86 and neon assembly for most of its processing. It also has support for dynamically changing sample rates by incrementally updating the filter tables using linear or cubic interpolation. According to some benchmarks, it's one of the fastest and most accurate resamplers around. The `audioresample` plugin has been ported to the new audio library functions to make use of the new resampler. [release-notes-1.8]: https://gstreamer.freedesktop.org/releases/1.8/ #### Support for SMPTE timecodes Support for SMPTE timecodes was added to the GStreamer video library. This comes with an abstraction for timecodes, [`GstVideoTimeCode`][video-timecode] and a [`GstMeta`][video-timecode-meta] that can be placed on video buffers for carrying the timecode information for each frame. Additionally there is various API for making handling of timecodes easy and to do various calculations with them. A new plugin called [`timecode`][timecode-plugin] was added, that contains an element called `timecodestamper` for putting the timecode meta on video frames based on counting the frames and another element called `timecodewait` that drops all video (and audio) until a specific timecode is reached. Additionally support was added to the Decklink plugin for including the timecode information when sending video out or capturing it via SDI, the `qtmux` element is able to write timecode information into the MOV container, and the `timeoverlay` element can overlay timecodes on top of the video. More information can be found in the [talk about timecodes][timecode-talk] at the GStreamer Conference 2016. [video-timecode]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoTimeCode [video-timecode-meta]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideometa.html#gst-buffer-add-video-time-code-meta [timecode-plugin]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/timecode [timecode-talk]: https://gstconf.ubicast.tv/videos/smpte-timecodes-in-gstreamer/ #### GStreamer OpenMAX IL plugin The last gst-omx release, 1.2.0, was in July 2014. It was about time to get a new one out with all the improvements that have happened in the meantime. From now on, we will try to release gst-omx together with all other modules. This release features a lot of bugfixes, improved support for the Raspberry Pi and in general improved support for zerocopy rendering via EGL and a few minor new features. At this point, gst-omx is known to work best on the Raspberry Pi platform but it is also known to work on various other platforms. Unfortunately, we are not including configurations for any other platforms, so if you happen to use gst-omx: please send us patches with your configuration and code changes! ### New Elements #### decodebin3, playbin3, parsebin (experimental) This release features new decoding and playback elements as experimental technology previews: `decodebin3` and `playbin3` will soon supersede the existing `decodebin` and `playbin` elements. We skipped the number 2 because it was already used back in the 0.10 days, which might cause confusion. Experimental technology preview means that everything should work fine already, but we can't guarantee there won't be minor behavioural changes in the next cycle. In any case, please test and report any problems back. Before we go into detail about what these new elements improve, let's look at the new [`parsebin`][parsebin] element. It works similarly to `decodebin` and `decodebin3`, only that it stops one step short and does not plug any actual decoder elements. It will only plug parsers, tag readers, demuxers and depayloaders. Also note that parsebin does not contain any queueing element. [`decodebin3`'s][decodebin3] internal architecture is slightly different from the existing `decodebin` element and fixes many long-standing issues with our decoding engine. For one, data is now fed into the internal `multiqueue` element *after* it has been parsed and timestamped, which means that the `multiqueue` element now has more knowledge and is able to calculate the interleaving of the various streams, thus minimizing memory requirements and doing away with magic values for buffering limits that were conceived when videos were 240p or 360p. Anyone who has tried to play back 4k video streams with decodebin2 will have noticed the limitations of that approach. The improved timestamp tracking also enables `multiqueue` to keep streams of the same type (audio, video) aligned better, making sure switching between streams of the same type is very fast. Another major improvement in `decodebin3` is that it will no longer decode streams that are not being used. With the old `decodebin` and `playbin`, when there were 8 audio streams we would always decode all 8 streams even if 7 were not actually used. This caused a lot of CPU overhead, which was particularly problematic on embedded devices. When switching between streams `decodebin3` will try hard to re-use existing decoders. This is useful when switching between multiple streams of the same type if they are encoded in the same format. Re-using decoders is also useful when the available streams change on the fly, as might happen with radio streams (chained Oggs), digital television broadcasts, when adaptive streaming streams change bitrate, or when switching gaplessly to the next title. In order to guarantee a seamless transition, the old `decodebin2` would plug a second decoder for the new stream while finishing up the old stream. With `decodebin3`, this is no longer needed - at least not when the new and old format are the same. This will be particularly useful on embedded systems where it is often not possible to run multiple decoders at the same time, or when tearing down and setting up decoders is fairly expensive. `decodebin3` also allows for multiple input streams, not just a single one. This will be useful, in the future, for gapless playback, or for feeding multiple external subtitle streams to decodebin/playbin. `playbin3` uses `decodebin3` internally, and will supercede `playbin`. It was decided that it would be too risky to make the old `playbin` use the new `decodebin3` in a backwards-compatible way. The new architecture makes it awkward, if not impossible, to maintain perfect backwards compatibility in some aspects, hence `playbin3` was born, and developers can migrate to the new element and new API at their own pace. All of these new elements make use of the new `GstStream` API for listing and selecting streams, as described above. `parsebin` provides backwards compatibility for demuxers and parsers which do not advertise their streams using the new API yet (which is most). The new elements are not entirely feature-complete yet: `playbin3` does not support so-called decodersinks yet where the data is not decoded inside GStreamer but passed directly for decoding to the sink. `decodebin3` is missing the various `autoplug-*` signals to influence which decoders get autoplugged in which order. We're looking to add back this functionality, but it will probably be in a different way, with a single unified signal and using GstStream perhaps. For more information on these new elements, check out Edward Hervey's talk [*decodebin3 - dealing with modern playback use cases*][db3-talk] [parsebin]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-parsebin.html [decodebin3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-decodebin3.html [db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/ #### LV2 ported from 0.10 and switched from slv2 to lilv2 The LV2 wrapper plugin has been ported to 1.0 and moved from using the deprecated slv2 library to its replacement liblv2. We support sources and filter elements. lv2 is short for *Linux Audio Developer's Simple Plugin API (LADSPA) version 2* and is an open standard for audio plugins which includes support for audio synthesis (generation), digital signal processing of digital audio, and MIDI. The new lv2 plugin supersedes the existing LADSPA plugin. #### WebRTC DSP Plugin for echo-cancellation, gain control and noise suppression A set of new elements ([webrtcdsp][webrtcdsp], [webrtcechoprobe][webrtcechoprobe]) based on the WebRTC DSP software stack can now be used to improve your audio voice communication pipelines. They support echo cancellation, gain control, noise suppression and more. For more details you may read [Nicolas' blog post][webrtc-blog-post]. [webrtcdsp]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcdsp.html [webrtcechoprobe]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html [webrtc-blog-post]: https://ndufresne.ca/2016/06/gstreamer-echo-canceller/ #### Fraunhofer FDK AAC encoder and decoder New encoder and decoder elements wrapping the Fraunhofer FDK AAC library have been added (`fdkaacdec`, `fdkaacdec`). The Fraunhofer FDK AAC encoder is generally considered to be a very high-quality AAC encoder, but unfortunately it comes under a non-free license with the option to obtain a paid, commercial license. ### Noteworthy element features and additions #### Major RTP and RTSP improvements - The RTSP server and source element, as well as the RTP jitterbuffer now support remote clock synchronization according to [RFC7273][https://tools.ietf.org/html/rfc7273]. - Support for application and profile specific RTCP packets was added. - The H265/HEVC payloader/depayloader is again in sync with the final RFC. - Seeking stability of the RTSP source and server was improved a lot and runs stably now, even when doing scrub-seeking. - The RTSP server received various major bugfixes, including for regressions that caused the IP/port address pool to not be considered, or NAT hole punching to not work anymore. [Bugzilla #766612][https://bugzilla.gnome.org/show_bug.cgi?id=766612] - Various other bugfixes that improve the stability of RTP and RTSP, including many new unit / integration tests. #### Improvements to splitmuxsrc and splitmuxsink - The splitmux element received reliability and error handling improvements, removing at least one deadlock case. `splitmuxsrc` now stops cleanly at the end of the segment when handling seeks with a stop time. We fixed a bug with large amounts of downstream buffering causing incorrect out-of-sequence playback. - `splitmuxsrc` now has a `"format-location"` signal to directly specify the list of files to play from. - `splitmuxsink` can now optionally send force-keyunit events to upstream elements to allow splitting files more accurately instead of having to wait for upstream to provide a new keyframe by itself. #### OpenGL/GLES improvements ##### iOS and macOS (OS/X) - We now create OpenGL|ES 3.x contexts on iOS by default with a fallback to OpenGL|ES 2.x if that fails. - Various zerocopy decoding fixes and enhancements with the encoding/decoding/capturing elements. - libdispatch is now used on all Apple platforms instead of GMainLoop, removing the expensive poll()/pthread_*() overhead. ##### New API - `GstGLFramebuffer` - for wrapping OpenGL frame buffer objects. It provides facilities for attaching `GstGLMemory` objects to the necessary attachment points, binding and unbinding and running a user-supplied function with the framebuffer bound. - `GstGLRenderbuffer` (a `GstGLBaseMemory` subclass) - for wrapping OpenGL render buffer objects that are typically used for depth/stencil buffers or for color buffers where we don't care about the output. - `GstGLMemoryEGL` (a `GstGLMemory` subclass) - for combining `EGLImage`s with a GL texture that replaces `GstEGLImageMemory` bringing the improvements made to the other `GstGLMemory` implementations. This fixes a performance regression in zerocopy decoding on the Raspberry Pi when used with an updated gst-omx. ##### Miscellaneous improvements - `gltestsrc` is now usable on devices/platforms with OpenGL 3.x and OpenGL|ES and has completed or gained support for new patterns in line with the existing ones in `videotestsrc`. - `gldeinterlace` is now available on devices/platforms with OpenGL|ES implementations. - The dispmanx backend (used on the Raspberry Pi) now supports the `gst_video_overlay_set_window_handle()` and `gst_video_overlay_set_render_rectangle()` functions. - The `gltransformation` element now correctly transforms mouse coordinates (in window space) to stream coordinates for both perspective and orthographic projections. - The `gltransformation` element now detects if the `GstVideoAffineTransformationMeta` is supported downstream and will efficiently pass its transformation downstream. This is a performance improvement as it results in less processing being required. - The wayland implementation now uses the multi-threaded safe event-loop API allowing correct usage in applications that call wayland functions from multiple threads. - Support for native 90 degree rotations and horizontal/vertical flips in `glimagesink`. #### Vulkan - The Vulkan elements now work under Wayland and have received numerous bugfixes. #### QML elements - `qmlglsink` video sink now works on more platforms, notably, Windows, Wayland, and Qt's eglfs (for embedded devices with an OpenGL implementation) including the Raspberry Pi. - New element `qmlglsrc` to record a QML scene into a GStreamer pipeline. #### KMS video sink - New element `kmssink` to render video using Direct Rendering Manager (DRM) and Kernel Mode Setting (KMS) subsystems in the Linux kernel. It is oriented to be used mostly in embedded systems. #### Wayland video sink - `waylandsink` now supports the wl_viewporter extension allowing video scaling and cropping to be delegated to the Wayland compositor. This extension is also been made optional, so that it can also work on current compositors that don't support it. It also now has support for the video meta, allowing zero-copy operations in more cases. #### DVB improvements - `dvbsrc` now has better delivery-system autodetection and several new parameter sanity-checks to improve its resilience to configuration omissions and errors. Superfluous polling continues to be trimmed down, and the debugging output has been made more consistent and precise. Additionally, the channel-configuration parser now supports the new dvbv5 format, enabling `dvbbasebin` to automatically playback content transmitted on delivery systems that previously required manual description, like ISDB-T. #### DASH, HLS and adaptivedemux - HLS now has support for Alternate Rendition audio and video tracks. Full support for Alternate Rendition subtitle tracks will be in an upcoming release. - DASH received support for keyframe-only trick modes if the `GST_SEEK_FLAG_TRICKMODE_KEY_UNITS` flag is given when seeking. It will only download keyframes then, which should help with high-speed playback. Changes to skip over multiple frames based on bandwidth and other metrics will be added in the near future. - Lots of reliability fixes around seek handling and bitrate switching. #### Bluetooth improvements - The `avdtpsrc` element now supports metadata such as track title, artist name, and more, which devices can send via AVRCP. These are published as tags on the pipeline. - The `a2dpsink` element received some love and was cleaned up so that it actually works after the initial GStreamer 1.0 port. #### GStreamer VAAPI - All the decoders have been split, one plugin feature per codec. So far, the available ones, depending on the driver, are: `vaapimpeg2dec`, `vaapih264dec`, `vaapih265dec`, `vaapivc1dec`, `vaapivp8dec`, `vaapivp9dec` and `vaapijpegdec` (which already was split). - Improvements when mapping VA surfaces into memory. It now differentiates between negotiation caps and allocations caps, since the allocation memory for surfaces may be bigger than one that is going to be mapped. - `vaapih265enc` now supports constant bitrate mode (CBR). - Since several VA drivers are unmaintained, we decide to keep a whitelist with the va drivers we actually test, which is mostly the i915 and to a lesser degree gallium from the mesa project. Exporting the environment variable `GST_VAAPI_ALL_DRIVERS` disables the whitelist. - Plugin features are registered at run-time, according to their support by the loaded VA driver. So only the decoders and encoder supported by the system are registered. Since the driver can change, some dependencies are tracked to invalidate the GStreamer registry and reload the plugin. - `dmabuf` importation from upstream has been improved, gaining performance. - `vaapipostproc` now can negotiate buffer transformations via caps. - Decoders now can do I-frame only reverse playback. This decodes I-frames only because the surface pool is smaller than the required by the GOP to show all the frames. - The upload of frames onto native GL textures has been optimized too, keeping a cache of the internal structures for the offered textures by the sink. #### V4L2 changes - More pixels formats are now supported - Decoder is now using `G_SELECTION` instead of the deprecated `G_CROP` - Decoder now uses the `STOP` command to handle EOS - Transform element can now scale the pixel aspect ratio - Colorimetry support has been improved even more - We now support the `OUTPUT_OVERLAY` type of video node in v4l2sink #### Miscellaneous - `multiqueue`'s input pads gained a new `"group-id"` property which can be used to group input streams. Typically one will assign different id numbers to audio, video and subtitle streams for example. This way `multiqueue` can make sure streams of the same type advance in lockstep if some of the streams are unlinked and the `"sync-by-running-time"` property is set. This is used in decodebin3/playbin3 to implement almost-instantaneous stream switching. The grouping is required because different downstream paths (audio, video, etc.) may have different buffering/latency etc. so might be consuming data from multiqueue with a slightly different phase, and if we track different stream groups separately we minimize stream switching delays and buffering inside the `multiqueue`. - `alsasrc` now supports ALSA drivers without a position for each channel, this is common in some professional or industrial hardware. - `libvpx` based decoders (`vp8dec` and `vp9dec`) now create multiple threads on computers with multiple CPUs automatically. - `rfbsrc` - used for capturing from a VNC server - has seen a lot of debugging. It now supports the latest version of the RFB protocol and uses GIO everywhere. - `tsdemux` can now read ATSC E-AC-3 streams. - New `GstVideoDirection` video orientation interface for rotating, flipping and mirroring video in 90° steps. It is implemented by the `videoflip` and `glvideoflip` elements currently. - It is now possible to give `appsrc` a duration in time, and there is now a non-blocking try-pull API for `appsink` that returns NULL if nothing is available right now. - `x264enc` has support now for chroma-site and colorimetry settings - A new JPEG2000 parser element was added, and the JPEG2000 caps were cleaned up and gained more information needed in combination with RTP and various container formats. - Reverse playback support for `videorate` and `deinterlace` was implemented - Various improvements everywhere for reverse playback and `KEY_UNITS` trick mode - New cleaned up `rawaudioparse` and `rawvideoparse` elements that replace the old `audioparse` and `videoparse` elements. There are compatibility element factories registered with the old names to allow existing code to continue to work. - The Decklink plugin gained support for 10 bit video SMPTE timecodes, and generally got many bugfixes for various issues. - New API in `GstPlayer` for setting the multiview mode for stereoscopic video, setting an HTTP/RTSP user agent and a time offset between audio and video. In addition to that, there were various bugfixes and the new gst-examples module contains Android, iOS, GTK+ and Qt example applications. - `GstBin` has new API for suppressing various `GstElement` or `GstObject` flags that would otherwise be affected by added/removed child elements. This new API allows `GstBin` subclasses to handle for themselves if they should be considered a sink or source element, for example. - The `subparse` element can handle WebVTT streams now. - A new `sdpsrc` element was added that can read an SDP from a file, or get it as a string as property and then sets up an RTP pipeline accordingly. ### Plugin moves No plugins were moved this cycle. We'll make up for it next cycle, promise! ### Rewritten memory leak tracer GStreamer has had basic functionality to trace allocation and freeing of both mini-objects (buffers, events, caps, etc.) and objects in the form of the internal `GstAllocTrace` tracing system. This API was never exposed in the 1.x API series though. When requested, this would dump a list of objects and mini-objects at exit time which had still not been freed at that point, enabled with an environment variable. This subsystem has now been removed in favour of a new implementation based on the recently-added tracing framework. Tracing hooks have been added to trace the creation and destruction of GstObjects and mini-objects, and a new tracer plugin has been written using those new hooks to track which objects are still live and which are not. If GStreamer has been compiled against the libunwind library, the new leaks tracer will remember where objects were allocated from as well. By default the leaks tracer will simply output a warning if leaks have been detected on `gst_deinit()`. If the `GST_LEAKS_TRACER_SIG` environment variable is set, the leaks tracer will also handle the following UNIX signals: - `SIGUSR1`: log alive objects - `SIGUSR2`: create a checkpoint and print a list of objects created and destroyed since the previous checkpoint. Unfortunately this will not work on Windows due to no signals, however. If the `GST_LEAKS_TRACER_STACK_TRACE` environment variable is set, the leaks tracer will also log the creation stack trace of leaked objects. This may significantly increase memory consumption however. New `MAY_BE_LEAKED` flags have been added to GstObject and GstMiniObject, so that objects and mini-objects that are likely to stay around forever can be flagged and blacklisted from the leak output. To give the new leak tracer a spin, simply call any GStreamer application such as `gst-launch-1.0` or `gst-play-1.0` like this: GST_TRACERS=leaks gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink If there are any leaks, a warning will be raised at the end. It is also possible to trace only certain types of objects or mini-objects: GST_TRACERS="leaks(GstEvent,GstMessage)" gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink This dedicated leaks tracer is much much faster than valgrind since all code is executed natively instead of being instrumented. This makes it very suitable for use on slow machines or embedded devices. It is however limited to certain types of leaks and won't catch memory leaks when the allocation has been made via plain old `malloc()` or `g_malloc()` or other means. It will also not trace non-GstObject GObjects. The goal is to enable leak tracing on GStreamer's Continuous-Integration and testing system, both for the regular unit tests (make check) and media tests (gst-validate), so that accidental leaks in common code paths can be detected and fixed quickly. For more information about the new tracer, check out Guillaume Desmottes's ["Tracking Memory Leaks"][leaks-talk] talk or his [blog post][leaks-blog] about the topic. [leaks-talk]: https://gstconf.ubicast.tv/videos/tracking-memory-leaks/ [leaks-blog]: https://blog.desmottes.be/?post/2016/06/20/GStreamer-leaks-tracer ### GES and NLE changes - Clip priorities are now handled by the layers, and the GESTimelineElement priority property is now deprecated and unused - Enhanced (de)interlacing support to always use the `deinterlace` element and expose needed properties to users - Allow reusing clips children after removing the clip from a layer - We are now testing many more rendering formats in the gst-validate test suite, and failures have been fixed. - Also many bugs have been fixed in this cycle! ### GStreamer validate changes This cycle has been focused on making GstValidate more than just a validating tool, but also a tool to help developers debug their GStreamer issues. When reporting issues, we try to gather as much information as possible and expose it to end users in a useful way. For an example of such enhancements, check out Thibault Saunier's [blog post](improving-debugging-gstreamer-validate) about the new Not Negotiated Error reporting mechanism. Playbin3 support has been added so we can run validate tests with `playbin3` instead of playbin. We are now able to properly communicate between `gst-validate-launcher` and launched subprocesses with actual IPC between them. That has enabled the test launcher to handle failing tests specifying the exact expected issue(s). [improving-debugging-gstreamer-validate]: https://blogs.s-osg.org/improving-debugging-gstreamer-validate/ ### gst-libav changes gst-libav uses the recently released ffmpeg 3.2 now, which brings a lot of improvements and bugfixes from the ffmpeg team in addition to various new codec mappings on the GStreamer side and quite a few bugfixes to the GStreamer integration to make it more robust. ## Build and Dependencies ### Experimental support for Meson as build system #### Overview We have have added support for building GStreamer using the [Meson build system][meson]. This is currently experimental, but should work fine at least on Linux using the gcc or clang toolchains and on Windows using the MingW or MSVC toolchains. Autotools remains the primary build system for the time being, but we hope to someday replace it and will steadily work towards that goal. More information about the background and implications of all this and where we're hoping to go in future with this can be found in [Tim's mail][meson-mail] to the gstreamer-devel mailing list. For more information on Meson check out [these videos][meson-videos] and also the [Meson talk][meson-gstconf] at the GStreamer Conference. Immediate benefits for Linux users are faster builds and rebuilds. At the time of writing the Meson build of GStreamer is used by default in GNOME's jhbuild system. The Meson build currently still lacks many of the fine-grained configuration options to enable/disable specific plugins. These will be added back in due course. Note: The meson build files are not distributed in the source tarballs, you will need to get GStreamer from git if you want try it out. [meson]: http://mesonbuild.com/ [meson-mail]: https://lists.freedesktop.org/archives/gstreamer-devel/2016-September/060231.html [meson-videos]: http://mesonbuild.com/videos.html [meson-gstconf]: https://gstconf.ubicast.tv/videos/gstreamer-development-on-windows-ans-faster-builds-everywhere-with-meson/ #### Windows Visual Studio toolchain support Windows users might appreciate being able to build GStreamer using the MSVC toolchain, which is not possible using autotools. This means that it will be possible to debug GStreamer and applications in Visual Studio, for example. We require VS2015 or newer for this at the moment. There are two ways to build GStreamer using the MSVC toolchain: 1. Using the MSVC command-line tools (`cl.exe` etc.) via Meson's "ninja" backend. 2. Letting Meson's "vs2015" backend generate Visual Studio project files that can be opened in Visual Studio and compiled from there. This is currently only for adventurous souls though. All the bits are in place, but support for all of this has not been merged into GStreamer's cerbero build tool yet at the time of writing. This will hopefully happen in the next cycle, but for now this means that those wishing to compile GStreamer with MSVC will have to get their hands dirty. There are also no binary SDK builds using the MSVC toolchain yet. For more information on GStreamer builds using Meson and the Windows toolchain check out Nirbheek Chauhan's blog post ["Building and developing GStreamer using Visual Studio"][msvc-blog]. [msvc-blog]: http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html ### Dependencies #### gstreamer libunwind was added as an optional dependency. It is used only for debugging and tracing purposes. The `opencv` plugin in gst-plugins-bad can now be built against OpenCV version 3.1, previously only 2.3-2.5 were supported. #### gst-plugins-ugly - `mpeg2dec` now requires at least libmpeg2 0.5.1 (from 2008). #### gst-plugins-bad - `gltransformation` now requires at least graphene 1.4.0. - `lv2` now plugin requires at least lilv 0.16 instead of slv2. ### Packaging notes Packagers please note that the `gst/gstconfig.h` public header file in the GStreamer core library moved back from being an architecture dependent include to being architecture independent, and thus it is no longer installed into `$(libdir)/gstreamer-1.0/include/gst` but into the normal include directory where it lives happily ever after with all the other public header files. The reason for this is that we now check whether the target supports unaligned memory access based on predefined compiler macros at compile time instead of checking it at configure time. ## Platform-specific improvements ### Android #### New universal binaries for all supported ABIs We now provide a "universal" tarball to allow building apps against all the architectures currently supported (x86, x86-64, armeabi, armeabi-v7a, armeabi-v8a). This is needed for building with recent versions of the Android NDK which defaults to building against all supported ABIs. Use [the Android player example][android-player-example-build] as a reference for the required changes. [android-player-example-build]: https://cgit.freedesktop.org/gstreamer/gst-examples/commit/playback/player/android?id=a5cdde9119f038a1eb365aca20faa9741a38e788 #### Miscellaneous - New `ahssrc` element that allows reading the hardware sensors, e.g. compass or accelerometer. ### macOS (OS/X) and iOS - Support for querying available devices on OS/X via the GstDeviceProvider API was added. - It is now possible to create OpenGL|ES 3.x contexts on iOS and use them in combination with the VideoToolbox based decoder element. - many OpenGL/GLES improvements, see OpenGL section above ### Windows - gstconfig.h: Always use dllexport/import on Windows with MSVC - Miscellaneous fixes to make libs and plugins compile with the MVSC toolchain - MSVC toolchain support (see Meson section above for more details) ## New Modules for Documentation, Examples, Meson Build Three new git modules have been added recently: ### gst-docs This is a new module where we will maintain documentation in the markdown format. It contains the former gstreamer.com SDK tutorials which have kindly been made available by Fluendo under a Creative Commons license. The tutorials have been reviewed and updated for GStreamer 1.x and will be available as part of the [official GStreamer documentation][doc] going forward. The old gstreamer.com site will then be shut down with redirects pointing to the updated tutorials. Some of the existing docbook XML-formatted documentation from the GStreamer core module such as the *Application Development Manual* and the *Plugin Writer's Guide* have been converted to markdown as well and will be maintained in the gst-docs module in future. They will be removed from the GStreamer core module in the next cycle. This is just the beginning. Our goal is to provide a more cohesive documentation experience for our users going forward, and easier to create and maintain documentation for developers. There is a lot more work to do, get in touch if you want to help out. If you encounter any problems or spot any omissions or outdated content in the new documentation, please [file a bug in bugzilla][doc-bug] to let us know. We will probably release gst-docs as a separate tarball for distributions to package in the next cycle. [doc]: http://gstreamer.freedesktop.org/documentation/ [doc-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=documentation ### gst-examples A new [module][examples-git] has been added for examples. It does not contain much yet, currently it only contains a small [http-launch][http-launch] utility that serves a pipeline over http as well as various [GstPlayer playback frontends][puis] for Android, iOS, Gtk+ and Qt. More examples will be added over time. The examples in this repository should be more useful and more substantial than most of the examples we ship as part of our other modules, and also written in a way that makes them good example code. If you have ideas for examples, let us know. No decision has been made yet if this module will be released and/or packaged. It probably makes sense to do so though. [examples-git]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/ [http-launch]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/network/http-launch/ [puis]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player ### gst-build [gst-build][gst-build-git] is a new meta module to build GStreamer using the new Meson build system. This module is not required to build GStreamer with Meson, it is merely for convenience and aims to provide a development setup similar to the existing `gst-uninstalled` setup. gst-build makes use of Meson's [subproject feature][meson-subprojects] and sets up the various GStreamer modules as subprojects, so they can all be updated and built in parallel. This module is still very new and highly experimental. It should work at least on Linux and Windows (OS/X needs some build fixes). Let us know of any issues you encounter by popping into the `#gstreamer` IRC channel or by [filing a bug][gst-build-bug]. This module will probably not be released or packaged (does not really make sense). [gst-build-git]: https://cgit.freedesktop.org/gstreamer/gst-build/tree/ [gst-build-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-build [meson-subprojects]: https://github.com/mesonbuild/meson/wiki/Subprojects ## Contributors Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț, Alex Ashley, Alex-P. Natsios, Alistair Buxton, Allen Zhang, Andreas Naumann, Andrew Eikum, Andy Devar, Anthony G. Basile, Arjen Veenhuizen, Arnaud Vrac, Artem Martynovich, Arun Raghavan, Aurélien Zanelli, Barun Kumar Singh, Bernhard Miller, Brad Lackey, Branko Subasic, Carlos Garcia Campos, Carlos Rafael Giani, Christoffer Stengren, Daiki Ueno, Damian Ziobro, Danilo Cesar Lemes de Paula, David Buchmann, Dimitrios Katsaros, Duncan Palmer, Edward Hervey, Emmanuel Poitier, Enrico Jorns, Enrique Ocaña González, Fabrice Bellet, Florian Zwoch, Florin Apostol, Francisco Velazquez, Frédéric Bertolus, Fredrik Fornwall, Gaurav Gupta, George Kiagiadakis, Georg Lippitsch, Göran Jönsson, Graham Leggett, Gregoire Gentil, Guillaume Desmottes, Gwang Yoon Hwang, Haakon Sporsheim, Haihua Hu, Havard Graff, Heinrich Fink, Hoonhee Lee, Hyunjun Ko, Iain Lane, Ian, Ian Jamison, Jagyum Koo, Jake Foytik, Jakub Adam, Jan Alexander Steffens (heftig), Jan Schmidt, Javier Martinez Canillas, Jerome Laheurte, Jesper Larsen, Jie Jiang, Jihae Yi, Jimmy Ohn, Jinwoo Ahn, Joakim Johansson, Joan Pau Beltran, Jonas Holmberg, Jonathan Matthew, Jonathan Roy, Josep Torra, Julien Isorce, Jun Ji, Jürgen Slowack, Justin Kim, Kazunori Kobayashi, Kieran Bingham, Kipp Cannon, Koop Mast, Kouhei Sutou, Kseniia, Kyle Schwarz, Kyungyong Kim, Linus Svensson, Luis de Bethencourt, Marcin Kolny, Marcin Lewandowski, Marianna Smidth Buschle, Mario Sanchez Prada, Mark Combellack, Mark Nauwelaerts, Martin Kelly, Matej Knopp, Mathieu Duponchelle, Mats Lindestam, Matthew Gruenke, Matthew Waters, Michael Olbrich, Michal Lazo, Miguel París Díaz, Mikhail Fludkov, Minjae Kim, Mohan R, Munez, Nicola Murino, Nicolas Dufresne, Nicolas Huet, Nikita Bobkov, Nirbheek Chauhan, Olivier Crête, Paolo Pettinato, Patricia Muscalu, Paulo Neves, Peng Liu, Peter Seiderer, Philippe Normand, Philippe Renon, Philipp Zabel, Pierre Lamot, Piotr Drąg, Prashant Gotarne, Raffaele Rossi, Ray Strode, Reynaldo H. Verdejo Pinochet, Santiago Carot-Nemesio, Scott D Phillips, Sebastian Dröge, Sebastian Rasmussen, Sergei Saveliev, Sergey Borovkov, Sergey Mamonov, Sergio Torres Soldado, Seungha Yang, sezero, Song Bing, Sreerenj Balachandran, Stefan Sauer, Stephen, Steven Hoving, Stian Selnes, Thiago Santos, Thibault Saunier, Thijs Vermeir, Thomas Bluemel, Thomas Jones, Thomas Klausner, Thomas Scheuermann, Tim-Philipp Müller, Ting-Wei Lan, Tom Schoonjans, Ursula Maplehurst, Vanessa Chipirras Navalon, Víctor Manuel Jáquez Leal, Vincent Penquerc'h, Vineeth TM, Vivia Nikolaidou, Vootele Vesterblom, Wang Xin-yu (王昕宇), William Manley, Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier Claessens, xlazom00, Yann Jouanin, Zaheer Abbas Merali ... and many others who have contributed bug reports, translations, sent suggestions or helped testing. ## Bugs fixed in 1.10 More than [750 bugs][bugs-fixed-in-1.10] have been fixed during the development of 1.10. This list does not include issues that have been cherry-picked into the stable 1.8 branch and fixed there as well, all fixes that ended up in the 1.8 branch are also included in 1.10. 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. [bugs-fixed-in-1.10]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=164074&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.1&target_milestone=1.8.2&target_milestone=1.8.3&target_milestone=1.8.4&target_milestone=1.9.1&target_milestone=1.9.2&target_milestone=1.9.90&target_milestone=1.10.0 ## Stable 1.10 branch After the 1.10.0 release there will be several 1.10.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.10.x bug-fix releases will be made from the git 1.10 branch, which is a stable branch. ### 1.10.0 1.10.0 was released on 1st November 2016. ## Known Issues - iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead of 7 or 8 in your projects settings to be able to link applications. [Bug #766366](https://bugzilla.gnome.org/show_bug.cgi?id=766366) - Code signing for Apple platforms has some problems currently, requiring manual work to get your application signed. [Bug #771860](https://bugzilla.gnome.org/show_bug.cgi?id=771860) - Building applications with Android NDK r13 on Windows does not work. Other platforms and earlier/later versions of the NDK are not affected. [Bug #772842](https://bugzilla.gnome.org/show_bug.cgi?id=772842) - The new leaks tracer may deadlock the application (or exhibit other undefined behaviour) when `SIGUSR` handling is enabled via the `GST_LEAKS_TRACER_SIG` environment variable. [Bug #770373](https://bugzilla.gnome.org/show_bug.cgi?id=770373) - vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected. [Bug #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663) ## Schedule for 1.12 Our next major feature release will be 1.12, and 1.11 will be the unstable development version leading up to the stable 1.12 release. The development of 1.11/1.12 will happen in the git master branch. The plan for the 1.12 development cycle is yet to be confirmed, but it is expected that feature freeze will be around early/mid-January, followed by several 1.11 pre-releases and the new 1.12 stable release in March. 1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. - - - *These release notes have been prepared by Olivier Crête, Sebastian Dröge, Nicolas Dufresne, Edward Hervey, Víctor Manuel Jáquez Leal, Tim-Philipp Müller, Reynaldo H. Verdejo Pinochet, Arun Raghavan, Thibault Saunier, Jan Schmidt, Wim Taymans, Matthew Waters* *License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)* |
||
wiz
|
fb440ddc34 |
Updated syncthing to 0.14.11.
This is a minor release recommended for all users. Resolved issues #1015: Introducers can now remove devices that they introduced #3726: Syncthing now correctly reconnects to staticly configured relays #3718: strelaysrv: No longer crashes with "panic: send on closed channel" #3682: strelaysrv: Binding to a specific address now works better #3710: Folder information in the GUI now uses icons and tooltips |
||
leot
|
cf7f8b7116 |
Update net/youtube-dl to youtube-dl-20161114.1
Changes: version 2016.11.14.1 Core + [downoader/fragment,f4m,hls] Respect HTTP headers from info dict * [extractor/common] Fix media templates with Bandwidth substitution pattern in MPD manifests (#11175) * [extractor/common] Improve thumbnail extraction from JSON-LD Extractors + [nrk] Workaround geo restriction + [nrk] Improve error detection and messages + [afreecatv] Add support for vod.afreecatv.com (#11174) * [cda] Fix and improve extraction (#10929, #10936) * [plays] Fix extraction (#11165) * [eagleplatform] Fix extraction (#11160) + [audioboom] Recognize /posts/ URLs (#11149) version 2016.11.08.1 Extractors * [espn:article] Fix support for espn.com articles * [franceculture] Fix extraction (#11140) version 2016.11.08 Extractors * [tmz:article] Fix extraction (#11052) * [espn] Fix extraction (#11041) * [mitele] Fix extraction after website redesign (#10824) - [ard] Remove age restriction check (#11129) * [generic] Improve support for pornhub.com embeds (#11100) + [generic] Add support for redtube.com embeds (#11099) + [generic] Add support for drtuber.com embeds (#11098) + [redtube] Add support for embed URLs + [drtuber] Add support for embed URLs + [yahoo] Improve content id extraction (#11088) * [toutv] Relax URL regular expression (#11121) version 2016.11.04 Core * [extractor/common] Tolerate malformed RESOLUTION attribute in m3u8 manifests (#11113) * [downloader/ism] Fix AVC Decoder Configuration Record Extractors + [fox9] Add support for fox9.com (#11110) + [anvato] Extract more metadata and improve formats extraction * [vodlocker] Improve removed videos detection (#11106) + [vzaar] Add support for vzaar.com (#11093) + [vice] Add support for uplynk preplay videos (#11101) * [tubitv] Fix extraction (#11061) + [shahid] Add support for authentication (#11091) + [radiocanada] Add subtitles support (#11096) + [generic] Add support for ISM manifests version 2016.11.02 Core + Add basic support for Smooth Streaming protocol (#8118, #10969) * Improve MPD manifest base URL extraction (#10909, #11079) * Fix --match-filter for int-like strings (#11082) Extractors + [mva] Add support for ISM formats + [msn] Add support for ISM formats + [onet] Add support for ISM formats + [tvp] Add support for ISM formats + [nicknight] Add support for nicknight sites (#10769) version 2016.10.30 Extractors * [facebook] Improve 1080P video detection (#11073) * [imgur] Recognize /r/ URLs (#11071) * [beeg] Fix extraction (#11069) * [openload] Fix extraction (#10408) * [gvsearch] Modernize and fix search request (#11051) * [adultswim] Fix extraction (#10979) + [nobelprize] Add support for nobelprize.org (#9999) * [hornbunny] Fix extraction (#10981) * [tvp] Improve video id extraction (#10585) version 2016.10.26 Extractors + [rentv] Add support for ren.tv (#10620) + [ard] Detect unavailable videos (#11018) * [vk] Fix extraction (#11022) version 2016.10.25 Core * Running youtube-dl in the background is fixed (#10996, #10706, #955) Extractors + [jamendo] Add support for jamendo.com (#10132, #10736) + [pandatv] Add support for panda.tv (#10736) + [dotsub] Support Vimeo embed (#10964) * [litv] Fix extraction + [vimeo] Delegate ondemand redirects to ondemand extractor (#10994) * [vivo] Fix extraction (#11003) + [twitch:stream] Add support for rebroadcasts (#10995) * [pluralsight] Fix subtitles conversion (#10990) |
||
morr
|
79a5c7238c |
Add lua option.
Fixes PR pkg/51608. |
||
fhajny
|
ad61da77a4 |
Update net/py-dns to 1.15.0.
* IDNA 2008 support is now available if the "idna" module has been installed and IDNA 2008 is requested. The default IDNA behavior is still IDNA 2003. The new IDNA codec mechanism is currently only useful for direct calls to dns.name.from_text() or dns.name.from_unicode(), but in future releases it will be deployed throughout dnspython, e.g. so that you can read a masterfile with an IDNA 2008 codec in force. * By default, dns.name.to_unicode() is not strict about which version of IDNA the input complies with. Strictness can be requested by using one of the strict IDNA codecs. * Add AVC RR support. * Some problems with newlines in various output modes have been addressed. * dns.name.to_text() now returns text and not bytes on Python 3.x * More miscellaneous fixes for the Python 2/3 codeline merge. |
||
jnemeth
|
806dd8bdc1 | add and enable netatalk3 | ||
mef
|
718daa87d0 |
Updated net/p5-Net-Frame-Simple to 1.07
--------------------------------------- 1.07 Wed 5 Oct 18:53:36 CEST 2016 - bugfix: https://rt.cpan.org/Ticket/Display.html?id=118234 dump() correctly handles payload |
||
mef
|
8d761cf9d1 |
Updated net/p5-Net-FTPSSL to 0.35
--------------------------------- 0.35 2016/11/03 08:30:00 - Minor POD updates. - Added catastrophic failure protection to _croak_or_return() by adding local $SIG{PIPE} = "IGNORE"; before connection termination logic. Limits the scope to just this one code block. 0.34 2016/07/27 08:30:00 - BEHAVIOR CHANGE - Added fix_supported() as a way to make corrections to supported(). Editing the returned hash reference of _help() no longer works! This new method does both additions & removals. - BEHAVIOUR CHANGE - Modified _mfmt() & _mdtm() to be able to handle localtime vs gmtime based on changes to how PreserveTimestamp work. As an alternate way, the behavior can be overriden by a new $local_flag option. The default behavior is still GMT time. See the POD for a description of how PreserveTimestamp now works. - Made POD clarification & other comment updates. - Increased TRACE_MOD from 5 to 10 blocks. - Added BEGIN block to detect if IPv6 support is possible. It does this by asking IO::Socket::SSL instead of reinventing the wheel. - Moved the generation of the Debug log header info for CPAN support to BEGIN as well so that this info gets centralized instead of repeated. - Added Domain/Family as a new option for choosing IPv4 vs IPv6. - Added OverrideHELP => -1 option to use FEAT instead, when HELP is broken! - Updated quot() to recognize that MLSD also requires a data channel. Also improved the disable HELP logic used here. - Broke up _feat() into _feat() & feat(). Also added feat() to the POD. Done since under some circumstances the feature list can be dynamic! Also changed logic on how to tell if OPTS is supported or not. Finally drops HELP from the list of FEAT commands returned if OverrideHELP was used. - Rewrote _help() to make it less confusing. Adding OverrideHELP=>-1 made it clear it was too messy to support ongoing. Much more understandable now. Also made it more reliable to get the list of site commands supported. - Fixed PreserveTimestamp bug in transfer() & xtransfer(). - Added new option xWait for use by xput() & xtransfer(). Some servers won't honor the rename of the scratch file to it's final name without instituting a delay. So this option allows you to specify one. - README - Added more notes about turning on/off SSL logging. Newer versions allow for dynamic turning on/off. Also updated comments on the naming of the trace logs. - t/10-complex.t - Changes to the main test script! * Now uses fix_supported() in it's is_file() tests since these test cases hit some lies told by some servers! * Fixed so it's main logs are named after this test program like the other test cases do. * Added new test to verify if the MDTM command correctly uses GMT time instead of local time. (Assumes MFMT will use the same time zone!) Did this test early enough so that the last connection used the correct PreserveTimestamp settings for tests depending on it! * Added xWait of 1 second to deal with problem FTP/S servers that require a wait for the xput & xtransfer tests to work. - t/05-readonly.t - Renamed 05-simple to 05-readonly to more acurately describe the types of tests this test script does! Updated in MANIFEST & README as well. |
||
mef
|
a05d3a0491 |
Updated net/dnsmasq to 2.76
--------------------------- version 2.76 Include 0.0.0.0/8 in DNS rebind checks. This range translates to hosts on the local network, or, at least, 0.0.0.0 accesses the local host, so could be targets for DNS rebinding. See RFC 5735 section 3 for details. Thanks to Stephen R旦ttger for the bug report. Enhance --add-subnet to allow arbitrary subnet addresses. Thanks to Ed Barsley for the patch. Respect the --no-resolv flag in inotify code. Fixes bug which caused dnsmasq to fail to start if a resolv-file was a dangling symbolic link, even of --no-resolv set. Thanks to Alexander Kurtz for spotting the problem. Fix crash when an A or AAAA record is defined locally, in a hosts file, and an upstream server sends a reply that the same name is empty. Thanks to Edwin T旦r旦k for the patch. Fix failure to correctly calculate cache-size when reading a hosts-file fails. Thanks to Andr辿 Gl端pker for the patch. Fix wrong answer to simple name query when --domain-needed set, but no upstream servers configured. Dnsmasq returned REFUSED, in this case, when it should be the same as when upstream servers are configured - NOERROR. Thanks to Allain Legacy for spotting the problem. Return REFUSED when running out of forwarding table slots, not SERVFAIL. Add --max-port configuration. Thanks to Hans Dedecker for the patch. Add --script-arp and two new functions for the dhcp-script. These are "arp" and "arp-old" which announce the arrival and removal of entries in the ARP or nieghbour tables. Extend --add-mac to allow a new encoding of the MAC address as base64, by configurting --add-mac=base64 Add --add-cpe-id option. Don't crash with divide-by-zero if an IPv6 dhcp-range is declared as a whole /64. (ie xx::0 to xx::ffff:ffff:ffff:ffff) Thanks to Laurent Bendel for spotting this problem. Add support for a TTL parameter in --host-record and --cname. Add --dhcp-ttl option. Add --tftp-mtu option. Thanks to Patrick McLean for the initial patch. Check return-code of inet_pton() when parsing dhcp-option. Bad addresses could fail to generate errors and result in garbage dhcp-options being sent. Thanks to Marc Branchaud for spotting this. Fix wrong value for EDNS UDP packet size when using --servers-file to define upstream DNS servers. Thanks to Scott Bonar for the bug report. Move the dhcp_release and dhcp_lease_time tools from contrib/wrt to contrib/lease-tools. Add dhcp_release6 to contrib/lease-tools. Many thanks to Sergey Nechaev for this code. To avoid filling logs in configurations which define many upstream nameservers, don't log more that 30 servers. The number to be logged can be changed as SERVERS_LOGGED in src/config.h. Swap the values if BC_EFI and x86-64_EFI in --pxe-service. These were previously wrong due to an error in RFC 4578. If you're using BC_EFI to boot 64-bit EFI machines, you will need to update your config. Add ARM32_EFI and ARM64_EFI as valid architectures in --pxe-service. Fix PXE booting for UEFI architectures. Modify PXE boot sequence in this case to force the client to talk to dnsmasq over port 4011. This makes PXE and especially proxy-DHCP PXE work with these archictectures. Workaround problems with UEFI PXE clients. There exist in the wild PXE clients which have problems with PXE boot menus. To work around this, when there's a single --pxe-service which applies to client, then that target will be booted directly, rather then sending a single-item boot menu. Many thanks to Jarek Polok, Michael Kuron and Dreamcat4 for their work on the long-standing UEFI PXE problem. Subtle change in the semantics of "basename" in --pxe-service. The historical behaviour has always been that the actual filename downloaded from the TFTP server is <basename>.<layer> where <layer> is an integer which corresponds to the layer parameter supplied by the client. It's not clear what the function of the "layer" actually is in the PXE protocol, and in practise layer is always zero, so the filename is <basename>.0 The new behaviour is the same as the old, except when <basename> includes a file suffix, in which case the layer suffix is no longer added. This allows sensible suffices to be used, rather then the meaningless ".0". Only in the unlikely event that you have a config with a basename which already has a suffix, is this an incompatible change, since the file downloaded will change from name.suffix.0 to justy name.suffix |
||
wiz
|
f3543420ab |
Depend on libnotify with introspection support.
Otherwise this does not start. Beware: on -current you have to turn off mprotect for python + introspection |
||
christos
|
6cf486225e | regen | ||
christos
|
ce1c02d302 | comment on patches | ||
wiz
|
05c8412c24 |
Updated syncthing to 0.14.10.
This is a minor release recommended for all users. Resolved issues: #36236: Display of global and local state is clearer, especially in the presence of ignores. #36471: GUI does not show "failed items" unless there are items that have failed. Also: Fixes to questionmark and asterisk handling in ignore patterns. Build script can create a snap file. "Black" theme re-added. Debugging options for deadlocks. |
||
christos
|
20d76959bb | regen package sums | ||
christos
|
0de380d9c5 | more details | ||
christos
|
1a78e03cca | new files. | ||
christos
|
2321c85380 | new startup scripts | ||
christos
|
fc95a6db13 | Add new patches | ||
christos
|
6e6713a8cb | Need this for proper signal registration | ||
wiz
|
034ca8fd4d | belnet mirror of isc reports 404, remove it. | ||
kamil
|
668a589a77 | Add buildlink3.mk for SDL2_net | ||
wiz
|
5c3b191a14 | Remove inet6 option now that fping6 has been merged into fping. | ||
taca
|
8389e2791f |
Update bind99 to 9.9.9pl4 (BIND 9.9.9-P4).
--- 9.9.9-P4 released --- 4489. [security] It was possible to trigger assertions when processing a response. (CVE-2016-8864) [RT #43465] |
||
taca
|
f00b174933 |
Update bind910 to 9.10.4pl4 (BIND 9.10.4-P4).
--- 9.10.4-P4 released --- 4489. [security] It was possible to trigger assertions when processing a response. (CVE-2016-8864) [RT #43465] |
||
wiz
|
ec46460814 | Update python-3.x state comment. | ||
wiz
|
2a2a2256bd |
Updated py-twisted to 16.5.0.
Twisted Core 16.5.0 (2016-10-28) ================================ Features -------- - Added twisted.internet.defer.Deferred.addTimeout method to enable timeouts of deferreds. (#5786) - Perspective Broker (the twisted.spread package) has been ported to Python 3 (#7598) - 'yield from' can now be used on Deferreds inside generators, when the generator is wrapped with twisted.internet.defer.ensureDeferred. (#8087) - twisted.internet.asyncioreactor has been added, which is a Twisted reactor on top of Python 3.4+'s native asyncio reactor. It can be selected by passing "--reactor=asyncio" to Twisted tools (twistd, Trial, etc) on platforms that support it (Python 3.4+). (#8367) - twisted.python.zippath now works on Windows with Python 3. (#8747) - twisted.internet.cfreactor is ported to Python 3 and supported on 2.7 and 3.5+. (#8838) Bugfixes -------- - twisted.internet.test.test_iocp and twisted.internet.test.test_tcp have been fixed to work under Python 3 with the Windows IOCP reactor (#8631) - Arguments to processes on Windows are now passed mbcs-encoded arguments. This prevents process-related tests from hanging on Windows with Python 3. (#8735) - Client and server TLS connections made via the client TLS endpoint and the server SSL endpoint, as well as any other code that uses twisted.internet.ssl.CertificateOptions, no longer accept 3DES- based cipher suites by default, to defend against SWEET32. (#8781) - twisted.logger.jsonFileLogObserver no longer emits non-JSON tracebacks into its file; additionally, twisted.logger.formatEventAsClassicLogText now includes traceback information for the log event it formats. (#8858) - twisted.python.version now exports a version of Incremental that is 16.10.1 or higher, making t.p.v.Version package name comparisons case-insensitive. (#8863) - twisted.python.reflect.safe_str encodes unicode as ascii with backslashreplace error handling on Python 2. (#8864) Improved Documentation ---------------------- - The twisted.internet.interfaces.IProtocol.dataReceived() method takes one parameter of type bytes. This has been clarified in the doc string. (#8763) Deprecations and Removals ------------------------- - twisted.python.constants is deprecated in preference to constantly on PyPI, which is the same code rolled into its own package. (#7351) - twisted.python.dist3 has been made private API. (#8761) - When the source code is checked out, bin/trial is no longer in the tree. Developers working on the Twisted source code itself should either (1) run all tests under tox, or (2) run 'python setup.py develop' to install trial before running any tests. (#8765) - twisted.protocols.gps, deprecated since Twisted 15.2, has been removed. (#8787) Other ----- - #4926, #7868, #8209, #8214, #8271, #8308, #8324, #8348, #8367, #8377, #8378, #8379, #8380, #8381, #8383, #8385, #8387, #8388, #8389, #8391, #8392, #8393, #8394, #8397, #8406, #8410, #8412, #8413, #8414, #8421, #8425, #8426, #8430, #8432, #8434, #8435, #8437, #8438, #8439, #8444, #8451, #8452, #8453, #8454, #8456, #8457, #8459, #8462, #8463, #8465, #8468, #8469, #8479, #8482, #8483, #8486, #8490, #8493, #8494, #8496, #8497, #8498, #8499, #8501, #8503, #8504, #8507, #8508, #8510, #8513, #8514, #8515, #8516, #8517, #8520, #8521, #8522, #8523, #8524, #8527, #8528, #8529, #8531, #8532, #8534, #8536, #8537, #8538, #8543, #8544, #8548, #8552, #8553, #8554, #8555, #8557, #8560, #8563, #8565, #8568, #8569, #8572, #8573, #8574, #8580, #8581, #8582, #8586, #8589, #8590, #8592, #8593, #8598, #8603, #8604, #8606, #8609, #8615, #8616, #8617, #8618, #8619, #8621, #8622, #8624, #8627, #8628, #8630, #8632, #8634, #8640, #8644, #8645, #8646, #8647, #8662, #8664, #8666, #8668, #8671, #8672, #8677, #8678, #8684, #8691, #8702, #8705, #8706, #8716, #8719, #8724, #8725, #8727, #8734, #8741, #8749, #8752, #8754, #8755, #8756, #8757, #8758, #8767, #8773, #8776, #8779, #8780, #8785, #8788, #8789, #8790, #8792, #8793, #8799, #8808, #8817, #8839, #8845, #8852 Twisted Conch 16.5.0 (2016-10-28) ================================= Features -------- - SSH key fingerprints can be generated using base64 encoded SHA256 hashes. (#8701) Bugfixes -------- - SSHUserAuthServer does not crash on keyboard interactive authentication when running on Python 3 (#8771) - twisted.conch.insults.insults.ServerProtocol no longer corrupts a client's display when attempting to set the cursor position, and its ECMA-48 terminal manipulation works on Python 3. (#8803) Other ----- - #8495, #8511, #8715, #8851 Twisted Mail 16.5.0 (2016-10-28) ================================ Deprecations and Removals ------------------------- - twisted.mail.protocols.DomainSMTP and DomainESMTP, deprecated since 2003, have been removed. (#8772) Other ----- - #6289, #8525, #8786, #8830 Twisted Names 16.5.0 (2016-10-28) ================================= No significant changes have been made for this release. Other ----- - #8625, #8663 Twisted Pair 16.5.0 (2016-10-28) ================================ Features -------- - twisted.pair has been ported to Python 3 (#8744) Twisted Web 16.5.0 (2016-10-28) =============================== Bugfixes -------- - twisted.web.client.HTTPConnectionPool and anything that uses it, like twisted.web.client.Agent, have had their logic for resuming transports changed so that transports are resumed after state machine transitions are complete, rather than before. This change allows the HTTP client infrastructure to work with alternative HTTP implementations such as HTTP/2 which may be able to deliver a complete response synchronously when producing is resumed. (#8720) Other ----- - #8519, #8530, #8629, #8707, #8777, #8778, #8844 Twisted Words 16.5.0 (2016-10-28) ================================= No significant changes have been made for this release. Other ----- - #8360, #8460 |
||
adam
|
619b503111 | Removed net/fping6 successor net/fping | ||
adam
|
2741c7bf1c |
Changes 3.13:
* Fix ICMP errors sometimes causing crashes with fping >= 3.11 |
||
wiz
|
2c9e4eb4c0 |
Updated syncthing-gtk to 0.9.2.3.
v0.9.2.3 Notes: This release is required for Syncthing daemon version 0.14.6 or newer. Older version of Syncthing-GTK will not connect to new Syncthing daemon. v0.9.2.2 New: Added Brazilian Portuguese translation (thanks to @robsonsobral) Support for folder labels in notifications (thanks to @acolomb) Fixes: Not sending 'Host' header breaks Syncthing >=v0.14.6 Crash on start with some Windows installations (thanks @Palatis) |
||
leot
|
8da6c10c6b |
Update PLIST in order to fix the build for nmap-7.30 for "lua" and
"zenmap" options. ok <pettai> |
||
spz
|
ea3e8cff75 | add a patch for CVE-2016-7098 from upstream | ||
pettai
|
f54375d3e4 | fix pkglint warning |