summaryrefslogtreecommitdiff
path: root/multimedia
AgeCommit message (Collapse)AuthorFilesLines
2016-12-15extending the patch for netbsd so it fixes sunos toowiedi3-6/+7
2016-12-12Revert "Specify readline requirement on 30 packages"wiz1-2/+1
Many of these definitely do not depend on readline. So there must be a different underlying problem, and that should be tracked down instead of papering over it.
2016-12-08ffmpeg3: disable lto (again).maya1-2/+2
fixes build for me with netbsd-7 with gcc 4.8.5 (reported by Marc Badouin in pkgsrc-users), and also clang 3.8.
2016-12-07version 3.2.2:adam3-8/+9
- ffserver: Check chunk size - Avoid using the term "file" and prefer "url" in some docs and comments - avformat/rtmppkt: Check for packet size mismatches - zmqsend: Initialize ret to 0 - avcodec/flacdec: Fix undefined shift in decode_subframe() - avcodec/get_bits: Fix get_sbits_long(0) - avformat/ffmdec: Check media type for chunks - avcodec/flacdec: Fix signed integer overflow in decode_subframe_fixed() - avcodec/flacdsp_template: Fix undefined shift in flac_decorrelate_indep_c - avformat/oggparsespeex: Check frames_per_packet and packet_size - avformat/utils: Check start/end before computing duration in update_stream_timings() - avcodec/flac_parser: Update nb_headers_buffered - avformat/idroqdec: Check chunk_size for being too large - avcodec/me_cmp: Fix median_sad size - avformat/utils: Fix type mismatch - configure: check for strtoull on msvc - http: move chunk handling from http_read_stream() to http_buf_read(). - http: make length/offset-related variables unsigned
2016-12-04Recursive revbump from textproc/icu 58.1ryoon20-37/+40
2016-12-04Specify readline requirement on 30 packagesmarino1-1/+2
Solves: /usr/libexec/binutils225/elf/ld.gold: error: cannot find -lreadline The missing specification is obvious on DragonFly because there's no publically accessible version of readline in base.
2016-12-01Make introspection optionalmartin3-23/+38
2016-12-01Add an introspection optionmartin3-14/+20
2016-11-28version 3.2.1:adam3-9/+9
- avcodec/aac_adtstoasc_bsf: validate and forward extradata if the stream is already ASC - mss2: only use error correction for matching block counts - softfloat: decrease MIN_EXP to cover full float range - libopusdec: default to stereo for invalid number of channels - flvdec: require need_context_update when changing codec id - pgssubdec: only set w/h/linesize when allocating data - sbgdec: prevent NULL pointer access - rmdec: validate block alignment - smacker: limit recursion depth of smacker_decode_bigtree - mxfdec: fix NULL pointer dereference in mxf_read_packet_old - ffmdec: validate codec parameters - avformat/mpeg: Adjust vid probe threshold to correct mis-detection - avcodec/ass_split: Change order of operations in ass_split_section() - avcodec/rawdec: check for side data before checking its size - avcodec/avpacket: fix leak on realloc in av_packet_add_side_data() - avformat/apngenc: use the stream parameters extradata if available - Revert "apngdec: use side data to pass extradata to the decoder" - ffprobe: fix crash in case -of is specified with an empty string - libavcodec/exr : fix channel size calculation for uint32 channel - exr: fix out-of-bounds read - libschroedingerdec: fix leaking of framewithpts - libschroedingerdec: don't produce empty frames - dds: limit 4 bpp handling to AV_PIX_FMT_PAL8 - mlz: limit next_code to data buffer size - softfloat: handle -INT_MAX correctly - filmstripdec: correctly check image dimensions - pnmdec: make sure v is capped by maxval - smvjpegdec: make sure cur_frame is not negative - icodec: correctly check avio_read return value - icodec: fix leaking pkt on error - dvbsubdec: fix division by zero in compute_default_clut - proresdec_lgpl: explicitly check coff[3] against slice_data_size - escape124: reject codebook size 0 - mpegts: prevent division by zero - matroskadec: fix NULL pointer dereference in webm_dash_manifest_read_header - mpegaudio_parser: don't return AVERROR_PATCHWELCOME - mxfdec: fix NULL pointer dereference - lzf: update pointer p after realloc - diracdec: check return code of get_buffer_with_edge - diracdec: clear slice_params_num_buf on allocation failure - diracdec: use correct buffer for slice_params_buf realloc - ppc: pixblockdsp: do unaligned block accesses correctly again - avformat: close parser if codec changed - fate: add streamcopy test for apng - apngdec: use side data to pass extradata to the decoder - mov: immediately return from mov_fix_index without old index entries - interplayacm: increase bitstream buffer size by AV_INPUT_BUFFER_PADDING_SIZE - interplayacm: validate number of channels - interplayacm: check for too large b - doc: fix spelling errors - configure: make sure LTO does not optimize out the test functions - fate: add apng encoding/muxing test - apng: use side data to pass extradata to muxer - avcodec/mpeg4videodec: Workaround interlaced mpeg4 edge MC bug - avcodec/mpegvideo: Fix edge emu buffer overlap with interlaced mpeg4 - avcodec/rv40: Test remaining space in loop of get_dimension() - avcodec/ituh263dec: Avoid spending a long time in slice sync - avcodec/movtextdec: Add error message for tsmb_size check - avcodec/movtextdec: Fix tsmb_size check==0 check - avcodec/movtextdec: Fix potential integer overflow - ffmpeg: Fix bsf corrupting merged side data - avcodec/sunrast: Fix input buffer pointer check - avcodec/tscc: Check side data size before use - avcodec/rscc: Fix constant - avcodec/rawdec: Check side data size before use - avcodec/rscc: Check side data size before use - avcodec/msvideo1: Check side data size before use - avcodec/qpeg: Check side data size before use - avcodec/qtrle: Check side data size before use - avcodec/msrle: Check side data size before use - avcodec/kmvc: Check side data size before use - avcodec/idcinvideo: Check side data size before use - avcodec/cinepak: Check side data size before use - avcodec/8bps: Check side data size before use - avformat/flvdec: Fix regression losing streams - avformat/hls: Add missing error check for avcodec_parameters_copy() - avformat/hls: Fix probing mpegts audio streams that use probing - avformat/hls: Factor copying stream info to a separate function
2016-11-26streamlink: update to 0.1.0maya3-8/+20
A major update to Streamlink. With this release, we include a Windows binary as well as numerous plugin changes and fixes. The main features are: Windows binary (and generation!) thanks to the fabulous work by @beardypig Multiple plugin fixes Remove unneeded run-as-root (no more warning you when you run as root, we trust that you know what you're doing) Fix stream quality naming issue Beardypig <beardypig@users.noreply.github.com> (13): fix stream quality naming issue with py2 vs. py3, fixing #89 (#96) updated connectcast plugin to support the new rtmp streams; fixes #93 (#95) Fix for erroneous escape coding the livecoding plugin. Fixes #106 (#121) TVPlayer.com: fix for 400 error, correctly set the platform parameter (#123) Added a method to automatically determine the encoding when parsing JSON, if no encoding is provided. (#122) when retry-streams and twitch-disable-hosting arguments are used the stream is retried until a non-hosted stream is found (#125) plugins.goodgame: Update for API change (#130) plugins.adultswim: added a new adultswim.com plugin (#139) plugins.goodgame: restored DDOS protection cookie support (#136) plugins.younow: update API url (#135) plugins.euronew: update to support the new site (#141) plugins.webtv: added a new plugin to support web.tv (#144) plugins.connectcast: fix regex issue with python 3 (#152) Brainzyy <Brainzyy@users.noreply.github.com> (1): Add piczel.tv plugin (courtesy of @intact) (#114) Charlie Drage <charlie@charliedrage.com> (1): Update release scripts Erk- <Erk-@users.noreply.github.com> (1): Changed the twitch plugin to use https instead of http as discussed in #103 (#104) Forrest <gravyboat@users.noreply.github.com> (2): Modify the changelog link (#107) Update cli to note a few windows issues (#108) Simon Bernier St-Pierre <sbernierstpierre@gmail.com> (1): change icon Simon Bernier St-Pierre <sbstp@users.noreply.github.com> (1): finish the installer (#98) Stefan <stefan-github@yrden.de> (1): Debian packaging base (#80) Stefan <stefanhani@gmail.com> (1): remove run-as-root option, reworded warning #85 (#109) Weslly <weslly.honorato@gmail.com> (1): Fixed afreecatv.com url matching (#90) bastimeyer <mail@bastimeyer.de> (2): Improve NSIS installer script Remove shortcut from previous releases on Windows beardypig <beardypig@users.noreply.github.com> (8): plugins.cybergame: update to support changes to the live streams on the cybergame.tv website Use pycryptodome inplace of pyCrypto Automated build of the Windows NSIS installer support for relative paths for rtmpdump makeinstaller: install the streamlinkrc file in to the users %APPDATA% directory remove references to livestreamer in the win32 config template stream.rtmpdump: fixed the rtmpdump path issue, introduced in 6bf7fd7 pin requests to <2.12.0 to avoid the strict IDNA2008 validation ethanhlc <ethanhlc@users.noreply.github.com> (1): fixed instance of livestreamer (#99) intact <intact.devel@gmail.com> (1): plugins.livestream: Support old player urls mmetak <mmetak@users.noreply.github.com> (2): fix vaughnlive.tv info_url (#88) fix vaughnlive.tv info_url (yet again...) (#143) skulblakka <pascal.romahn@mailbox.org> (1): Overworked Plugin for ZDF Mediathek (#154) sqrt2 <sqrt2@users.noreply.github.com> (1): Fix ORF TVthek plugin (#113) tam1m <tam1m@users.noreply.github.com> (1): Fix zdf_mediathek TypeError (#156)
2016-11-24Update doxygen-depend version to 1.8.12 (or add new BUILD_DEPENDS+)mef1-2/+2
2016-11-24Adjust PLIST for doxygen update 1.8.11 to 1.8.12, PKGREVISION++.mef2-5/+5
2016-11-22Update multimedia/mpv to mpv-0.22.0leot2-8/+7
Changes: Release 0.22.0 ============== Features -------- Added ~~~~~ - audio/out: add AudioUnit output driver for iOS - demux_mkv: parse Matroska colorimetry metadata - filter_kernels: add ability to taper kernels/windows, add tukey window - osc: add seekbarstyle=knob (#2365) - video/out: add tct as modern caca alternative for true-color and 256-color terminals - video: add --hwdec=vdpau-copy mode Deprecated ~~~~~~~~~~ - vf_vdpaurb: deprecated in favor of --hwdec=vdpau-copy Options and Commands -------------------- Added ~~~~~ - --opengl-early-flush=auto - --scale-taper, --scale-wtaper - --scale-wblur - macOS: --hidpi-window-scale (#3716) - osc: add script message handlers for chapter/track/playlists Fixes and Minor Enhancements ---------------------------- - Apply --autofit-larger after --autofit-smaller (#3753) - Set subtitle track title to indicate hearing/visual impaired tracks - ao_alsa: disable chmap API use for mono/stereo (#2905, #3045) - build: add required failure message for libavfilter check (#3692) - build: fix compilation with mingw-w64/Clang (#3800) - build: make VideoToolbox available on iOS - command: fix reset-on-next-file=all and tv-freq option (#3708) - command: if window-scale can't be set properly, set it as option (#3724) - demux_mkv: don't recursively resolve timeline for opened reference files - demux_mkv: fix ordered chapter sources with ordered editions - opengl: compile against iOS OpenGLES implementation - options: handle legacy no-* sub-options - osc: add alpha animation to tooltip (fix lingering tooltip) - osc: change default deadzonesize to 0.5 - osc: don't wrap the title - osc: fix crash after reaching a certain position in limited lists (#3691) - osc: fix crash with no chapters - osc: fix crashes when dragging seekbar across file changes (#3210) - osc: fix displaying only half of the entries when at the end of a list - osc: fix missing chapter ticks with seekbarstyle=bar - osc: slimbox: fix clipping with seekbarstyle=bar (#3737) - osc: top/bottombar: also scale when min-width is reached to match box/slimbox behavior - osc: top/bottombar: dynamically size timecodes according to timems - osc: top/bottombar: rescale layout to same size with scale=1 - osc: top/bottombar: scale title if too large like box - player: consistently initialize screensaver state with --force-window - player: enable no-video subtitle display on coverart too - player: make --start-time work with --rebase-start-time=no - player: make sure non-video subtitle rendering is reset if video resumes (#3770) - player: removing last playlist entry while looping should not stop (#3808) - player: show subtitles on VO if --force-window is used (#3684) - player: speed up audio/video re-sync when there is a huge delay - vdpau: fix hwdec uninit (#3788) - vo_opengl: blend against background color for --alpha=blend - vo_opengl: context_rpi: fix stdatomic usage (#3699) - vo_opengl: fix --blend-subtitles handling (#3773) - vo_opengl: fix redrawing with hardware decoding (#3773) - vo_opengl: partially re-enable glFlush() calls (#3670) - ytdl_hook: sort chapters by time
2016-11-20Since noone has cared about fixing this for the ImageMagick API changes,joerg1-2/+2
use the old version.
2016-11-20If KERN_PROC_PATHNAME doesn't exist, fallback to /proc.joerg2-4/+4
2016-11-20Fix patch to boost libraries and hackaround for the surprising errorjoerg3-21/+3
messages.
2016-11-20Update to mkvtoolnix 9.5.0:joerg2-8/+7
- bugfixes
2016-11-20Update to m3u8-0.3.0:joerg3-8/+13
- Support for per-segment key handling
2016-11-19Add patch from John D. Baker with a workaround for PR 50988: netbsd 6dholland1-4/+6
and up don't require binutils from pkgsrc for ssse3 to work, so don't request it.
2016-11-18Update ruby-gnome2 packages to 3.1.0.tsutsui3-11/+12
Upstream changes: (from https://github.com/ruby-gnome2/ruby-gnome2/blob/3.1.0/NEWS) == Ruby-GNOME2 3.10.0: 2016-11-12 === Changes * Improvements * update README. [Patch by cedlemo] * fix format in README. * use pthread version of MinGW in build-windows.sh. * improve main Rakefile. * windows : update bundled versions. * Fixes * fix path in gem:windows:push in main Rakefile. * fix markup in NEWS file. * use Win32 thread again in build-windows.sh. * libmount is required for GLib on Linux. * install libgtk-3-dev explicitly. ==== All ==== Ruby/GIO2 * Improvements * make (({Gio::SettingsSchemaSource#list_schemas})) Rubyish. * make (({Gio::Settings#set_value})) Rubyish. * support array like API for (({Gio::Settings})). * (({Gio::ActionMap#add_action})) accepts :state * simplify, load (({Gio::File})) with GObject-Introspection loader. * simplify (({Gio::ContentType})) implementation. * Fixes * add missing required argument in test-settings-schema-source.rb. * add version check in Gio tests. * increase required version. * fix typo in action-map.rb. [Path by cedlemo] ==== Ruby/GLIB2 * Improvements * New implementation of GRClosure with new APIS: * RGClosureCallData * RGClosureCallFunc * rbgobj_set_signal_call_func() * rbgobj_get_signal_call_func() * g_rclosure_new_call() * support exit_application error message when no backtrace. * improve rbg_scan_options() performance * show all backtrace on GLib log. [GitHub#935][Suggested by Matijs van Zuijlen] * Fixes * windows: * Fix indent in windows-binary-build-task.rb. * Export glib2_binary_base_dir. * Remove needless "windows_" in methods name in windows-binary-build-task.rb. * add a debug argument for make command. * add GNOME2::Rake::WindowsBinaryBuildTask#binary_base_dir * fix a bug that SIGUSR1 breaks main loop. [GitHub#933][Reported by Vegard Sandengen] * fix error messages typo [Patch by dai-vr] * fix typo in rbgutil.c. [Patch by Kazuhiro NISHIYAMA] * fix style in rbglib_messages.c * remove needless check in rbglib_messages.c and extconf.rb ==== Ruby/GStreamer * Improvements * Fixes * fix text_color_example.rb demo. [Patch by cedlemo] ==== Ruby/GObjectIntrospection * Improvements * support GVariant string array to Ruby [Patch by Konstantinos Natsakis] * use g_variant_iter_init () to reduce dynamic memory allocation * support omitting allow-null arguments in middle of arguments * improve performance in callable-info.rb. * reduce needless method calls. * simplify invoke arguments in rb-gi-method-info.c, it improves performance. * support "can_be_" as predicate prefix. * improve performance calling a method. It catches data from info. * add GI.load shortcut for fast load. * Fixes * use short for 16bit Integer. * accept Array of numbers for gint8/guint8 array * wrong condition in function info arguments management. * use suitable type macros in ruby to C code from rb-gi-argument.c. * assign temporary Ruby object to local variable to guard from GC. * fix name conflict in rb-gi-argument.c. [Reported by kitone] * touch unrefed object in rb-gi-argument.c. * support array of UTF-8. * fill from last omitted arguments in function arguments loader. * add a missing all required case check in function arguments loader. * use rbg_variant_to_ruby in rb-gi-argument.c. * define unlock_gvl as info method. * fix typo in rb-gi-function-info.c. * don't fill missing arguments when given N arguments is less. * sink created GObject based object by default. * fix wrong default argument fill condition. * fix limit when loading arguments infos. [GitHub#895][Reported by cedlemo] * fix libffi return value handling. [GitHub#758][Reported by Mamoru TASAKA] * do not try to run a gtk demo when the user provide a bad demo name. [Patch by cedlemo] * focus on the related line in the TreeView when running demo from command line. [Patch by cedlemo] * do nothing for void type return type. [GitHub#952][Reported by cedlemo] * return value is return type is void but pointer. * windows : update patch support-external-g-ir-scanner.diff. ==== Ruby/GDK * Improvements * make (({Gdk::EventFocus#in})) rubyish. * add init hook as Gdk.on_init * Fixes * backport a patch to fix build error. ==== Ruby/GdkPixbuf2 * Improvements * support loading from file. * Fixes * fix dependency in Rakefile. [GitHub#862][Reported by Mamoru TASAKA] * add missing gio2 dependency in tests. * add missing variable in tests. * omit a test that failed by float error on i386 [GitHub#898][Reported by Mamoru TASAKA] ==== Ruby/GTK3 * Improvements * support for (({Gtk::SpinButton::input})) signal. [GitHub#855][Reported cedlemo] * new gtk demo spinbutton. [Patch by cedlemo] * add demo search_entry.rb [Patch by cedlemo] * update gtk demos to use class form instead of module form. [Patches by cedlemo] * add listbox gtk demo. [Patch by cedlemo] * update editable_cells demo. [Patch by cedlemo] * add glarea demo. [Patch by cedlemo] * update transparent demo. [Patch by Arjun Menon] * update theming_style_classes demo. [Patch by Arjun Menon] * update textscroll demo. [Patch by Arjun Menon] * update stack demo. [Patch by Arjun Menon] * update spinbutton demo. [Patch by Arjun Menon] * create (({Gtk::TreeModel#create_filter})) as an alias of #filter_new. * Fixes * load demos as classes instead of modules in main.rb. [Patch by cedlemo] * enable Gtk::Rc deprecation. * fix treemodelfilter sample issue. * force LC_NUMERIC to C when gtk3 is initialized. [Patch by cedlemo] ==== Ruby/WebKitGTK * Improvements * Fixes * windows : * update dependencies in Rakefile and patches. * use Ubuntu 16.04 as build environment. * install jsmin ==== Ruby/WebKit2GTK * Improvements * Fixes * windows : * update Rakefile and patches. * support auto latest version detection. ==== Ruby/ClutterGdk * Improvements * Fixes * add init hook as Clutter.on_init. * add Clutter and Gdk integration API. ==== Ruby/ClutterGtk * Improvements * add clutter-gdk dependency. * Fixes * window-test.rb sample : use icons only included in the default theme. * remove needless pack method usage in test.rb sample. * follow improved API in event.rb sample. ==== Ruby/ClutterGdk * Improvements * create a GObject-Introspection loader. [Patch by cedlemo] * Fixes * update description in README and in Rakefile. * remove needless code in Rakefile. * remove needless code in GObject-Introspection loader. ClutterGdk is part of Clutter. ==== Ruby/GStreamer * Improvements * add (({Gst::Bin#each})). [GitHub#927][Reported by cedlemo] * add only_gstreamer_version method. * Fixes * use post_load in order to use require_libraries. ==== Ruby/Pango * Fixes * pango windows: remove needless patch. ==== Thanks * Arjun Menon * cedlemo * dai-vr * Kazuhiro NISHIYAMA * kitone * Konstantinos Natsakis * Mamoru TASAKA * Matijs van Zuijlen * Vegard Sandengen
2016-11-16Add gst-stats to ALTERNATIVES file.wiz1-0/+1
Ride update.
2016-11-16Update gstreamer1 packages to 1.10.0.wiz19-91/+236
# 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/)*
2016-11-16Make PKGNAME match directory name (and other gstreamer plugin packages)wiz1-1/+2
2016-11-14Updated {lib,}mediainfo to 0.7.90.wiz2-7/+7
Version 0.7.90, 2016-10-31 -------------- + #M94, WAV: support of file with a buggy RIFF header + Matroska: detection of segment size of zero (compatibility risks e.g. Windows 10 Media Player does not play such file) + MXF: detection of some incoherences between header and footer + MXF: display of Locked information + N19/STL: support of 48/50/60 fps content + N19/STL: display of time code of first frame + AC-3: bit depth + MPEG Video: CBR bitrate mode information based on vbv_delay + DXW: support of fake time code attribute x Teletext in MPEG-TS: CodecID, format (classic teletext or subtitle), video delay were sometimes not displayed x PDF: fixed crash with some files with full analysis set x #B485, BMP height is negative x Several minor fixes Version 0.7.89, 2016-09-30 -------------- + QuickTime: support of Panasonic AVC-Intra 50/100/200 without SPS/PPS ("aixx" and "AVin" CodecID) + More QuickTime/MP4/AVC/HEVC color descriptions based on future ISO 23001-8:201x/PDAM1 + FFV1: handling 16+ bitdepth (YUV and RGB) while handling buggy version <= 3 YUV 16-bit streams + Improved growing file detection, option for forcing the growing file test + Matroska: support of video FieldOrder, MatrixCoefficients, BitsPerChannel, Range, TransferCharacteristics, Primaries + Acquisition Metadata: support of more elements (IrisTNumber, IrisRingPosition, FocusRingPosition, ZoomRingPosition, ColorMatrix) + Add stream counts to MIXML output + I242, AVI/Matroska: mapping of mjp2 to JPEG 2000 format name + MPEG-4 Visual: parsing of Studio profiles, providing width/height/frame rate... + MXF: reading MPEG-4 Visual profile from MXF sub-descriptor and/or EssenceCompression + MXF: reading Intra GOP info from descriptors + Sequence of images: detection of sequence even if the provided path separator is the Unix one (Windows only) x Acquisition Metadata: IrisFNumber, FocusPosition, LensZoom were not correctly reported x LXF: fixed crash in case of some malformed files x LXF: reject bad frames instead of displaying wrong duration and bit rate Version 0.7.88, 2016-08-31 -------------- + MediaInfo distributed with HTTP/HTTPS support: support of Amazon S3 with Signature Version 4 + FFV1: parsing speed slight improvement x Duration: fixed regression in last release, sometimes duration was displayed with only count of minutes Version 0.7.87, 2016-06-30 -------------- + Refactoring of the trace feature, for better performance and some bug fixes - Visual C++ 2012 project files removed x Review of symbols display, now using standard display (e.g. "k" instead of "K", " min" instead of "mn"...) x XML output: revert to old versioning method (version is MediaInfo software version) x I63, EBUCore/FIMS outputs: typo correction about WritingLibrary and WritingApplication x Matroska: files with CodecPrivate element before CodecID element where not always correctly parsed x OGG: crash/incoherent behavior with some buggy OGG streams having invalid chunk sizes Version 0.7.86, 2016-05-31 -------------- + FFV1 parsing optimization, avoiding by default a too verbose trace + Matroska: more elements support and typo fixes in the trace + #I172, Trace feature: provide the name of the main parser in the media element + Matroska: consider all values below 0x10 EBML names as 1-byte junk x Matroska: better support (including speed improvement) of huge lossless frames (e.g. 20 MB FFV1 4K) x #I144, Python binding: Python 2 on Linux does not automatically provide the locale to the shared object x HTML output: don't escape carriage returns from the input file x FFV1: some streams were rejected despite the fact they are valid x Python binding: some errors during call of Get() API with Python3 on Linux/Mac Version 0.7.85, 2016-04-29 -------------- + FFV1: ScanType and ScanOrder + Detection of Omneon VBI and move of the VBI track from Video part to Others part + N19/STL: Support of etection of less standard frame rates (23.976 and 29.970) + Teletext in MPEG-TS: Teletext not subtitle moved to "Other" part + Teletext in MPEG-TS: display of CodecID and timestamp of first frame x Teletext in MXF: some IDs were wrong (when there are more than one Teletext service) x MPEG-4/MOV: default of raw audio to Signed in case of stsd atom version <2 x MPEG Video: some CEA-608/708 captions were not correctly detected due to some packets discarded by the parser with interlaced content x MPEG-4/MOV: Dolby E with 2 or more audio services were not correctly reported Version 0.7.84, 2016-03-31 -------------- x #I122, MPEG-4/MOV: Crash if mdhd timescale is 0 x MPEG-4/MOV: Infinite loop if malformed stsc / stsz (detected by fuzzing) x MPEG-TS: some DVB Subtitles were not detected x HLS: better handling of media playlists having EXT-X-BYTERANGE Version 0.7.83, 2016-02-29 -------------- + HEVC: Maximum Content Light Level (MaxCLL) and Maximum Frame-Average Light Level (MaxFALL), metadata mandated by CEA-861.3 for HDR support + HEVC: Mastering display color primaries and luminance (based on SMPTE ST 2084), metadata mandated by CEA-861.3 for HDR support + HEVC: SMPTE ST 2048 and SMPTE ST 428-1 transfer characteristics + HEVC: Chroma subsampling location (indication of the location type described in the HEVC spec) + MPEG-TS: ATSC Modulation Mode (Analog, SCTE_mode_1 aka 64-QAM, SCTE_mode_2 aka 256-QAM, 8-VSB, 16-VSB) + #B981, MP4: support of buggy file having "hint" SubType x HLS: better handling of media playlists having EXT-X-BYTERANGE Version 0.7.82, 2016-01-27 -------------- + Matroska: CRC-32 validation + Matroska: support of padding/junk at the start of a segment + Matroska: trace is activated for all elements (but report is still based on the first element met) + Matroska: add an intermediate level in the trace for the raw stream parser x FLV: potential infinite loop fixed x #B966, DTS: DTS-HD HR 3840 not detected anymore x AC-3: wrong sample rate with 32 kHz streams x #B948, EBUCore 1.6: invalid output due to position of containerEncoding element x #B957, MPEG-7 output: No XML encoded value output
2016-11-13Update adobe-flash-plugin11 to 11.2.202.644.tsutsui2-11/+11
Upstream announcement: https://helpx.adobe.com/security/products/flash-player/apsb16-37.html Adobe Security Bulletin Security updates available for Adobe Flash Player Release date: November 8, 2016 Vulnerability identifier: APSB16-37 CVE number: CVE-2016-7857, CVE-2016-7858, CVE-2016-7859, CVE-2016-7860, CVE-2016-7861, CVE-2016-7862, CVE-2016-7863, CVE-2016-7864, CVE-2016-7865 Platform: Windows, Macintosh, Linux and Chrome OS
2016-11-03faac support was removed in 3.2, remove option and bl3.mk chunk.wiz2-17/+3
default-off, so no PKGREVISION bump necessary
2016-11-03Make mpv agnostic regarding possible mismatches of built vs runningleot3-2/+30
dependencies. Given the existence of BUILDLINK_A[BP]I_DEPENDS and PKGREVISION bumps our use in pkgsrc can be considered a legitimate one. Delete the print_libav_versions() check to reflect that. Bump PKGREVISION. Thanks to <wiz> for noticing that!
2016-11-01libass: update to 0.13.4maya2-7/+7
changes from 0.13.1 to 0.13.4 Bug fixes found with fuzzing Fix memory reallocation in the shaper. (CVE-2016-7972) Fix two small memory leaks in the parser and test program. Fix illegal read in Gaussian blur coefficient calculations. (CVE-2016-7970) Fix mode 0/3 line wrapping equalization in specific cases which could result in illegal reads while laying out and shaping text. (CVE-2016-7969) Improve compatibility/portablility of build system, should fix e.g. compilation on Solaris. Fix memory leak in DirectWrite font provider. Fix the rasterizer when rendering some large outlines. Remove hack that forced RTL base direction depending on font encoding. Greatly improve the internal caches with refcounting and gradual clearing. Add ass_set_check_readorder() API function to disable use of the ReadOrder field for duplicate checking in ass_process_chunk(). ass_step_sub(track, now, 0) now finds the start of the subtitle at now. Bug fixes: Fix an issue with the new duplicate checking, which could lead to missing subtitles after seeking. Fix a crash with Core Text under specific circumstances.
2016-10-30liboggz: bump PKGREVISION for previous. it's a functional change, howevermaya2-4/+5
small. Fix pkglint warnings about whitespace
2016-10-30liboggz: remove all patchesmaya3-59/+1
these patches were intended to fix build on Open/Free-BSD and are simply wrong and broke the build on linux before and now on OS X. "it declares an uninitialized timezone structure and uses it to adjust the date. ...even if struct timezone weren't deprecated." PR pkg/50558, report on pkgsrc-users by Emre Eryilmaz
2016-10-28version 3.2:adam6-55/+33
- libopenmpt demuxer - tee protocol - Changed metadata print option to accept general urls - Alias muxer for Ogg Video (.ogv) - VP8 in Ogg muxing - curves filter doesn't automatically insert points at x=0 and x=1 anymore - 16-bit support in curves filter and selectivecolor filter - OpenH264 decoder wrapper - MediaCodec H.264/HEVC/MPEG-4/VP8/VP9 hwaccel - True Audio (TTA) muxer - crystalizer audio filter - acrusher audio filter - bitplanenoise video filter - floating point support in als decoder - fifo muxer - maskedclamp filter - hysteresis filter - lut2 filter - yuvtestsrc filter - CUDA CUVID H.263/VP8/VP9/10 bit HEVC (Dithered) Decoding - vaguedenoiser filter - added threads option per filter instance - weave filter - gblur filter - avgblur filter - sobel and prewitt filter - MediaCodec HEVC/MPEG-4/VP8/VP9 decoding - Meridian Lossless Packing (MLP) / TrueHD encoder - Non-Local Means (nlmeans) denoising filter - sdl2 output device and ffplay support - sdl1 output device and sdl1 support removed - extended mov edit list support - libfaac encoder removed - Matroska muxer now writes CRC32 elements by default in all Level 1 elements - sidedata video and asidedata audio filter - Changed mapping of rtp MIME type G726 to codec g726le.
2016-10-24x264-devel: update to 20161023maya3-28/+26
Approximate changelog: Remove misaligned SSE support; could cause problems if exception masks were messed with by libraries and is obsoleted by AVX. Fix AVX2 detection if "limit CPUID" is enabled in the BIOS. Fix cases where intra refresh could predict from disallowed pixels. x86inc: support "x64"-marked Windows 64-bit machines. Improvements: Support cygwin 64-bit. x86: faster SAD_X3/SAD_X4 Transparent hugepage support and optimization on Linux. AVC-Intra encoding support. Windows Unicode (UTF-16) support. Fix compilation with OpenCL on OS X. Fix a crash in the case of an OpenCL error during encoding with OpenCL. Fix building in compilers without inline asm support. Fix crash in high bit depth builds compiled with unaligned stack. Fix potential misalignment crash in AVX2 denoise_dct. Fix some builds with PIC. Fix possible crash when writing very large filler NALUs. Improvements: Add --stitchable option for segmented encoding. Add new color primaries, transfer characteristics, and matrix coefficient options from the latest H.264 spec. x86: optimizations to AVX2 iDCT and AVX deblock Tweak i16x16 delta-quant-avoidance code to fix a rare flickering issue with deblocking in static areas of the frame. Fix an invalid memcpy in sliced-threads that sometimes used src==dst; this probably didn't break anything, but valgrind complains and it's technically wrong. Fix a stack alignment bug in checkasm and use 64-bit cycle counters to avoid overflows that could occur in some tests. x86inc: Remove .rodata kludges; they're no longer necessary and could cause other problems. Improvements: x86: add Jaguar CPU detection. x86inc: utilize the shadow space on win64 to avoid stack pointer manipulation in some functions. x86: 32-byte align the stack if possible, avoiding explicit alignment routines in ALIGNED_ARRAY for AVX2-aligned arrays. x86: Various optimizations and a bunch of new AVX2 functions, especially for high bit depth. OpenCL refactoring: autoload the OpenCL library, clean up the code, and increment X264_BUILD.
2016-10-24ffmpeg3: update to 3.1.5maya2-7/+7
- avformat/mxfdec: Check size to avoid integer overflow in mxf_read_utf16_string() - avcodec/mpegvideo_enc: Clear mmx state in ff_mpv_reallocate_putbitbuffer() - avcodec/utils: Clear MMX state before returning from avcodec_default_execute*() - doc/examples/demuxing_decoding: Drop AVFrame->pts use - libopenjpegenc: fix out-of-bounds reads when filling the edges - libopenjpegenc: stop reusing image data buffer for openjpeg 2 - configure: fix detection of libopenjpeg - doc: fix various typos and grammar errors - avformat/utils: Update codec_id before using it in the parser init - cmdutils: fix typos - lavfi: fix typos - lavc: fix typos - tools: fix grammar error - ffmpeg: remove unused and errorneous AVFrame timestamp check - Support for MIPS cpu P6600 - avutil/mips/generic_macros_msa: rename macro variable which causes segfault for mips r6
2016-10-23regenchristos1-2/+2
2016-10-23We don't have RTF_LLINFO anymore, use getifaddrschristos1-16/+48
2016-10-20Update multimedia/mpv to mpv-0.21.0leot2-8/+7
Changes: Release 0.21.0 ============== Features -------- Added ~~~~~ - config: allow profile forward-references in default profile - demux_lavf: "support" mov edit lists and log errors if used (FFmpeg only) - hwdec: Add support for CUDA and cuvid/NvDecode (mostly useful on Linux where VDPAU still lacks HEVC Main 10 support; keep using DXVA2 on Windows) - osc: add right-click behavior to playlist and chapter buttons - osc: add user-alterable margin for top/bottombar - rpi: add --hwdec=rpi-copy (#3604) - sd_lavc: enable teletext - vaapi: support drm devices when running in vaapi-copy mode - vd_lavc: Add hwdec wrapper for crystalhd - vo_opengl: add hw overlay support and use it for RPI - vo_opengl: basic mali fbdev support - vo_opengl: rpi: merge vo_rpi features Removed ~~~~~~~ - vo_opengl: remove pre/post/scale-shaders in favor of user-shaders Deprecated ~~~~~~~~~~ - config: deprecate ao and vo auto-profiles - vo_rpi: deprecate this VO Options and Commands -------------------- Added ~~~~~ - add --teletext-page option - af_pan: add af-command support to change the matrix - af_rubberband: add af-command and option to change the pitch - command: add a load-script command - command: add a video-dec-params property - command: add an apply-profile command - command: add audio-pts property to get the audio pts - command: add options to property list - command: add sub-text property for current subtitle text - command: export profile list as a property (#977) - options: add --hwdec=yes as alias for --hwdec=auto - player: add --player-operation-mode=pseudo-gui - player: add --video-osd=no option to disable video OSD (#3387) - player: add --watch-later-directory option - stream_bluray: select title by playlist (bd://mpls/[playlist]) - vo_opengl: disable glFlush() by default, and add an option to enable it for testing Changed ~~~~~~~ - af_rubberband: default to channels=together - command: allow absolute seeks relative to end of stream - command: make bitrate properties observable - command: make most options observable - msg: make --log-file and --dump-stats accept config path expansion (#3591) - options: deprecate --playlist-pos to --playlist-start - options: make input options generally runtime-settable - options: rename subtitle options (--sub-text- → --sub; --ass- → --sub-ass-) - osc: change default layout to bottombar, seekbarstyle to bar, use larger scalewindowed and scalefullscreen - player: make --terminal, --log-file, --dump-stats, --osc, --ytdl, --audio-*, --priority, --stop-screensaver (#3615) settable at runtime - vo_drm: change CLI options - Change connector selection to accept human readable names (such as eDP-1, HDMI-A-2) rather than arbitrary numbers. - Change GPU selection to accept GPU number rather than device paths. - Merge connector and GPU selection into one --drm-connector. - Add support for --drm-connector=help. - Add support for --drm-* in EGL backend. - vo_opengl: rename 3dlut-size to icc-3dlut-size Removed ~~~~~~~ - command: remove hwdec-active and hwdec-detected properties - command: remove vo-cmdline - options: drop unreferenced --bluray-angle option - vo, ao: disable positional parameter suboptions - vo_xv: replace no-colorkey with ck-method=none Deprecated ~~~~~~~~~~ - all VOs and AOs: deprecate sub-options, add them as global options - command: deprecate "cache" property, replace with "cache-percent" - deprecate --vo-defaults - deprecate --vo=opengl-hq alias in favor of opengl-hq profile - options: deprecate --mute=auto - vo_direct3d: deprecate direct3d_shaders alias, use shaders by default - vo_opengl: deprecate 'drm-egl' backend and introduce 'drm' instead Fixes and Minor Enhancements ---------------------------- - TOOLS/zsh.pl: die if we can't parse main options - TOOLS/zsh.pl: don't filter files by extension (#2273) - ao_alsa: try to fallback to "hdmi" before "iec958" for spdif - ao_rsound: fix compilation (#3501) - aspect: use nominal width instead of actual width for video-unscaled - audio/out: prevent underruns with spdif under certain conditions - audio: fix late audio start (#3610) - audio: fix missed wakeup when changing audio output device - audio: fix segfault when yanking USB DAC - charset_conv: Use CP949 instead of EUC-KR - command: don't log "ignore" command with -v verbosity - command: try selecting the next track if track switching fails (#3446) - demux_mkv: don't crash if --ordered-chapters-files fails - displayconfig: treat a refresh rate of 1 as invalid - ipc: log when listening to IPC socket (#3598) - macOS: fix fullscreen regression on 10.11 and newer (#3364) - mp_image: fix clearing to black with p010 format - osc: Fix scaling issues when toggling fullscreen (#3429) - osc: align text vertically in top/bottombar (#2093) - osc: change seekbar background's alpha scaling - osc: fix display of chapters and playlist scaling - osc: move tooltip to inside seekbar for top/bottombar - osc: show playlist/chapter list on prev/next instead of osd - path: default ~~ paths to home directory (#3591) - player: do not let pseudo-gui override user config settings - player: enable reading from stdin after loading input.conf - player: fix instant subtitle refresh on track switches - player: make --force-window work with opengl-cb - stream_file: don't use poll() on directories (would hang on macOS; #3530, #3649) - stream_lavf: fix determining seekability (#1701) - sub: actually apply text alignment options to non-ASS subtitles - terminal-win: support modifier keys in console input (#3625) - vo_drm: fix segfault when using invalid card - vo_opengl: apply 90° rotation to chroma texture size (#3568) - vo_opengl: fix incorrect video rendering after vdpau preemption recovery - vo_opengl: partially fix dumb-mode cropping with rotation - vo_opengl: rpi: use overlay for yuv420p too - w32_common: initialize playback status as soon as possible (#3482) - wayland: reject resize events with either dimension being 0 (#3679) - x11: fix external fullscreen update (#3570) - ytdl_hook: Add title to playlist items if available - ytdl_hook: Set aspect ratio for anamorphic video - ytdl_hook: Support playlist entries without subtitles - ytdl_hook: add chapters by parsing video's description - ytdl_hook: don't add subtitles with unknown duration - ytdl_hook: temporarily force disable dash segments formats
2016-10-19Change HOMEPAGE to a working linkmaya1-2/+2
Forgot to change this part from livestreamer package.
2016-10-18Makefile: +streamlinkmaya1-1/+2
2016-10-18Add package streamlink v0.0.2maya4-0/+512
Streamlink is a command-line utility that pipes video streams from various services into a video player, such as VLC. The main purpose of Streamlink is to allow the user to avoid buggy and CPU heavy flash plugins but still be able to enjoy various streamed content. Streamlink is a fork of Livestreamer
2016-10-15Update adobe-flash-plugin11 to 11.2.202.637.tsutsui2-11/+11
Upstream announcement: https://helpx.adobe.com/security/products/flash-player/apsb16-32.html Adobe Security Bulletin Security updates available for Adobe Flash Player Release date: October 11, 2016 Vulnerability identifier: APSB16-32 CVE number: CVE-2016-4273, CVE-2016-4286, CVE-2016-6981, CVE-2016-6982, CVE-2016-6983, CVE-2016-6984, CVE-2016-6985, CVE-2016-6986, CVE-2016-6987, CVE-2016-6989, CVE-2016-6990, CVE-2016-6992 Platform: Windows, Macintosh, Linux and ChromeOS
2016-10-11Update to gpac-0.6.1tnn6-20/+50
0.6.1: Fixing packaging bugs in 0.6.0 (wrong version numbers were used). 0.6.0: General: Improved very high resolutions, high framerate, and high colorspace (10 bits) playback support. HEVC top-notch support. Improved video playback through OpenGL and OpenGL ES. Video 360 navigation support on all platforms. Many adaptive streaming improvement (HLS and DASH), see specific section below. MP42TS (MPEG2-TS multiplexer) is production grade for adaptive streaming and reference vector streams. TEMI extension for fine synchronization and hybrid delivery (mandated by HbbTV 2.0). Better language tagging support. UTF16 name handling. Better multi-channel audio support. Improved support for encryption (CENC/PIFF - both AES CTR and CBC are supported). Improved generic support for subtitles (METX/METT, STPP TTML, WebVTT, SBTT, STXT, etc.). Parallel execution of GPAC tools. Better network support for TTL and multi-interface. SHVC (scalable) experimental (based on SHM4.1 and old ISOBMFF spec)
2016-10-10add option for including EBU R128 audio loudness normalization supporttnn1-4/+12
2016-10-10Distfile has been changedadam2-6/+9
2016-10-09Update ruby-gnome2 packages to 3.0.9.tsutsui2-10/+10
Upstream changes: (from https://github.com/ruby-gnome2/ruby-gnome2/blob/3.0.9/NEWS) == Ruby-GNOME2 3.0.9: 2016-08-12 === Changes ==== All * Update Realease date in NEWS. * Use the latest Rubies. * Readme: update ruby versions supported. [Patch by cedlemo] * travis: install experimental gems dependent packages for GSF and GOffice. [patch by Hiroshi Hatake] * add GSF, GOffice and Gnumeric in the main Rakefile. [patch by cedlemo] * ignore no-GI version of gdk_pixbuf2 in main run-test.rb and in the main extconf.rb. * remove conditionnal macro based on HAVE_RUBY_ENCODING_H. * clean code in main Rakefile. * define top level windows:version:update in main Rakefile. ==== Ruby/GIO2 * Improvements * Fixes * remove needless lazy initialization. * follow GI API improvement. ==== Ruby/GLIB2 * Improvements * support for GLib 2.30 on CentOS 6. [ruby-list:50310][5.5] [ruby-list:50316][5.5] * add GLib 2.30 check. * add GLib 2.34 check. * support customizing signal callback. * support (({GObject#bind_property_full})). [patch by cedlemo] * clean code and style issue. * fix GC bug that alive proc may be GC-ed. * Fixes * windows: improve rake. * split g-ir-compiler args. * add debug option as comment. * fix wrong define location. * use predicate style. * fix wrong function in rbglib-variant.c. * bump version. * use SPDX format for license. * homebrew: * add workaround for libffi.pc isn't found on OS X. * enable libffi workaround for gi. * remove checks for old Ruby. * Ruby 2.1 or later has (({rb_str_new_cstr})). * set UTF-8 encoding to (({GLIB.XXX_to_utf8})) return value. * remove unused variables in rbglib_convert.c. [patch by cedlemo] * support Ruby 2.4 Integer unification. [patch Hiroshi Hatake] * gnome2 rake add windows:version:update task. * gnome2 rake reduce too much update. * gnome2 rake accept the latest version isn't found case. * gnome2 rake ignore development series. * windows: update dependencies. * support :freedesktop download site. * support :freedesktop_gstreamer download site. * ignore development version in :freedesktop_gstreamer. ==== Ruby/GStreamer * Improvements * Fixes * windows: improve rake file. * update patches. * follow file name change. * specify x86_64 as arch for 64bit Windows. * stop splitting g-ir-compiler args by default. * fix typo. * windows: update dependencies. * use :freedesktop_gstreamer download_site. * update external packages. ==== Ruby/Poppler * Improvements * Fixes * windows: improve rake file. * use https. * add missing Makefile existence check. * segmentation fault in (({Poppler::Page#text_layout})). [patch by YAMAMOTO Masayuki] * use (({GdkPixbuf::Pixbuf})) form in sample files. [patch by cedlemo] * remove needless gdk_pixbuf2 build dependency. * add missing make file existence check in run-test.rb. ==== Ruby/GObjectIntrospection * Improvements * support dispatching by Flags and Enums. [GitHub#745][Reported by Mamoru TASAKA] * cache results of methods of (({GI::CallableInfo})). [GitHub#749][Reported by rafagf1] * cache collection reader result. [GitHub#749][Reported by rafagf1] * reduce needless function call. [GitHub#749][Reported by rafagf1] * cache (({GI::AgInfo#gclosure?})). * add (({GI::Loader#rubyish_class_name})). [patch by cedlemo] * accept on_XXX as predicate method name. * support gslist of structure values as return value. [patch by cedlemo] * make constant name easy to customize. * Fixes * fix a typo in loader.rb. * fix a bug that int32[] returns wrong values. [GitHub#758][reported by TASAKA] * don't return array length output argument for return value. * windows: update dependencies. ==== Ruby/GDK3 * Improvements * Fixes * windows: * support symbolic icons. [GitHub#750][Abby Archer] * use (({GdkPixbuf::Pixbuf})) form in gdk3 library and test files. [patch by cedlemo] * Rake file update GTK+ version. ==== Ruby/GTK3 * Improvements * update gtk-demo textscroll. [patch by cedlemo] * update gtk-demo data files to Gtk 3.20. [patch by cedlemo] * cache (({Gtk::TreeModel#get_column_type})). [GitHub#749][Reported by rafagf1] * update gtk-demo main.rb to Gtk 3.20. [patch by cedlemo] * update theming_style_classes gtk demo to 3.20. [patch by cedlemo] * update assistant gtk demo to 3.20. [patch by cedlemo] * update css related gtk demos to 3.20. [patch by cedlemo] * update markup gtk demo to 3.20. [patch by cedlemo] * update font-features demo to 3.20. [patch by cedlemo] * make (({Gtk::TreeView#expand_row})) rubyish. * support "row-collapsed" and "row-expanded" signals for (({Gtk::TreeView})). [GitHub#762][Reported Eric Cunningham] * update misc sample bindings.rb to Gtk 3.20. [patch by cedlemo] * update rotated text gtk demo. [patch by cedlemo] * update pixbufs gtk demo. [patch by cedlemo] * hide "found" return value from (({Gtk::TextView#get_iter_at_XXX})). [GitHub#794][Reported by Miguel Hernández] * add (({Gtk::TextView#get_iter_at})) * Fixes * guard text marks from GC. [GitHub#743][Reported by cedlemo] * fix a bug that GC-ed (({Gtk::TextTag})) may be reused. * relax condition in test for (({Gtk::ListStore})). * use GTK+ version check in test for (({Gtk::Image})). * fix issue in the gtk3 tutorial. [patch from Renich Bon Ciric] * follow (({Gtk::TextBuffer#select_bounds})) API change. [GitHub#794][Reported by Miguel Hernandez] * (({Gtk::TextView#get_iter_at*})) return nil when not found. [GitHub#794][Reported by Miguel Hernandez] * fix typo at gtk-demo. [patch by tSU_RooT] * use (({GdkPixbuf::Pixbuf})) form in gtk-demo files. [patch by cedlemo] * use (({GdkPixbuf::Pixbuf})) form in sample misc files. [patch by cedlemo] * use (({GdkPixbuf::Pixbuf})) form in test files. [patch by cedlemo] * gtk3 sample: follow (({Gtk::TextBuffer#select_bounds})) API change. [GitHub#794][Reported by Miguel Hernández] * (({Gtk::TextView#get_iter_at*})) return nil when not found. [GitHub#794][Reported by Miguel Hernández] * fix wrong method used in order to set window size in tutorial samples. [patch by Renich Bon Ciric] * fix label in ((#Gtk::TextView})) tests. * fix typo at gtk-demo. [patch by tSU_RooT] * update all samples, tests, demo, tutorial to use (({GdkPixbuf#Pixbuf})). [patch by cedlemo] * add gtk3 demo transparent.rb. [patch by cedlemo] * update sample with (({Gtk::SeclectionData})) API changes. [patch by cedlemo] * lib and tests follow GI API improvement. * test omit on old GTK+. * require more newer GTK+ version for (({Gtk::TextView})) test. ==== Ruby/Pango * Improvements * add tests for (({Pango::Context})). [patch by cedlemo] * improve tests for (({Pango::Context})). * implement (({Pango::Context#set_chape_renderer})). * add (({Pango::AttrShape#data})). [GitHub#766][Reported by cedlemo] * Fixes * fix error with MACRO usage in rbpangoattrlist.c. [patch by cedlemo] * fix a bug that (({Pango#GlyphGeometry#geometry=})) does nothing. * fix GC related problem in rbpangocontext.c. * windows: update external packages. ==== Ruby/GSF * Improvements * start GSF module. [patch by cedlemo] * Fixes * follow GI API improvement. * windows: fix external package name. * windows: update external packages. ==== Ruby/GOffice * Improvements * start GOffice module. [patch by cedlemo] * support version. * Fixes * add tests for GOffice. * use (({GI::Loader#rubyish_class_nme})) in loader.rb. [patch by cedlemo] * add rules in order to fix issues when building objects. [patch by cedlemo] * add availability check in tests. * fix condition issue in test. * make some tests omitted when run by Travis CI. * windows: update external packages. ==== Ruby/Gnumeric * Improvements * start Gnumeric module. [patch by cedlemo] * Fixes * add missing dependency in run-test.rb. * use (({GI::Loader#rubyish_class_nme})) in loader.rb. [patch by cedlemo] * add rules in order to fix issues when building objects. [patch by cedlemo] * travis : add gnumeric as package to install instead of relying on dep. [patch by cedlemo] * improve renaming rules for C structures to ruby Class in GI loader. [patch by cedlemo] * add rules in order to avoid 2 objects information beeing reloaded. [patch by cedlemo] * windows: fix external package version. ==== Ruby/GdkPixbuf2 * Improvements * replace C implementation with one based on GObject-Introspection. [patch by cedlemo] * implement backward compatibility for (({GdkPixbuf::Pixbuf.new})). [patch by cedlemo] * add rubyish methods. * add (({GdkPixbuf::Pixbuf#composite!})). * implement rubyish methods: * (({GdkPixbuf#dup})) * (({GdkPixbuf#fill!})) * (({GdkPixbuf#rotate})) * (({GdkPixbuf#saturate_and_pixelate})) * (({GdkPixbuf#save})) * (({GdkPixbuf#scale})) * (({GdkPixbuf#scale!})) * support version information. * support options in (({GdkPixbuf::Pixbuf#composite})) and (({GdkPixbuf::Pixbuf#composite!})). * Fixes * remove needless lazy initialization. * improve tests. * add deprecated message for backward compatibility. * add tests for (({GdkPixbuf::Pixbuf#new})). [patch by cedlemo] * add tests for (({GdkPixbuf::Pixbuf#dup})) and (({GdkPixbuf::Pixbuf#fill!})). [patch by cedlemo] * ignore no-gi version of gdk_pixbuf2 in run-test.rb and extconf.rb. * add tests for (({GdkPixbuf::Pixbuf#rotate})) and (({GdkPixbuf::Pixbuf#new})). [patch by cedlemo] * update and fix issues in the samples. [patch by cedlemo] * improve gdk_pixbuf2 libs and tests style, and add missing copyright header. * add missing GObjectIntrospection dependency in tests. * add backward compatibility between the old Gdk::Pixbuf and GdkPixbuf::Pixbuf. * supports running on different directory for gdk_pixbuf2 samples. * add (({PixbufLoader#last_write})). * add tests for (({GdkPixbuf#new})). [patch by cedlemo] * add tests for (({GdkPixbuf#new})) with :file and :scale parameters. [patch by cedlemo] * add tests for (({GdkPixbuf#new})) from subpixbuf. [patch by cedlemo] * add backward compatibily for (({GdkPixbuf::Pixbuf#new})) and (({GdkPixbuf::Pixbuf#new_subpixbuf})). * simplify and improve tests. * use warn and raise instead of puts messages. * add test for (({GdkPixbuf::Pixbuf#dup})). [patch by cedlemo] * add test for (({GdkPixbuf::Pixbuf#new})) from data. [patch by cedlemo] * add test for (({GdkPixbuf::Pixbuf#fill!})). [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#fill!})) tests. * add test for (({GdkPixbuf::Pixbuf#new})) from bytes. [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#new})) tests. * add (({GdkPixbuf::Pixbuf#rotate})) tests. [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#rotate})) tests. * add (({GdkPixbuf#new})) from resource test. [patch by cedlemo] * add (({GdkPixbuf::Pixbuf#new})) from resource at scale tests. [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#new})) tests. * update sample with the GdkPixbuf::Pixbuf form. * add deprecated hook for (({GdkPixbuf::PixbufFormat#signature})). * add tests for (({GdkPixbuf::Pixbuf#saturate_and_pixelate})). [patch by cedlemo] * keep backward compatibility for (({Gdk::PixbufError})). ==== Ruby/VTE3 * Improvements * Fixes * remove needless lazy load. * windows: update external package. ==== Ruby/GTK2 * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] ==== Ruby/RSVG2 * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] * windows: update external packages. ==== Ruby/Clutter * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] * windows update version. ==== Ruby/ClutterGtk * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] * Fix issue with initialization of (({Gtk::IconView})) without hash argument. [patch by cedlemo] ==== Ruby/ClutterGstreamer * Improvements * Fixes * add missing gdk_pixbuf2 dependency in tests. ==== Ruby/GtkSourceView3 * Improvements * Fixes * windows: update dependencies. ==== Ruby/GSF * Added. ==== Ruby/GOffice * Added. ==== Ruby/Gnumeric * Added. ==== Thanks * Mamoru TASAKA * rafagf1 * 5.5 * Abby Archer * Eric Cunningham * Hiroshi Hatake * Renich Bon Ciric * Miguel Hernández * tSU_RooT * YAMAMOTO Masayuki * cedlemo
2016-10-09Update Blue-small skin to 1.9, PR pkg/51508.bsiegert2-8/+8
2016-10-07Revbump post boost updateadam22-43/+44
2016-10-03version 2.8.8adam4-11/+9
- avformat/movenc: Check packet in mov_write_single_packet() too - avformat/movenc: Factor check_pkt() out - avformat/utils: fix timebase error in avformat_seek_file() - avcodec/g726: Add missing ADDB output mask - avcodec/avpacket: clear side_data_elems - avcodec/ccaption_dec: Use simple array instead of AVBuffer - swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices - swscale/swscale_unscaled: Fix packed_16bpc_bswap() with slices - avformat/avidec: Fix infinite loop in avi_read_nikon() - cmdutils: fix implicit declaration of SetDllDirectory function - cmdutils: check for SetDllDirectory() availability - avcodec/aacenc: Tighter input checks - libavcodec/wmalosslessdec: Check the remaining bits - avcodec/diracdec: Check numx/y - avcodec/indeo2: check ctab - avformat/swfdec: Fix inflate() error code check - avcodec/h264: Put context_count check back - cmdutils: remove the current working directory from the DLL search path on win32 - avcodec/raw: Fix decoding of ilacetest.mov - avcodec/ffv1enc: Fix assertion failure with non zero bits per sample - avformat/oggdec: Fix integer overflow with invalid pts - ffplay: Fix invalid array index - avcodec/vp9_parser: Check the input frame sizes for being consistent - libavformat/rtpdec_asf: zero initialize the AVIOContext struct - libavutil/opt: Small bugfix in example. - libx264: Increase x264 opts character limit to 4096 - avformat/mov: Check sample size - avformat/format: Fix registering a format more than once and related races - avcodec/flac_parser: Raise threshold for detecting invalid data - avfilter/vf_telecine: Make frame writable before writing into it - avcodec/mpc8: Correct end truncation - avcodec/mpegvideo: Do not clear the parse context during init - MAINTAINERs cleanup (remove myself from things i de facto dont maintain) - avcodec/h264: Fix off by 1 context count - avcodec/alsdec: Check r to prevent out of array read - avcodec/alsdec: fix max bits in ltp prefix code - avcodec/utils: check skip_samples signedness - avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M stream - avcodec/bmp_parser: Check fsize - avcodec/bmp_parser: reset state - avcodec/bmp_parser: Fix remaining size - avcodec/bmp_parser: Fix frame_start_found in cross frame cases - avfilter/af_amix: dont fail if there are no samples in output_frame() - avformat/allformats: Making av_register_all() thread-safe. - avcodec/mpegvideo: Deallocate last/next picture earlier - avcodec/bmp_parser: Fix state - avformat/oggparseopus: Fix Undefined behavior in oggparseopus.c and libavformat/utils.c - doc/developer.texi: Add a code of conduct - avformat/avidec: Detect index with too short entries - avformat/utils: Check negative bps before shifting in ff_get_pcm_codec_id() - avformat/utils: Do not compute the bitrate from duration == 0 - ffmpeg: Check that r_frame_rate is set before attempting to use it - swresample/rematrix: Use clipping s16 rematrixing if overflows are possible - swresample/rematrix: Use error diffusion to avoid error in the DC component of the matrix - libavformat/oggdec: Free stream private when header parsing fails. - avformat/utils: Check bps before using it in a shift in ff_get_pcm_codec_id() - avformat/oggparseopus: Check that granule pos is within the supported range - avcodec/mjpegdec: Do not try to detect last scan but apply idct after all scans for progressive jpeg - avformat/options_table: Add missing identifier for very strict compliance - librtmp: Avoid an infiniloop setting connection arguments - avformat/oggparsevp8: fix pts calculation on pages ending with an invisible frame
2016-10-03Changes 2.1:adam3-9/+9
Unknown
2016-10-03version 3.1.4:adam3-9/+8
- avformat/avidec: Check nb_streams in read_gab2_sub() - avformat/avidec: Remove ancient assert - avfilter/vf_colorspace: fix range for output colorspace option - lavc/mediacodecdec_h264: fix SODB escaping - avcodec/nvenc: fix const options for hevc gpu setting - avformat/avidec: Fix memleak with dv in avi - lavc/movtextdec.c: Avoid infinite loop on invalid data. - avcodec/ansi: Check dimensions - avcodec/cavsdsp: use av_clip_uint8() for idct - avformat/movenc: Check packet in mov_write_single_packet() too - avformat/movenc: Factor check_pkt() out - avformat/utils: fix timebase error in avformat_seek_file() - avcodec/g726: Add missing ADDB output mask - avcodec/avpacket: clear side_data_elems - avformat/movenc: Check first DTS similar to dts difference - avcodec/ccaption_dec: Use simple array instead of AVBuffer - avcodec/svq3: Reintroduce slice_type - avformat/mov: Fix potential integer overflow in mov_read_keys - swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices - swscale/swscale_unscaled: Fix packed_16bpc_bswap() with slices - avformat/avidec: Fix infinite loop in avi_read_nikon() - lavf/utils: Avoid an overflow for huge negative durations. - avformat/hls: Fix handling of EXT-X-BYTERANGE streams over 2GB - lavc/avpacket: Fix undefined behaviour, do not pass a null pointer to memcpy(). - lavc/mjpegdec: Do not skip reading quantization tables. - cmdutils: fix implicit declaration of SetDllDirectory function
2016-10-02x264-devel: if we don't pass the assembly test, e.g. if we don'tmaya3-7/+40
pass optimizing flags (like default netbsd setup), just act as if we passed --disable-asm, as opposed to passing it for netbsd/arm. - now other operating systems that don't optimize won't fail here. - if someone does pass optimization, he benefits from it - I don't have to define another case in the Makefile for MIPS