From b728e91ebb4452f7a8d3aa1da4f00565bce09092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 12 Jan 2017 15:30:02 +0200 Subject: [PATCH] Release 1.11.1 --- ChangeLog | 1789 ++++++++++++++++- NEWS | 1115 +--------- RELEASE | 102 +- configure.ac | 6 +- docs/plugins/gst-plugins-base-plugins.args | 30 + .../gst-plugins-base-plugins.hierarchy | 1 + docs/plugins/inspect/plugin-adder.xml | 2 +- docs/plugins/inspect/plugin-alsa.xml | 2 +- docs/plugins/inspect/plugin-app.xml | 2 +- docs/plugins/inspect/plugin-audioconvert.xml | 2 +- docs/plugins/inspect/plugin-audiorate.xml | 2 +- docs/plugins/inspect/plugin-audioresample.xml | 2 +- docs/plugins/inspect/plugin-audiotestsrc.xml | 2 +- docs/plugins/inspect/plugin-cdparanoia.xml | 2 +- docs/plugins/inspect/plugin-encoding.xml | 2 +- docs/plugins/inspect/plugin-gio.xml | 2 +- docs/plugins/inspect/plugin-libvisual.xml | 2 +- docs/plugins/inspect/plugin-ogg.xml | 6 +- docs/plugins/inspect/plugin-opus.xml | 2 +- docs/plugins/inspect/plugin-pango.xml | 14 +- docs/plugins/inspect/plugin-playback.xml | 2 +- docs/plugins/inspect/plugin-subparse.xml | 2 +- docs/plugins/inspect/plugin-tcp.xml | 2 +- docs/plugins/inspect/plugin-theora.xml | 2 +- .../inspect/plugin-typefindfunctions.xml | 2 +- docs/plugins/inspect/plugin-videoconvert.xml | 6 +- docs/plugins/inspect/plugin-videorate.xml | 2 +- docs/plugins/inspect/plugin-videoscale.xml | 6 +- docs/plugins/inspect/plugin-videotestsrc.xml | 4 +- docs/plugins/inspect/plugin-volume.xml | 2 +- docs/plugins/inspect/plugin-vorbis.xml | 2 +- docs/plugins/inspect/plugin-ximagesink.xml | 2 +- docs/plugins/inspect/plugin-xvimagesink.xml | 2 +- gst-plugins-base.doap | 10 + 34 files changed, 1950 insertions(+), 1183 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e640d83c6..0c79439ec7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,1792 @@ -=== release 1.10.0 === +=== release 1.11.1 === -2016-11-01 Sebastian Dröge +2017-01-12 Sebastian Dröge * configure.ac: - releasing 1.10.0 + releasing 1.11.1 + +2017-01-12 14:35:09 +0200 Sebastian Dröge + + * po/da.po: + * po/de.po: + * po/fr.po: + * po/hr.po: + * po/id.po: + * po/nb.po: + * po/pl.po: + * po/ru.po: + * po/sr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + po: Update translations + +2017-01-12 22:28:50 +1100 Jan Schmidt + + * gst/playback/gsturisourcebin.c: + urisourcebin: Preserve seqnum on EOS events + When converting EOS to/from our custom fake EOS event, + preserve any seqnum on the original event. + +2017-01-12 10:51:34 +0100 Edward Hervey + + * gst/playback/gsturisourcebin.c: + urisourcebin: Avoid races when setting up typefind + The state of urisourcebin (and all elements contained within) can + change at any point in time, including when setting up the typefind + element. + In order to avoid ending up with typefind starting without being fully + connected, lock the state and connect to the 'have-type' signal. + +2017-01-11 18:24:38 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-converter.c: + video-converter: Fix crashes in fast-paths when converting interlaced formats with different vertical subsampling + E.g. the following pipelines fail because chroma values after the last + line are read (note: 486 % 4 == 2): + gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=UYVY" ! videoconvert ! "video/x-raw,format=I420" ! fakesink + gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=UYVY" ! fakesink + gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=AYUV" ! fakesink + +2017-01-11 22:48:02 +1100 Jan Schmidt + + * gst/playback/gsturisourcebin.c: + urisourcebin: Drop fake EOS if the pad got relinked + If our pad got relinked in since the fake-EOS was sent to the + pad, then drop the fake-EOS event. + CID: 1398546 + +2017-01-11 17:26:01 +0530 Arun Raghavan + + * common: + common: Revert unintentional change in previous commit + +2017-01-11 17:14:46 +0530 Arun Raghavan + + * common: + * gst/playback/gsturisourcebin.c: + urisourcebin: Drop some dead code + The ret == GST_STATE_CHANGE_FAILURE is handled in the previous for loop + already. + CID: 1398544 + +2017-01-11 12:35:40 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Clear pad from pending list if it was linked + If not, the other slots might try to link the pad again. + This can happen when the demuxer has multiple src pads + and their caps are identical + https://bugzilla.gnome.org/show_bug.cgi?id=777121 + +2017-01-11 08:22:21 +0100 Edward Hervey + + * win32/common/libgstvideo.def: + win32: update def file + +2017-01-10 16:36:08 +0200 Vivia Nikolaidou + + * tests/check/libs/videotimecode.c: + videotimecode: Added unit test for GstVideoTimeCodeInterval + https://bugzilla.gnome.org/show_bug.cgi?id=776447 + +2016-12-29 14:42:52 +0200 Vivia Nikolaidou + + * gst-libs/gst/video/gstvideotimecode.c: + * gst-libs/gst/video/gstvideotimecode.h: + videotimecode: New GstVideoTimeCodeInterval type, ability to add to a GstVideoTimeCode + Sometimes there is a human-oriented timecode that represents an + interval between two other timecodes. It corresponds to the human + perception of "add X hours" or "add X seconds" to a specific timecode, + taking drop-frame oddities into account. This interval-representing + timecode is now a GstVideoTimeCodeInterval. Also added function to add it to + a GstVideoTimeCode. + https://bugzilla.gnome.org/show_bug.cgi?id=776447 + +2017-01-10 21:52:34 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Configure typefind element for non-streaming uri + To ensure configuring adaptivedemux if needed, + setup typefind element even if uri is not matched to streaming protocol. + https://bugzilla.gnome.org/show_bug.cgi?id=776458 + +2016-12-24 16:44:26 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Use GList for typefind elements + We need typefind elements per source element's srcpad + https://bugzilla.gnome.org/show_bug.cgi?id=776458 + +2016-12-24 16:15:45 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Remove unused signal handler variable + Remove never used handler id + https://bugzilla.gnome.org/show_bug.cgi?id=776458 + +2017-01-10 08:57:51 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + pbutils: Fix annotation in gst_encoding_profile_set_preset + +2017-01-09 19:45:25 +0000 Tim-Philipp Müller + + * win32/common/libgstvideo.def: + win32: update .def file for new video API + +2017-01-09 19:10:10 +0000 Tim-Philipp Müller + + * tests/check/libs/audiodecoder.c: + tests: audiodecoder: fix another c99-ism + Missed one. + +2017-01-09 19:02:57 +0000 Tim-Philipp Müller + + * sys/ximage/ximagesink.c: + * tests/check/libs/audiodecoder.c: + * tests/check/libs/sdp.c: + * tests/check/libs/videodecoder.c: + Fix indentation + +2017-01-09 18:58:42 +0000 Tim-Philipp Müller + + * tests/check/libs/audiodecoder.c: + tests: audiodecoder: fix compiler warnings due to c99-ism + audiodecoder.c:160:5: error: ‘for’ loop initial declarations are only allowed in C99 mode + +2016-12-30 20:27:48 +0200 Vivia Nikolaidou + + * tests/check/libs/videotimecode.c: + videotimecode: Add GstValue functions unit test + https://bugzilla.gnome.org/show_bug.cgi?id=772764 + +2016-12-30 19:08:16 +0200 Vivia Nikolaidou + + * gst-libs/gst/video/gstvideotimecode.c: + * gst-libs/gst/video/gstvideotimecode.h: + videotimecode: Add GstValue functions + Add compare, serialization and deserialization functions + https://bugzilla.gnome.org/show_bug.cgi?id=772764 + +2017-01-08 21:53:27 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Clear EOS state with stream-start/flush-stop event + The EOS state marker should cleared on stream-start or flush-stop + https://bugzilla.gnome.org/show_bug.cgi?id=777009 + +2017-01-08 21:36:04 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Never push actual EOS event to slot + Due to the special nature of adaptivedemux, reconfigure happens + frequently with seek/track-change. + In very exceptional cases, the following sequence is possible: + * EOS event is pushed to queue element and still buffers are queued + * During draining remaining buffers, reconfiguration downstream + happens due to track switch. + * The queue gets a not-linked flow return from downstream + * Because the sinkpad is EOS, the queue registers an + error on the bus, causing the pipeline to fail. + Avoid the sinkpad getting marked EOS in the first place, by using a + custom event in place of EOS. + https://bugzilla.gnome.org/show_bug.cgi?id=777009 + +2017-01-09 21:31:37 +1100 Jan Schmidt + + * tests/check/libs/video.c: + testsuite: Add some test checks for gst_video_guess_framerate() + +2017-01-09 21:25:26 +1100 Jan Schmidt + + * gst-libs/gst/video/video.c: + gst_video_guess_framerate: Don't throw away all precision + When operating on framerates near 10000fps, at least keep 1 + digit of precision for calculations + +2017-01-06 12:56:00 -0300 Thibault Saunier + + * win32/common/libgstpbutils.def: + Update win32 def files + +2017-01-06 11:39:27 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-target.c: + encoding-target: Properly free temporary list + +2017-01-04 14:27:40 -0300 Thibault Saunier + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/pbutils/encoding-profile.c: + * gst-libs/gst/pbutils/encoding-profile.h: + encoding-profile: Add a way to copy an encoding profile + It is often usefull to make sure that you get a full copy of a profile. + For example you want to let the user modify it in the user interface + but still keep an unchanged version for later use. + API: + gst_encoding_profile_copy + +2017-01-04 14:56:36 +0100 Guillaume Desmottes + + * pkgconfig/Makefile.am: + * pkgconfig/gstreamer-allocators-uninstalled.pc.in: + * pkgconfig/gstreamer-app-uninstalled.pc.in: + * pkgconfig/gstreamer-audio-uninstalled.pc.in: + * pkgconfig/gstreamer-fft-uninstalled.pc.in: + * pkgconfig/gstreamer-pbutils-uninstalled.pc.in: + * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: + * pkgconfig/gstreamer-riff-uninstalled.pc.in: + * pkgconfig/gstreamer-rtp-uninstalled.pc.in: + * pkgconfig/gstreamer-rtsp-uninstalled.pc.in: + * pkgconfig/gstreamer-sdp-uninstalled.pc.in: + * pkgconfig/gstreamer-tag-uninstalled.pc.in: + * pkgconfig/gstreamer-video-uninstalled.pc.in: + * pkgconfig/meson.build: + meson: generate pkg-config -uninstalled pc files + Generating those files is useful for users building the GStreamer stack + using meson and having to link it to another project which is still + using the autotools. + https://bugzilla.gnome.org/show_bug.cgi?id=776810 + +2017-01-04 11:21:51 -0300 Thibault Saunier + + * gst/encoding/gstencodebin.c: + encodebin: Fix stream_group_free when creating it went bad + Avoiding trying to use NULL pointers + +2016-12-30 17:55:18 +0100 Mark Nauwelaerts + + * gst/playback/gstplaysink.c: + playsink: do not link to audio or video filter using padname + ... as a sinkpad need not be called "sink", and it is not the case + for e.g. timeoverlay (and friends). + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=776623 + +2017-01-04 13:44:53 +0000 Tim-Philipp Müller + + * gst/tcp/gstmultihandlesink.c: + multihandlesink: fix some property descriptions + +2017-01-03 02:23:43 +1100 Jan Schmidt + + * gst/playback/gstdecodebin2.c: + * gst/playback/gstparsebin.c: + playback: Fix a small race on decodebin/parsebin shutdown. + When shutting down decodebin2 and parsebin, they set their + output pads to flushing, and there is a very small window + where elements might send a sticky event such as a tag event + (which silently fails due to flushing) and then sends a buffer, + and the buffer will return GST_FLOW_ERROR because it can't + forward sticky events. The element will then send an error + message on the bus. This can also happen when elements send EOS + just as shutdown is happening. Since we're about to destroy all + the elements inside parsebin and decodebin anyway, just discard + error messages from them. + A nicer but more difficult fix for GStreamer 2.0 is to make + all event pushing / handling in core return a GstFlowReturn + like buffers do, so we can report a FLUSHING state cleanly. + +2017-01-02 12:54:32 +0000 Tim-Philipp Müller + + * gst/encoding/gstencodebin.c: + encodebin: fix queue property types when setting + +2015-03-13 18:04:31 +0800 Song Bing + + * gst/encoding/gstencodebin.c: + encodebin: allow more buffers in output queue for better performance + https://bugzilla.gnome.org/show_bug.cgi?id=744191 + +2017-01-02 17:56:36 +0530 Arun Raghavan + + * gst/audioconvert/gstaudioconvert.c: + audioconvert: Relocate a NULL check before accessing converter + CID 1396745 + +2015-07-02 07:23:23 +0200 Tobias Mueller + + * gst-libs/gst/app/gstappsrc.c: + appsrc: fix compiler warning + Initialize min and max _get_property() to gets rid of these + compiler warnings: + gstappsrc.c:741:7: error: 'max' may be used uninitialized in this function + g_value_set_int64 (value, max); + ^ + gstappsrc.c:733:7: error: 'min' may be used uninitialized in this function + g_value_set_int64 (value, min); + ^ + Which happens because gcc doesn't know that GST_IS_APP_SRC will never + fail here. + https://bugzilla.gnome.org/show_bug.cgi?id=752052 + +2015-11-25 11:30:42 +0000 Stuart Weaver + + * gst-libs/gst/rtsp/gstrtspurl.c: + rtsp-url: unescape special chars in user/pass part of URL + This way special characters such as '@' can be used in + usernames or passwords, e.g. + rtsp://view:%40dm%4An@/media/camera1 + will now parse username and password into: + User: view + Pass: @dm:n + https://bugzilla.gnome.org/show_bug.cgi?id=758389 + +2015-11-18 13:59:30 +0900 Vineeth TM + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Add support to dump dot files + Dump graphs during error/warning messages and discover is done + https://bugzilla.gnome.org/show_bug.cgi?id=758259 + +2016-12-24 10:15:24 +0000 Tim-Philipp Müller + + * tests/check/libs/tag.c: + tests: tag: add unit test for ID3v2 UTF-16 string list parsing + https://bugzilla.gnome.org/show_bug.cgi?id=770355 + +2016-12-24 14:32:34 +0000 Tim-Philipp Müller + + * tests/check/libs/tag.c: + tests: tag: add test for ID3v2 extended header parsing + https://bugzilla.gnome.org/show_bug.cgi?id=770355 + +2016-08-24 11:39:39 -0600 Thomas Bluemel + + * gst-libs/gst/tag/id3v2frames.c: + id3v2: fix splitting strings in ISO-8859-1 and UTF-16 formats + When parsing NUL-terminated strings, do not include the terminating + NUL byte(s). Depending on the encoding used, either g_utf8_validate() + failed due to this, or worse the call to g_utf16_to_utf8() would + return 0 items read on an empty string, causing it to fail parsing + certain frames. + https://bugzilla.gnome.org/show_bug.cgi?id=770355 + +2016-08-24 10:33:14 -0600 Thomas Bluemel + + * gst-libs/gst/tag/id3v2.c: + id3v2: fix handling of tags with extended headers + The extended header size value does not include itself. + https://bugzilla.gnome.org/show_bug.cgi?id=770355 + +2016-12-23 18:08:43 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Initialize variables to avoid build failures + encoding-profile.c: In function ‘get_profile_format_from_possible_factory_name’: + encoding-profile.c:1532:6: error: ‘fact’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + if (fact) + ^ + encoding-profile.c: In function ‘profile_from_string’: + encoding-profile.c:1720:6: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + if (profile) + ^ + cc1: all warnings being treated as errors + +2016-12-23 14:23:48 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Allow using factory names in serialization format + Instead of enforcing the user to know and understand caps to describe + the encoding format, let him use element factory names directly. + This also makes it possible to ensure that a specific encodore/muxer + is used instead of letting the ranking system do it. + It is now possible to describe an encoding format simply specifying: + matroskamux:x264enc:vobisenc + Factor out functions in the parsing, cleaning up the whole thing. + Update documentation. + +2016-12-21 19:32:41 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + encoding-profile: Also take into account preset name when comparing profiles + +2016-12-21 13:24:37 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + * gst-libs/gst/pbutils/encoding-target.c: + encoding-profile: Handle path to serialized target when deserializing a profile + The synthax is path/to/encoding/profile.gep:profilename + +2016-12-21 12:13:38 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-target.h: + encoding-target: Add 'file-extension' as a known category + +2016-12-21 11:05:30 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-target.c: + encoding-target: Allow using name and targets from serialized file + We used to only care about the name of the files even if the name + is defined in the encoding target serialized file. + That commit also allows user to define several names for a single + target file (using a ';' between the names) which allows us to have + a target for youtube that is called 'youtube;yt' or a target for + 'ogg;ogv;oga' file extension. + +2016-12-21 11:01:27 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-target.c: + encoding-target: Auto convert loading target name to lowercase + We *only* support lowercase encoding target names so we can just + handle user to use uper case ones converting them. + +2016-12-21 10:02:31 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + * gst-libs/gst/pbutils/encoding-target.c: + pbutils: Add documentation about encoding targets + +2016-12-10 11:43:47 +0900 hoonhee.lee + + * tests/examples/decodebin_next/playbin-test.c: + playbin-test: Don't use removed playbin3 'auto-select-streams' property + https://bugzilla.gnome.org/show_bug.cgi?id=775917 + +2016-09-02 15:23:18 +0200 Carlos Rafael Giani + + * gst/audiotestsrc/gstaudiotestsrc.c: + audiotestsrc: Fix incorrect start of tick waveform + Make sure ticks start with an accumulator value of 0 by incrementing it + after filling in samples instead of before and by resetting the accumulator + every time a tick begins. This prevents it from being discontinuous at the + beginning of the tick. + https://bugzilla.gnome.org/show_bug.cgi?id=774050 + +2016-12-22 18:47:19 +0100 Nicolas Dechesne + + * tools/gst-play.c: + tools: gst-play: set GST_GL_XINITHREADS + This ensure that XInitThreads is called and so gl contexts are properly + initialized. + https://bugzilla.gnome.org/show_bug.cgi?id=776403 + +2014-06-26 18:01:06 -0700 Evan Nemerson + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/audio/gstaudioringbuffer.c: + * gst-libs/gst/audio/gstaudioringbuffer.h: + * win32/common/libgstaudio.def: + audioringbuffer: add set_callback_full() for g-i + https://bugzilla.gnome.org/show_bug.cgi?id=678301 + +2016-12-20 12:33:12 +0100 Nicola Murino + + * gst/tcp/gsttcpclientsrc.c: + * gst/tcp/gsttcpclientsrc.h: + tcpclientsrc: add timeout property + https://bugzilla.gnome.org/show_bug.cgi?id=749567 + +2016-12-21 00:11:06 +1100 Jan Schmidt + + * gst/playback/gstparsebin.c: + parsebin: Ignore failure to send sticky events + When plugging and then exposing a parser, don't fail + if it fails to send sticky events. The most likely + reason is that things were flushed due to the app + immediately doing a seek, but we can't detect flushing + separately to other error conditions without a + gst_pad_send_event_full() core function that returns + a GstFlowReturn. + +2016-12-20 13:00:59 +0200 Sebastian Dröge + + * gst-libs/gst/riff/riff-media.c: + riff-media: Fix up last commit + +2015-03-28 18:16:16 +0100 Nicola Murino + + * gst-libs/gst/riff/riff-ids.h: + * gst-libs/gst/riff/riff-media.c: + riff: add ADPCM_G722 support + https://bugzilla.gnome.org/show_bug.cgi?id=746574 + +2016-12-19 15:20:35 -0300 Thibault Saunier + + * tests/check/elements/encodebin.c: + tests: Fix build + +2016-12-19 15:08:12 -0300 Thibault Saunier + + * gst/encoding/gstencodebin.c: + encodebin: Fix build initializing sprof + +2016-12-16 22:11:41 -0300 Thibault Saunier + + * gst/encoding/gstencodebin.c: + * tests/check/elements/encodebin.c: + encodebin: Fallback to other profile if we fail with one + In some case we might have EncodingProfile that will be defined + in a way that, for example if a Preset is not present, another + profile for that stream should be used. + A test is added showing the feature. + https://bugzilla.gnome.org/show_bug.cgi?id=776188 + +2016-12-16 16:27:04 -0300 Thibault Saunier + + * gst/encoding/gstencodebin.c: + encodebin: Enhance error debug when failing to create an encoder + +2016-12-18 12:29:42 +0000 Tim-Philipp Müller + + * gst-libs/gst/tag/id3v2.c: + tag: id3v2: turn redundant check into an assert + We checked this already earlier, so this is dead code. + Leave an assert in place for consistency with the other + branch and in case the rest of the code changes. + CID 1397350. + +2016-12-17 21:58:29 +0200 Sebastian Dröge + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Get caps from the element's srcpad if possible + The caps put into the stream topology by decodebin are the caps at the + moment the pads are exposed on it. This is usually before decoders + received any buffers. + In discoverer we however wait for pre-roll, which ensures that each + decoder handled buffers already. At this point, there might be more + information known about the caps already that we could make use of. + One example here is extra information stored in the SEI of H264, like + the multiview-mode. This will be known if there is a SEI before the + first keyframe, but decodebin won't put this into the topology as it + only waits for the initial caps of h264parse (which come directly after + SPS/PPS). + With this change, the multiview-mode is in the caps reported by + discoverer in many cases. + +2016-12-17 21:35:24 +0200 Sebastian Dröge + + * gst/playback/gstdecodebin2.c: + decodebin2: Put the correct element srcpad into the topology for the very last element of a chain + We were putting the decode pad there, which is the ghostpad linked to + the last element. The decode pad is already in the pad field. + +2016-12-17 21:34:40 +0200 Sebastian Dröge + + * gst/playback/gstdecodebin2.c: + decodebin2: Put the correct pad into the stream-topology if a parser/converter is used + We have to take the capsfilter into account then as the elements are not + linked directly. Previously this caused NULL be set in these cases. + +2016-12-16 17:39:59 +0000 Tim-Philipp Müller + + * gst-plugins-base.spec.in: + Actually delete .spec.in file as well + Only removed it from build description. + +2016-12-16 11:11:57 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + * gst/encoding/gstencodebin.c: + * gst/typefind/gsttypefindfunctions.c: + encoding-profile: Fix documentation and port to gtk markdown + And remove some trailling whitepsaces + +2016-12-16 09:59:25 -0300 Thibault Saunier + + * docs/libs/meson.build: + * docs/meson.build: + * meson.build: + * meson_options.txt: + meson:doc: Build libraries documentations + +2016-12-16 09:58:15 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + base: Actually support using the default encoding target + +2016-12-15 16:12:02 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-target.c: + encoding-target: Remove useless check for local presence + +2016-12-15 16:10:55 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-profile.c: + pbutils: Add safe guard too encoding profile API + +2016-12-15 10:57:14 -0300 Thibault Saunier + + * gst-libs/gst/audio/audio-channels.c: + * gst-libs/gst/pbutils/encoding-profile.c: + audio: Fix introspection annotation + In gst_audio_check_valid_channel_positions the mask + is an out parameter. + And minor conversion from a print to a GST_ERROR. + +2016-12-14 18:06:09 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/encoding-target.c: + encoding-target: Handle GST_ENCODING_TARGET_PATH in list_all + And fix the compare_target function + +2016-12-15 16:29:02 +0200 Sebastian Dröge + + * gst/playback/gstdecodebin2.c: + decodebin: For adaptive streaming, ensure to put the buffering multiqueue after a parser or demuxer + There are cases when there is no demuxer involved that could do the + buffering, e.g. HLS with raw MP3 or AAC. In this case we want to place + the buffering multiqueue after the parser. + Before this change, we've considered the first element after the + adaptive streaming demuxer as a parser. This is not always true, e.g. + id3demux. Instead we now wait until we actually have a parser (or + decoder). + Fixes playback on such HLS streams. + +2016-12-14 09:48:02 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + Remove generated .spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-12-13 22:45:02 +0000 Tim-Philipp Müller + + * gst-libs/gst/rtsp/gstrtspmessage.c: + * gst-libs/gst/rtsp/gstrtspmessage.h: + * tests/check/libs/rtsp.c: + * win32/common/libgstrtsp.def: + rtsp: add boxed types for new authentication credential API + To make the structs usable in bindings, and fix + gstrtspmessage.c:1188: Warning: GstRtsp: + gst_rtsp_message_parse_auth_credentials: return value: Invalid + non-constant return of bare structure or union; register as + boxed type or (skip) + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-12-13 22:26:08 +0200 Sebastian Dröge + + * ext/pango/gstbasetextoverlay.c: + * tests/check/elements/videotestsrc.c: + gst: Don't declare variables inside the for loop header + This is a C99 feature. + +2016-12-13 09:44:09 +0000 Vincent Penquerc'h + + * gst-libs/gst/audio/gstaudioringbuffer.c: + audioringbuffer: do not require 4 byte multiple for encoded MPEG + Bytes per frame doesn't make sense for encoded audio. + https://bugzilla.gnome.org/show_bug.cgi?id=776038 + +2016-12-12 14:50:11 +0900 Seungha Yang + + * gst/playback/gstrawcaps.h: + playback: Add ANY caps features to default text raw caps + Raw text caps with any caps features should be also default raw caps + https://bugzilla.gnome.org/show_bug.cgi?id=775967 + +2016-12-09 17:08:20 -0300 Thibault Saunier + + * meson.build: + meson: Support building without Gst debug + +2016-12-09 17:36:47 +0200 Sebastian Dröge + + * gst-libs/gst/tag/gstxmptag.c: + xmptag: Don't leak the namespace string if there are multiple + https://bugzilla.gnome.org/show_bug.cgi?id=775887 + +2016-12-09 17:59:09 +1100 Jan Schmidt + + * gst-libs/gst/tag/id3v2.c: + id3v2: Clarify id3v2_add_id3v2_frame_blob_to_taglist() + Pass the frame data and size explicitly to + id3v2_add_id3v2_frame_blob_to_taglist() and add a + comment that it's being deliberately / manually + passed the full ID3v2 frame including header. + +2016-12-09 17:57:52 +1100 Jan Schmidt + + * gst-libs/gst/tag/id3v2.c: + id3v2: Add missing overrun check for frame sizes + When frames claim to have a footer, ensure they + are large enough to contain one to avoid an invalid + read overrun. + Spotted by Joshua Yabut + +2016-11-22 23:08:09 +1100 Jan Schmidt + + * ext/ogg/gstogmparse.c: + ogg: Fix element factory klass for OGM parsers + They're parsers, not decoders, so fix the klass info + accordingly. + +2016-12-08 23:01:28 +0000 Tim-Philipp Müller + + * Makefile.am: + * configure.ac: + * docs/Makefile.am: + * docs/design/Makefile.am: + * docs/design/draft-hw-acceleration.txt: + * docs/design/draft-va.txt: + docs: design: remove outdated draft docs (hw-acceleration, va) + +2016-12-08 22:59:58 +0000 Tim-Philipp Müller + + * docs/design/Makefile.am: + * docs/design/design-audiosinks.txt: + * docs/design/design-decodebin.txt: + * docs/design/design-encoding.txt: + * docs/design/design-orc-integration.txt: + * docs/design/draft-keyframe-force.txt: + * docs/design/draft-subtitle-overlays.txt: + * docs/design/part-interlaced-video.txt: + * docs/design/part-mediatype-audio-raw.txt: + * docs/design/part-mediatype-text-raw.txt: + * docs/design/part-mediatype-video-raw.txt: + * docs/design/part-playbin.txt: + * docs/design/part-stereo-multiview-video.markdown: + docs: design: move most design docs to gst-docs module + +2016-12-03 23:01:53 +0900 Seungha Yang + + * gst/playback/gstdecodebin3-parse.c: + * gst/playback/gstdecodebin3.c: + decodebin3: Remove unused variable + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 22:46:20 +0900 Seungha Yang + + * gst/playback/gstdecodebin3-parse.c: + decodebin3: More cleanup DecodebinOutputStream and MultiQueueSlot + When removing DecodebinInputStream, cleanup DecodebinOutputStream and + MultiQueueSlot also if they were drained. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 22:37:55 +0900 Seungha Yang + + * gst/playback/gstdecodebin3.c: + decodebin3: Drop duration query during _input_pad_unlink () + Playbin3 takes lock when querying duration and handling + stream-collection message. So,to post stream-collection message, + duration query should be dropped when input pad is being unlinked. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 22:12:21 +0900 Seungha Yang + + * gst/playback/gstdecodebin3.c: + decodebin3: Update stream-collection with _input_pad_unlink() + Since parsebin does not post new stream-collection message when + it was being removed, decodebin3 should update it itself. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 22:28:28 +0900 Seungha Yang + + * gst/playback/gstdecodebin3.c: + decodebin3: Cleanup no more used DecodebinInput + Remove DecodebinInput using gst_element_call_async() API. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 21:50:47 +0900 Seungha Yang + + * gst/playback/gstdecodebin3.c: + decodebin3: Cleanup no more used MultiQueueSlot + Since MultiQueueSlot cannot be removed inside of streaming thread, + use gst_element_call_async() API. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 21:42:30 +0900 Seungha Yang + + * gst/playback/gstdecodebin3-parse.c: + * gst/playback/gstdecodebin3.c: + decodebin3: Send custom-eos event to notify drained state + Likewise how urisourcebin is doing, use custom event if other streams + are still alive. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-03 20:44:21 +0900 Seungha Yang + + * gst/playback/gstplaybin3.c: + playbin3: Reconfigure playsink again with pad-removed + If selected streams and actived streams are matched, + do reconfigure of playsink again with pad-removed signal + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-10-25 21:06:40 +0900 Seungha Yang + + * gst/playback/gstdecodebin3.c: + * gst/playback/gstplaybin3.c: + playback: Remove trailing whitespace + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-10-23 22:10:39 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Try to link output slot before cleanup + Before cleaning up output slot, check pending pads first, if available. + Then, cleanup it only if linking was failed. + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-10-22 18:53:17 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Cleanup unused output slot + Since urisourcebin cannot cleanup unused output slot + in streaming thread, it will be handled in thread pool + with gst_element_call_async (). + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-12-06 16:29:23 +0200 Sebastian Dröge + + * gst-libs/gst/tag/gsttagdemux.c: + tagdemux: Fix crash when shutting down element during getrange() + Ensure that nothing is in any of the streaming thread functions + anymore when going from PAUSED to READY. While the parent's state change + function has deactivated all pads, there is nothing preventing + downstream from activating our srcpad again and calling the getrange() + function. Although we're in READY! + https://bugzilla.gnome.org/show_bug.cgi?id=775687 + +2016-12-03 08:19:15 +0100 Edward Hervey + + * README: + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-02 15:12:12 -0800 Reynaldo H. Verdejo Pinochet + + * gst/typefind/gsttypefindfunctions.c: + typefind: add another test to itc typefinder + Report certainty after every test passes. + Additionally: + - Remove self-explanatory comment. + +2016-12-01 19:57:47 +0200 Sebastian Dröge + + * gst/subparse/gstssaparse.c: + ssaparse: Free initialization section before storing the next one + If getting multiple caps events. + https://bugzilla.gnome.org/show_bug.cgi?id=775480 + +2016-12-01 15:12:59 +0200 Sebastian Dröge + + * ext/ogg/gstoggdemux.c: + oggdemux: Don't end up ignoring caps just because there are no headers for this stream + https://bugzilla.gnome.org/show_bug.cgi?id=775459 + +2016-11-30 10:55:16 +0200 Sebastian Dröge + + * gst/audioconvert/gstaudioconvert.c: + audioconvert: Error out if mapping input/output buffer failed + +2016-11-30 10:48:40 +0200 Sebastian Dröge + + * gst/audioconvert/gstaudioconvert.c: + audioconvert: Don't map the input buffer in in-place mode + Input and output buffer are the same, let's not do unnecessary work. + https://bugzilla.gnome.org/show_bug.cgi?id=775369 + +2016-11-30 10:43:50 +0200 Sebastian Dröge + + * gst-libs/gst/audio/audio-converter.c: + audio-converter: In passthrough, also don't copy if in and out block are the same + In and out array are usually different, they are stack allocated arrays. + However the blocks inside them still can be the same. + https://bugzilla.gnome.org/show_bug.cgi?id=775369 + +2016-11-30 10:36:14 +0200 Sebastian Dröge + + * gst/audioconvert/gstaudioconvert.c: + audioconvert: Don't call transform_ip() in passthrough mode + https://bugzilla.gnome.org/show_bug.cgi?id=775369 + +2016-11-29 15:30:43 +0100 Jan Alexander Steffens (heftig) + + * gst/tcp/gstmultihandlesink.c: + multihandlesink: Fix buffers-queued being off by one + max_buffer_usage is the index of the oldest buffer in the queue, + starting at zero, not the number of buffers queued. + find_limits returns the index of the oldest buffer that satisfies the + limits in its min_idx parameter, not the number of buffers needed. Fix + this use too in order to keep passing the tests that read + buffers-queued. + https://bugzilla.gnome.org/show_bug.cgi?id=775351 + +2016-11-29 16:26:22 +0100 Jan Alexander Steffens (heftig) + + * tests/check/elements/multifdsink.c: + multifdsink: Add a test involving a slow client + https://bugzilla.gnome.org/show_bug.cgi?id=774908 + +2016-11-23 14:35:04 +0100 Jan Alexander Steffens (heftig) + + * gst/tcp/gstmultihandlesink.c: + multihandlesink: Update bufpos in a separate pass + If a client gets dropped and the iteration gets restarted, bufpos is + incremented again for all clients that preceded the dropped one, causing + havoc. + Adjust the bufpos for all clients first before trying to drop any. + https://bugzilla.gnome.org/show_bug.cgi?id=774908 + +2016-11-29 16:37:50 +0530 Garima Gaur + + * gst/playback/gstplaybin2.c: + playbin: Fix caps memory leak in usage of gst_static_caps_get() API + https://bugzilla.gnome.org/show_bug.cgi?id=775310 + +2016-11-28 20:25:35 +0000 Tim-Philipp Müller + + * win32/common/libgstaudio.def: + win32: update .def file for new audioconverter API + Fixes distcheck. + +2016-11-28 18:28:24 -0800 Scott D Phillips + + * meson.build: + meson: Add headers and libm to has_function checks + The functions from math.h may be implemented in libm. + https://bugzilla.gnome.org/show_bug.cgi?id=774876 + +2016-11-28 19:45:46 +0200 Sebastian Dröge + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Handle NULL/ANY/EMPTY caps without crashing + +2016-11-28 16:54:55 +0100 Edward Hervey + + * tests/check/elements/videorate.c: + check/videorate: Avoid leaking extra buffers + +2016-11-28 16:53:10 +0100 Edward Hervey + + * gst-libs/gst/video/video-info.c: + video-info: Properly initialize/set extra fields + The flags and field order weren't properly initialized in the + gst_video_info_init(). + Furthermore in gst_video_info_from_caps() we might set unitiliazed + values previously, this only sets them if valid. + +2016-11-28 16:51:43 +0100 Edward Hervey + + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: Fix attribute leak + We need to free the strdup'd string (to_free) in all cases + +2016-11-28 16:51:23 +0100 Edward Hervey + + * gst-libs/gst/rtsp/gstrtspmessage.c: + rtsp: Don't leak authorization string + +2016-10-19 12:21:37 +0200 Petr Kulhavy + + * gst-libs/gst/audio/audio-converter.c: + * gst-libs/gst/audio/audio-converter.h: + * gst/audioconvert/gstaudioconvert.c: + audio-converter: optimize endian conversion + Optimize LE<->BE conversion by adding a dedicated fast path instead of + using the generic converter. Implement transform_ip function in order to do the + endian swap in place. + This saves buffer allocation for the intermediate format, can be done in place + and also performs the conversion in one step instead of unpack-convert-pack. + For all bit widths the naive algorithm is implemented, which provides the best + performance when compiled with -O3. ORC was considered but eventually removed + as it requires a dedicated function for in-place conversion (due to the + "restrict" parameters). + A more complex algorithm for the 24-bit conversion with unrolled loop and + 32-bit processing is implemented in the #if 0 section. It performs better if + compiled with -O2. With -O3 however the naive algorithm performs better. + https://bugzilla.gnome.org/show_bug.cgi?id=773073 + +2016-10-21 14:30:31 +0200 Petr Kulhavy + + * gst-libs/gst/audio/audio-converter.c: + audio-convert: simplify the chain free process + It is not needed to store a pointer to every single chain element to free it. + Instead walk the channel list backwards and free the chain elements one by one. + Rename GstAudioConverter->chain_pack to chain_end. + https://bugzilla.gnome.org/show_bug.cgi?id=773073 + +2016-11-28 17:12:26 +0530 Garima Gaur + + * gst/playback/gstsubtitleoverlay.c: + subtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer + https://bugzilla.gnome.org/show_bug.cgi?id=775224 + +2016-11-28 10:12:49 +0200 Sebastian Dröge + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Extract video information from caps manually without GstVideoInfo + The caps might not be fixated (which is required by GstVideoInfo) and we + would assert otherwise. However the caps often contain useful + information in the already-fixed parts that we can use here. + +2016-11-28 10:04:38 +0200 Sebastian Dröge + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Also stop waiting for subtitles if we get EOS + We're not going to get a buffer or GAP event anymore after EOS and would + wait forever otherwise. + +2016-11-26 13:53:49 +0200 Sebastian Dröge + + * gst-libs/gst/riff/riff-media.c: + riff-media: Check if caps are NULL before using them for the first time, not afterwards + Otherwise we'll get a g_critical() before erroring out cleanly on + https://samples.mplayerhq.hu/A-codecs/ATRAC3/SND0.AT3 + +2016-11-26 11:20:51 +0000 Tim-Philipp Müller + + * .gitmodules: + common: use https protocol for common submodule + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-25 10:48:06 +0100 Miguel Paris + + * gst-libs/gst/rtp/gstrtpbuffer.c: + rtpbuffer: Fix ensure_buffers() if whole packet is in one GstMemory + When gst_rtp_buffer_add_extension_onebyte_header() is used over a + GstRtpBuffer that only contains a memory for the whole packet, + ensure_buffers function crashes at the next point: + mem = gst_memory_copy (rtp->map[i].memory, offset, rtp->size[i]); + when i==2 because the payload is not mapped. + In addition the offset is calculated subtracting in the wrong direction. + https://bugzilla.gnome.org/show_bug.cgi?id=774959 + +2016-11-24 15:40:22 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-info.c: + * tests/check/libs/video.c: + video-info: Add unit test for overflow checks + And also prevent overflows caused by allowing uint width/height in + gst_video_info_set_format() but storing them as (signed!) ints. + +2016-11-24 15:12:40 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-info.c: + video-info: And change the overflow check to not actually overflow itself + +2016-11-23 20:10:34 +0200 Sebastian Dröge + + * gst-libs/gst/video/gstvideodecoder.c: + * gst-libs/gst/video/gstvideoencoder.c: + * gst-libs/gst/video/gstvideometa.c: + * gst-libs/gst/video/gstvideopool.c: + * gst-libs/gst/video/video-blend.c: + * gst-libs/gst/video/video-overlay-composition.c: + video: Handle errors in gst_video_info_set_format() / gst_video_info_align() + https://bugzilla.gnome.org/show_bug.cgi?id=774588 + +2016-11-23 20:00:19 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-info.c: + * gst-libs/gst/video/video-info.h: + video-info: Sanity check the frame size to prevent overflows + https://bugzilla.gnome.org/show_bug.cgi?id=774588 + +2016-11-23 13:48:06 +0100 Ulf Olsson + + * gst-libs/gst/sdp/gstmikey.c: + mikey: Generate the correct SRTP policy + https://bugzilla.gnome.org/show_bug.cgi?id=774911 + +2016-11-23 18:26:29 +0200 Sebastian Dröge + + * gst-libs/gst/rtsp/gstrtspdefs.c: + rtspdefs: Assert on the excepted MD5 digest string length + CID 1394494. + +2016-11-23 21:27:55 +1100 Matthew Waters + + * gst/typefind/gsttypefindfunctions.c: + typefind: bounds check windows ico detection + Fixes out of bounds read + https://bugzilla.gnome.org/show_bug.cgi?id=774902 + +2016-11-22 21:12:23 -0800 Scott D Phillips + + * gst-libs/gst/tag/mklicensestables.c: + tag: fix some warnings in mklicensestables + https://bugzilla.gnome.org/show_bug.cgi?id=774878 + +2016-10-07 15:08:37 +0100 Julien Isorce + + * gst-libs/gst/allocators/gstfdmemory.c: + gstfdmemory: log with GST_INFO instead of GST_ERROR on permission denied + For example mmap can fail with EACCES if the the fd has been open + with read only mode. And mapping the memory might be the only way + to check that. So no need to print out an error. + Ex: ioctl(dev, DRM_IOCTL_PRIME_HANDLE_TO_FD, flags & ~DRM_RDWR) + https://bugzilla.gnome.org/show_bug.cgi?id=765600 + +2016-10-18 16:18:19 -0700 Reynaldo H. Verdejo Pinochet + + * gst/typefind/gsttypefindfunctions.c: + typefind: add typefinder for Apple/iTunes itc artwork files + Avoids audio/mpeg false-positive described at: + https://bugzilla.gnome.org/show_bug.cgi?id=773172 + +2016-11-18 16:51:26 +0200 Sebastian Dröge + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/rtsp/gstrtspmessage.c: + * gst-libs/gst/rtsp/gstrtspmessage.h: + * tests/check/libs/rtsp.c: + * win32/common/libgstrtsp.def: + rtsp: Add gst_rtsp_message_parse_auth_credentials() to parse authentication credentials + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-11-18 13:20:55 +0200 Sebastian Dröge + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/rtsp/gstrtspconnection.c: + * gst-libs/gst/rtsp/gstrtspdefs.c: + * gst-libs/gst/rtsp/gstrtspdefs.h: + * win32/common/libgstrtsp.def: + rtsp: Add gst_rtsp_generate_digest_auth_response() to calculate digest auth response + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-11-20 15:43:42 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + * win32/MANIFEST: + * win32/common/_stdint.h: + * win32/common/audio-enumtypes.c: + * win32/common/audio-enumtypes.h: + * win32/common/config.h: + * win32/common/gstrtsp-enumtypes.c: + * win32/common/gstrtsp-enumtypes.h: + * win32/common/multichannel-enumtypes.c: + * win32/common/multichannel-enumtypes.h: + * win32/common/pbutils-enumtypes.c: + * win32/common/pbutils-enumtypes.h: + * win32/common/video-enumtypes.c: + * win32/common/video-enumtypes.h: + win32: remove copies of generated headers + +2016-11-18 14:51:29 -0500 Nicolas Dufresne + + * gst-libs/gst/allocators/gstdmabuf.h: + dmabuf-allocator: Add missing padding in the class + This class was made subclassable, though for future growth of the code, + it's better if we have some room for add class members. Using the small + padding since this is unlikely. + +2016-11-17 20:18:55 +0200 Sebastian Dröge + + * ext/pango/gstbasetextoverlay.c: + textoverlay: Mark pad as needing reconfiguration again if it failed + And return FLUSHING instead of NOT_NEGOTIATED on flushing pads. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 19:46:54 +0200 Sebastian Dröge + + * gst-libs/gst/rtp/gstrtpbasepayload.c: + rtpbasepayload: Ensure to set the RECONFIGURE flag again if reconfiguration failed + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 16:45:32 -0800 Scott D Phillips + + * meson.build: + meson: add_global_arguments -> add_project_arguments + https://bugzilla.gnome.org/show_bug.cgi?id=774656 + +2016-11-17 10:16:43 +0200 Sebastian Dröge + + * tests/check/libs/videotimecode.c: + videotimecode: Add test for the calculations of distance from the daily jam + https://bugzilla.gnome.org/show_bug.cgi?id=774585 + +2016-11-16 19:13:14 +0200 Vivia Nikolaidou + + * gst-libs/gst/video/gstvideotimecode.c: + videotimecode: Fix incorrect nsec_since_daily_jam calculation + For drop-frame timecodes, the nsec_since_daily_jam doesn't necessarily + directly correspond to this many hours/minutes/seconds/frames. We have + to get the frame count as per frames_since_daily_jam and then convert. + https://bugzilla.gnome.org/show_bug.cgi?id=774585 + +2016-11-16 20:48:28 +0200 Sebastian Dröge + + * gst-libs/gst/riff/riff-media.c: + riff: Extract bpp from the strf for vnmc + Needed for avdec_vnmc to work. + +2016-11-17 00:40:43 +1100 Jan Schmidt + + * gst/playback/gstplaysink.c: + playsink: warn if a custom sink is set that has no 'sink' pad + +2016-11-15 09:32:24 -0800 Scott D Phillips + + * gst-libs/gst/audio/gstaudiodecoder.c: + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder, audiodecoder: parse format before checking in src_query_default + The logic change in these commits misordered the parsing and checking of + format in position queries: + 2b06e54 videodecoder: Don't answer BYTES queries + 1840b02 audio: Don't answer BYTES queries + https://bugzilla.gnome.org/show_bug.cgi?id=774484 + +2016-11-15 18:32:50 +0000 Tim-Philipp Müller + + * gst-libs/gst/app/gstappsink.c: + * gst-libs/gst/app/gstappsink.h: + appsink: fix g-i warnings and add since markers + Rename function parameter and make sure the name in the + declaration matches the name in the implementation, to + avoid g-i warnings. Also add Since markers for gtk-doc. + gstappsink.c:1248: Warning: GstApp: gst_app_sink_set_buffer_list_support: + unknown parameter 'buffer_list' in documentation comment, should be 'drop' + +2016-11-15 15:12:12 -0300 Thibault Saunier + + * gst-libs/gst/pbutils/gstdiscoverer.c: + discoverer: Do not try to unref the bus if it has not been set yet + It might happen if creation of the discoverer failed + +2016-07-04 09:32:28 +0200 Patricia Muscalu + + * gst-libs/gst/app/gstappsink.c: + * gst-libs/gst/app/gstappsink.h: + * tests/check/elements/appsink.c: + * win32/common/libgstapp.def: + appsink: add support for buffer lists + https://bugzilla.gnome.org/show_bug.cgi?id=752363 + +2016-11-15 15:23:20 +0900 Wonchul Lee + + * gst/playback/gstplaybin3.c: + playbin3: remove dead code + It never reach into this code path, custom_combiner always not null + here. + https://bugzilla.gnome.org/show_bug.cgi?id=774454 + +2016-11-15 23:36:41 +1100 Jan Schmidt + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Don't answer BYTES queries + Refuse to answer BYTES queries ourselves. The only + time they make sense is on raw elementary streams, + in which case upstream would already have answered. + https://bugzilla.gnome.org/show_bug.cgi?id=757631 + +2016-11-15 23:27:17 +1100 Jan Schmidt + + * gst-libs/gst/audio/gstaudiodecoder.c: + * gst-libs/gst/audio/gstaudioencoder.c: + audio: Don't answer BYTES queries + Refuse to answer BYTES queries ourselves. The only + time they make sense is on raw elementary streams, + in which case upstream would already have answered. + They especially don't make sense for encoders to answer + based on upstream values - although perhaps later + we could make it do TIME->BYTES conversion on the source + pad based on bitrate. + https://bugzilla.gnome.org/show_bug.cgi?id=757631 + +2016-11-14 16:55:36 -0800 Scott D Phillips + + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: cast away const in call to g_free + MSVC warns about the const here. It's safe to cast away. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-14 16:48:16 -0800 Scott D Phillips + + * gst-libs/gst/audio/gstaudiometa.c: + * gst-libs/gst/video/gstvideoaffinetransformationmeta.c: + * gst-libs/gst/video/gstvideometa.c: + * gst-libs/gst/video/video-overlay-composition.c: + Cast away const from GstMetaInfo in *_get_meta_info() functions + MSVC warns about the const in the implicit argument conversion in the + calls to g_once_init_{enter,leave}. It's OK so explicitly cast it. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-13 13:15:38 +0900 Seungha Yang + + * gst/playback/gstdecodebin3-parse.c: + decodebin3: Clear saw_eos flag of DecodebinInputStream by FLUSH event + Likewise how GstPad is doing, saw_eos flag of DecodebinInputStream + must be cleared by FLUSH event. + https://bugzilla.gnome.org/show_bug.cgi?id=774343 + +2016-10-17 15:38:37 +0900 Wonchul Lee + + * gst/playback/gstplaybin3.c: + playbin3: Fix deadlock when adding multiple parsebin + https://bugzilla.gnome.org/show_bug.cgi?id=773131 + +2016-11-14 11:39:33 -0800 Scott D Phillips + + * ext/vorbis/meson.build: + meson: vorbis: Add -DTREMOR to flags for gstivorbisdec + Matching the flags set by Makefile.am + https://bugzilla.gnome.org/show_bug.cgi?id=774445 + +2016-11-14 16:28:42 -0300 Thibault Saunier + + * gst-libs/gst/audio/meson.build: + * gst-libs/gst/video/meson.build: + * gst/adder/meson.build: + * gst/videotestsrc/meson.build: + * gst/volume/meson.build: + meson: Fix build when orc is disabled + Making sure not to use the orc_dep variable in case + orc has been explicitely disabled. + +2016-11-11 10:38:58 -0800 Scott D Phillips + + * gst-libs/gst/video/video-info.c: + * gst/playback/gstplaybin2.c: + * gst/playback/gstplaybin3.c: + Use intermediate guint when handling GstVideoMultiviewFlags + The underlying integer type of the enum GstVideoMultiviewFlags is + implementation defined and may not have the same size as guint. + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-11-11 10:35:00 -0800 Scott D Phillips + + * ext/ogg/gstoggstream.c: + * gst-libs/gst/video/gstvideotimecode.c: + Remove 'return' from `void` functions + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-10-26 22:37:19 -0700 Scott D Phillips + + * meson.build: + meson: don't add_global_arguments when being built as a subproject + https://bugzilla.gnome.org/show_bug.cgi?id=773568 + +2016-11-10 17:05:19 -0300 Thibault Saunier + + * gst-libs/gst/meson.build: + * gst-libs/gst/rtsp/Makefile.am: + * gst-libs/gst/rtsp/meson.build: + rtsp: Include GstSdp-1.0.gir when generating the gir + It is actually needed as we need some symbols. We do not link + to libgstsdp as the user of the lib should do it (same with + autotools build). + This reverts previous commit + +2016-11-10 16:36:49 -0300 Thibault Saunier + + * gst-libs/gst/rtsp/Makefile.am: + libs:rtsp: Remove wrong dependency on Sdp for the gir file + +2016-11-10 16:36:49 -0300 Thibault Saunier + + * gst-libs/gst/rtsp/Makefile.am: + * gst-libs/gst/rtsp/meson.build: + libs:rtsp: Remove wrong dependency on Sdp for the gir file + +2016-10-20 17:17:27 -0300 Thibault Saunier + + * gst-libs/gst/allocators/meson.build: + * gst-libs/gst/app/meson.build: + * gst-libs/gst/audio/meson.build: + * gst-libs/gst/fft/meson.build: + * gst-libs/gst/pbutils/meson.build: + * gst-libs/gst/riff/meson.build: + * gst-libs/gst/rtp/meson.build: + * gst-libs/gst/rtsp/meson.build: + * gst-libs/gst/sdp/meson.build: + * gst-libs/gst/tag/meson.build: + * gst-libs/gst/video/meson.build: + * meson.build: + * meson_options.txt: + meson: Generate girs + https://bugzilla.gnome.org/show_bug.cgi?id=773944 + +2016-11-07 12:01:16 +0100 Petr Kulhavy + + * gst-libs/gst/audio/audio-channels.c: + audio-channels: map buffer read-write only if channels differ + gst_audio_buffer_reorder_channels() was always mapping the buffer read-write + regardless whether any reordering was needed. If the from and to channel order + is identical return immediately without remapping the buffer. + Add a small helper function gst_audio_channel_positions_equal() which is used + in both gst_audio_reorder_channels() and gst_audio_buffer_reorder_channels(). + https://bugzilla.gnome.org/show_bug.cgi?id=773833 + +2013-09-17 17:42:05 +0200 Joris Valette + + * gst/videorate/gstvideorate.c: + * gst/videorate/gstvideorate.h: + * tests/check/elements/videorate.c: + videorate: Add fixed rate property + https://bugzilla.gnome.org/show_bug.cgi?id=699077 + +2016-11-04 16:41:05 +0000 Vincent Penquerc'h + + * ext/opus/gstopusdec.c: + opusdec: fix 120 ms buffers being wrongly emitted + Using the max 120 ms buffer size to ensure we have enough space + for decoded data meant that Opus could actually return 120 ms' + worth of data. + https://bugzilla.gnome.org/show_bug.cgi?id=771723 + +2016-11-04 18:55:44 +0200 Sebastian Dröge + + * win32/common/libgstvideo.def: + win32: Update exports for new API + +2016-10-14 15:14:14 +0100 Julien Isorce + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/video/gstvideodecoder.c: + * gst-libs/gst/video/gstvideodecoder.h: + video: add gst_video_decoder_allocate_output_frame_with_params + It adds a third argument to pass GstBufferPoolAcquireParams + to gst_buffer_pool_acquire_buffer. + If a user subclasses GstBufferPoolAcquireParams, this allows to + pass an updated param to the underlying buffer pool at each + gst_video_decoder_allocate_output_frame_with_params call. + https://bugzilla.gnome.org/show_bug.cgi?id=773165 + +2016-11-04 16:25:55 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-info.h: + video-info: Fix the docs to say interlace-mode, not interlaced-mode + +2016-11-03 21:34:45 +0000 Tim-Philipp Müller + + * win32/common/libgstallocators.def: + win32: add new API to .def file + Fixes make check and make distcheck + +2015-12-11 17:05:14 +0000 Julien Isorce + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/allocators/gstdmabuf.h: + allocators: define GST_CAPS_FEATURE_MEMORY_DMABUF + Adds "memory:DMABuf" caps feature. Since 1.11 tag. + Useful when the the dma-buf buffer cannot be mapped to CPU for r/w requests. + Example: protected content or platform constraints. + https://bugzilla.gnome.org/show_bug.cgi?id=759358 + +2016-10-24 11:00:07 -0400 Nicolas Dufresne + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/allocators/gstdmabuf.c: + * gst-libs/gst/allocators/gstdmabuf.h: + dmabuf: Make the allocator sub-classable + This should allos for cleaner code when implement such allocator. + https://bugzilla.gnome.org/show_bug.cgi?id=768794 + +2014-11-27 13:52:52 -0500 Nicolas Dufresne + + * gst-libs/gst/audio/gstaudiosrc.c: + audiosrc: Leave read loop if no longer running + In the case a src stops providing data (read calls returns 0). The audio + src thread will never leave. Instead, check the condition and leave the + loop. + +2016-11-03 17:18:05 +0100 Edward Hervey + + * tests/check/elements/videoscale.c: + check: Fix corrupted xml check files + By making sure each different videoscale check instance gets logged + into different output file + +2016-11-02 11:04:32 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-orc-dist.c: + * gst-libs/gst/video/video-orc-dist.h: + video: Update orc generated files + +2016-11-02 11:03:42 +0200 Sebastian Dröge + + * gst/meson.build: + * gst/pbtypes/meson.build: + meson: Add pbtypes plugin + +2015-05-28 22:50:05 +1000 Jan Schmidt + + * configure.ac: + * gst/Makefile.am: + * gst/pbtypes/Makefile.am: + * gst/pbtypes/gstpbtypes.c: + pbtypes: Add a stub plugin that owns the plugins-base dynamic types + https://bugzilla.gnome.org/show_bug.cgi?id=750079 + +2016-10-07 16:20:24 +0900 Changbok Chea + + * gst/playback/gsturisourcebin.c: + urisourcebin: Fix adaptive demuxer's property checking and buffering setting + - Add adaptive demuxer's 'connection-speed' property checking + - Set adaptive demuxer q2 buffering property via urisrc use_buffering value + https://bugzilla.gnome.org/show_bug.cgi?id=772550 + +2016-11-01 23:51:47 +0200 Sebastian Dröge + + * gst-libs/gst/video/video-color.c: + * gst-libs/gst/video/video-color.h: + * gst-libs/gst/video/video-info.c: + Revert "video-color: Allow converting incomplete colorimetry to a string" + This reverts commit 158eae7e7e3da3545712dd7d6121492c53085fd9. + It already *always* allowed to convert incomplete colorimetry to a + string. + +2016-05-02 09:48:09 +0300 Sebastian Dröge + + * gst-libs/gst/rtp/gstrtpbasedepayload.c: + rtpbasedepayload: Reject non-TIME segments + https://bugzilla.gnome.org/show_bug.cgi?id=765796 + +2016-11-01 21:09:04 +0200 Sebastian Dröge + + * gst-libs/gst/rtp/gstrtpbasedepayload.c: + Revert "basertpdepayload: create valid segment when given non-time segment" + This reverts commit 0f609bc6c67fea294f4556627228fed72a74d0fb. + +2016-09-30 15:03:52 +0300 Sebastian Dröge + + * gst-libs/gst/video/video-color.c: + * gst-libs/gst/video/video-color.h: + * gst-libs/gst/video/video-info.c: + video-color: Allow converting incomplete colorimetry to a string + This is only a good idea for non-raw caps. + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-09-29 14:57:02 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideoencoder.c: + videoencoder: Proxy colorimetry and chroma-site from input to output caps + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-09-29 14:48:29 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideodecoder.c: + videodecoder: Proxy field order to the output caps + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-09-29 14:48:00 +0300 Sebastian Dröge + + * gst-libs/gst/video/gstvideoencoder.c: + videoencoder: Proxy interlace-mode and field-order fields from the input to the output caps + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-09-29 14:36:42 +0300 Sebastian Dröge + + * docs/libs/gst-plugins-base-libs-sections.txt: + * gst-libs/gst/video/video-info.c: + * gst-libs/gst/video/video-info.h: + * gst-libs/gst/video/videoorientation.c: + * win32/common/libgstvideo.def: + video-info: Add optional field-order caps field for interlaced-mode=interleaved + Usually this information is static for the whole stream, and various + container formats store this information inside the headers for the + whole stream. + Having it inside the caps for these cases simplifies code and makes it + possible to express these requirements more explicitly with the caps. + https://bugzilla.gnome.org/show_bug.cgi?id=771376 + +2016-11-01 18:08:45 +0000 Tim-Philipp Müller + + * meson.build: + meson: update version + +2016-10-22 11:08:18 +0900 Seungha Yang + + * gst/playback/gsturisourcebin.c: + urisourcebin: Remove trailing whitespace + https://bugzilla.gnome.org/show_bug.cgi?id=773341 + +2016-10-14 15:18:28 +0200 Stian Selnes + + * gst/videotestsrc/gstvideotestsrc.c: + * gst/videotestsrc/gstvideotestsrc.h: + * gst/videotestsrc/videotestsrc.c: + * tests/check/elements/videotestsrc.c: + videotestsrc: Make snow deterministic + Deterministic generation of snow and smpte is important for tests so + that it's not affected by other videotestsrc elements in current or + possibly previous tests. + https://bugzilla.gnome.org/show_bug.cgi?id=773102 + +2016-10-14 22:31:41 +0200 Petr Kulhavy + + * gst/audioconvert/gstaudioconvert.c: + audioconvert: optimize mask calculation + find_suitable_mask() had complexity O(n^2) on the number of bits. + For common case like 2-channel audio the mask was calculated in about 4k loop + cycles. + Optimize both n_bits_set() and find_suitable_mask() to O(n) where n is the + number of bits set in the mask. + https://bugzilla.gnome.org/show_bug.cgi?id=772864 + +2016-10-13 10:12:10 +0900 hoonhee.lee + + * gst/playback/gstparsebin.c: + parsebin: Rename variables include 'decode' to 'parse' + https://bugzilla.gnome.org/show_bug.cgi?id=772832 + +2016-10-31 16:33:41 +0900 Wonchul Lee + + * gst/playback/gsturisourcebin.c: + urisourcebin: Fix GST_TYPE_URI_SOURCE_BIN macro typo + https://bugzilla.gnome.org/show_bug.cgi?id=772445 + +2016-10-03 17:12:29 +0900 Wonchul Lee + + * gst/playback/gsturisourcebin.c: + urisourcebin: fix to log event pointer + https://bugzilla.gnome.org/show_bug.cgi?id=772445 + +2016-09-28 16:13:46 +0900 Wonchul Lee + + * gst/playback/gsturisourcebin.c: + urisourcebin: Make use of adaptive demuxer variable + https://bugzilla.gnome.org/show_bug.cgi?id=772445 + +2016-10-06 11:44:11 +0100 Vincent Penquerc'h + + * ext/opus/gstopusdec.c: + opusdec: interpret zero duration as unknown + This fixes missing audio when we get buffers with zero + duration, denoting unknown duration. When several such + buffers are received in a row, they're all at the same + timestamp, with zero duration. + https://bugzilla.gnome.org/show_bug.cgi?id=771723 + +2016-09-26 10:50:52 +0100 Vincent Penquerc'h + + * ext/opus/gstopusdec.c: + opusdec: fix "buffer too small" error + Always supply a buffer with max size to the decoder, as we + can't really decide how many samples will be in the lost packet + based on the timestamps we get. + https://bugzilla.gnome.org/show_bug.cgi?id=771723 + +2016-10-28 08:47:40 +0200 Tomasz Zajac + + * tests/check/libs/sdp.c: + sdp: Add tests for rtcp-fb parsing + https://bugzilla.gnome.org/show_bug.cgi?id=769698 + +2016-10-28 08:47:01 +0200 Tomasz Zajac + + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: Parse rtcp-fb media attributes + https://bugzilla.gnome.org/show_bug.cgi?id=769698 + +2016-08-10 11:38:58 +0200 Tomasz Zajac + + * gst-libs/gst/sdp/gstsdpmessage.c: + sdp: Add rtcp-fb media attributes based on caps + https://bugzilla.gnome.org/show_bug.cgi?id=769698 + +2016-09-07 15:01:13 -0400 Nicolas Dufresne + + * ext/pango/gstbasetextoverlay.c: + * gst-libs/gst/video/video-converter.c: + * gst-libs/gst/video/video-format.c: + * gst-libs/gst/video/video-format.h: + * gst-libs/gst/video/video-info.c: + * gst-libs/gst/video/video-orc.orc: + * tests/check/libs/video.c: + video: Add VYUY pixel format + This format is sometimes the output of JPEG decoders. It is the same as + YUY2 and UYVY but with a different component order. + https://bugzilla.gnome.org/show_bug.cgi?id=767450 + +2015-10-15 12:52:27 +0200 Marcin Kolny + + * gst-libs/gst/audio/gstaudiobasesink.c: + * gst-libs/gst/audio/gstaudiobasesrc.c: + * gst-libs/gst/audio/gstaudioclock.c: + * gst-libs/gst/audio/gstaudioclock.h: + audioclock: use GstAudioClock* as first argument in GstAudioClock methods + All the GstAudioClock method declarations required object of GstClock type + as a first argument, but in fact, required GstAudioClock object (runtime + check in function body). Instead of checking type in run-time, we can + change functions declaration, to accept only GstAudioClock methods. Then, + runtime check is not necessary anymore, since always GstAudioClock object + is passed to a function. + https://bugzilla.gnome.org/show_bug.cgi?id=756628 + +=== release 1.11.0 === + +2016-11-01 18:53:15 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.10.0 === + +2016-11-01 17:53:24 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * docs/plugins/inspect/plugin-adder.xml: + * docs/plugins/inspect/plugin-alsa.xml: + * docs/plugins/inspect/plugin-app.xml: + * docs/plugins/inspect/plugin-audioconvert.xml: + * docs/plugins/inspect/plugin-audiorate.xml: + * docs/plugins/inspect/plugin-audioresample.xml: + * docs/plugins/inspect/plugin-audiotestsrc.xml: + * docs/plugins/inspect/plugin-cdparanoia.xml: + * docs/plugins/inspect/plugin-encoding.xml: + * docs/plugins/inspect/plugin-gio.xml: + * docs/plugins/inspect/plugin-libvisual.xml: + * docs/plugins/inspect/plugin-ogg.xml: + * docs/plugins/inspect/plugin-opus.xml: + * docs/plugins/inspect/plugin-pango.xml: + * docs/plugins/inspect/plugin-playback.xml: + * docs/plugins/inspect/plugin-subparse.xml: + * docs/plugins/inspect/plugin-tcp.xml: + * docs/plugins/inspect/plugin-theora.xml: + * docs/plugins/inspect/plugin-typefindfunctions.xml: + * docs/plugins/inspect/plugin-videoconvert.xml: + * docs/plugins/inspect/plugin-videorate.xml: + * docs/plugins/inspect/plugin-videoscale.xml: + * docs/plugins/inspect/plugin-videotestsrc.xml: + * docs/plugins/inspect/plugin-volume.xml: + * docs/plugins/inspect/plugin-vorbis.xml: + * docs/plugins/inspect/plugin-ximagesink.xml: + * docs/plugins/inspect/plugin-xvimagesink.xml: + * gst-plugins-base.doap: + * win32/common/_stdint.h: + * win32/common/config.h: + Release 1.10.0 + +2016-11-01 17:43:45 +0200 Sebastian Dröge + + * po/af.po: + * po/az.po: + * po/bg.po: + * po/ca.po: + * po/cs.po: + * po/da.po: + * po/de.po: + * po/el.po: + * po/en_GB.po: + * po/eo.po: + * po/es.po: + * po/eu.po: + * po/fi.po: + * po/fr.po: + * po/gl.po: + * po/hr.po: + * po/hu.po: + * po/id.po: + * po/it.po: + * po/ja.po: + * po/lt.po: + * po/lv.po: + * po/nb.po: + * po/nl.po: + * po/or.po: + * po/pl.po: + * po/pt_BR.po: + * po/ro.po: + * po/ru.po: + * po/sk.po: + * po/sl.po: + * po/sq.po: + * po/sr.po: + * po/sv.po: + * po/tr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + Update .po files 2016-10-25 08:52:52 -0700 Scott D Phillips diff --git a/NEWS b/NEWS index 547de7f3f9..a940f7bb0f 100644 --- a/NEWS +++ b/NEWS @@ -1,1114 +1 @@ -# 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/)* - +This is GStreamer 1.11.1. diff --git a/RELEASE b/RELEASE index 7285971ed5..cf8142ebc0 100644 --- a/RELEASE +++ b/RELEASE @@ -1,15 +1,20 @@ -Release notes for GStreamer Base Plugins 1.10.0 +Release notes for GStreamer Base Plugins 1.11.1 -The GStreamer team is pleased to announce the first release of the new stable -1.10 release series. The 1.10 release series is adding new features on top of -the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x -release series of the GStreamer multimedia framework. +The GStreamer team is pleased to announce the first release of the unstable +1.11 release series. The 1.11 release series is adding new features on top of +the 1.0, 1.2, 1.4, 1.6, 1.8 and 1.10 series and is part of the API and ABI-stable 1.x release +series of the GStreamer multimedia framework. The unstable 1.11 release series +will lead to the stable 1.12 release series in the next weeks. Any newly added +API can still change until that point. -Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after -the source release by the GStreamer project during the stable 1.10 release -series. +Full release notes will be provided at some point during the 1.11 release +cycle, highlighting all the new features, bugfixes, performance optimizations +and other important changes. + + +Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days. This module contains a set of reference plugins, base classes for other @@ -58,16 +63,44 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg) Bugs fixed in this release - * 768763 : vorbisenc, opusenc reconfiguration broken - * 772500 : opusdec: Fix memory leak in test code - * 772501 : videorate: Fix memory leak in test code - * 772676 : parsebin: Use gst_playback_utils_compare_factories_func - * 772855 : decodebin3: Implement lock for multiqueue slot - * 773103 : videodecoder: Default caps sets format I420 - * 773105 : audioencoder: Error-handling for pushing headers - * 773107 : audioencoder: Plug buffer-leak - * 773181 : x264enc refuses to negotiate I420 or baseline profiles! - * 773441 : decodebin3: GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed + * 678301 : audioringbuffer: introspection fixes and API clean up for bindings + * 699077 : videorate: add " rate " property to modify clip speed + * 744191 : encodebin: Need more buffers in output queue for better performance + * 749567 : tcpclientsrc: add timeout property + * 752052 : appsrc: Initialize min and max vars in get_property() for fix compiler warnings + * 756628 : audioclock: Add run time type check safety + * 758259 : discoverer: Add support to dump dot files + * 759358 : Add GST_CAPS_FEATURE_MEMORY_DMABUF " memory:DMABuf " + * 765796 : rtp depayloaders output bad segment events when input stream is a non time segment + * 767450 : video-format: Add VYUY a packed 4:2:2 format + * 769698 : sdp: add support for rtcp-fb attributes + * 770355 : id3v2: Fix parsing extended header and string lists in UTF-16 + * 771376 : video: Add top-field-first / bottom-field-first information to raw video caps if interlaced-mode=interleaved & proxy colorimetry in compressed caps too + * 772445 : urisourcebin: minor enhancements + * 772550 : urisourcebin: Fix minor typo and some FIXME list + * 772832 : parsebin: Rename variables include 'decode' to 'parse' + * 772864 : audioconvert: mask calculation optimization + * 773073 : audioconvert: endian conversion optimization + * 773102 : videotestsrc: Make snow deterministic + * 773165 : videodecoder: add _allocate_output_frame_with_params() to pass custom GstBufferPoolAcquireParams [API] + * 773341 : urisourcebin: Cleanup unused output slot + * 773944 : meson: Generate girs + * 774445 : meson: vorbis: Add -DTREMOR to flags for gstivorbisdec + * 774454 : playbin3: remove dead code + * 774484 : videodecoder, audiodecoder: parse format before checking in src_query_default + * 774588 : video-info: Catch overflows in the video frame size calculation + * 774728 : Subtitle showing as rectangular box in android platform + * 774878 : tag: fix some warnings in mklicensestables + * 774959 : rtpbuffer: fix ensure_buffers + * 775310 : playbin: Fix caps memory leak in usage of gst_static_caps_get() API + * 775369 : Audio distortion since commit 010b954 (regression) + * 775917 : tests: Do not use 'auto-select-streams' property in playbin3 test app + * 776038 : audioringbuffer: do not require 4 byte multiples for encoded audio + * 776188 : encodebin: Fallback to other profile if we fail with one + * 776447 : videotimecode: New GstVideoTimeCodeDiff type, ability to add to a GstVideoTimeCode + * 776458 : urisourcebin: Always configure typefind + * 777009 : urisourcebin: Never push actual EOS event to slot + * 772764 : GstVideoTimeCode lacks GstValue functions ==== Download ==== @@ -105,18 +138,41 @@ subscribe to the gstreamer-devel list. Contributors to this release * Arun Raghavan + * Carlos Rafael Giani + * Changbok Chea * Edward Hervey - * Graham Leggett - * Havard Graff - * Jimmy Ohn - * Nirbheek Chauhan + * Evan Nemerson + * Garima Gaur + * Guillaume Desmottes + * Jan Alexander Steffens (heftig) + * Jan Schmidt + * Joris Valette + * Julien Isorce + * Marcin Kolny + * Mark Nauwelaerts + * Matthew Waters + * Miguel Paris + * Nicola Murino + * Nicolas Dechesne + * Nicolas Dufresne + * Patricia Muscalu + * Petr Kulhavy + * Reynaldo H. Verdejo Pinochet * Scott D Phillips * Sebastian Dröge * Seungha Yang - * Stefan Sauer + * Song Bing * Stian Selnes + * Stuart Weaver * Thibault Saunier + * Thomas Bluemel * Tim-Philipp Müller + * Tobias Mueller + * Tomasz Zajac + * Ulf Olsson * Vincent Penquerc'h + * Vineeth TM + * Vivia Nikolaidou * Wonchul Lee + * hoonhee.lee   \ No newline at end of file diff --git a/configure.ac b/configure.ac index 83c749ffd5..571b5aecf8 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file dnl initialize autoconf dnl releases only do -Wall, git and prerelease does -Werror too dnl use a three digit version number for releases, and four for git/prerelease -AC_INIT([GStreamer Base Plug-ins],[1.11.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base]) +AC_INIT([GStreamer Base Plug-ins],[1.11.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-base]) AG_GST_INIT @@ -56,10 +56,10 @@ dnl 1.2.5 => 205 dnl 1.10.9 (who knows) => 1009 dnl dnl sets GST_LT_LDFLAGS -AS_LIBTOOL(GST, 1100, 0, 1100) +AS_LIBTOOL(GST, 1101, 0, 1101) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.11.0.1 +GST_REQ=1.11.1 dnl *** autotools stuff **** diff --git a/docs/plugins/gst-plugins-base-plugins.args b/docs/plugins/gst-plugins-base-plugins.args index dc26fa3ddd..d5b2274c58 100644 --- a/docs/plugins/gst-plugins-base-plugins.args +++ b/docs/plugins/gst-plugins-base-plugins.args @@ -1388,6 +1388,16 @@ TRUE + +GstAppSink::buffer-list +gboolean + +rw +Buffer List +Use buffer lists. +FALSE + + GstVolume::mute gboolean @@ -1688,6 +1698,16 @@ FALSE + +GstVideoRate::rate +gdouble +>= 0 +rw +Rate +Factor of speed for frame displaying. +1 + + GstAudioConvert::dithering GstAudioDitherMethod @@ -1788,6 +1808,16 @@ 4953 + +GstTCPClientSrc::timeout +guint + +rw +timeout +Value in seconds to timeout a blocking I/O. 0 = No timeout. . +0 + + GstTCPClientSink::host gchar* diff --git a/docs/plugins/gst-plugins-base-plugins.hierarchy b/docs/plugins/gst-plugins-base-plugins.hierarchy index 75f4ff1c67..2983474432 100644 --- a/docs/plugins/gst-plugins-base-plugins.hierarchy +++ b/docs/plugins/gst-plugins-base-plugins.hierarchy @@ -117,6 +117,7 @@ GObject GstPlugin GstPluginFeature GstDeviceProviderFactory + GstDynamicTypeFactory GstElementFactory GstTracerFactory GstTypeFindFactory diff --git a/docs/plugins/inspect/plugin-adder.xml b/docs/plugins/inspect/plugin-adder.xml index cd64d72899..b600f6b68b 100644 --- a/docs/plugins/inspect/plugin-adder.xml +++ b/docs/plugins/inspect/plugin-adder.xml @@ -3,7 +3,7 @@ Adds multiple streams ../../gst/adder/.libs/libgstadder.so libgstadder.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-alsa.xml b/docs/plugins/inspect/plugin-alsa.xml index 0d6731c0c4..547ba397f4 100644 --- a/docs/plugins/inspect/plugin-alsa.xml +++ b/docs/plugins/inspect/plugin-alsa.xml @@ -3,7 +3,7 @@ ALSA plugin library ../../ext/alsa/.libs/libgstalsa.so libgstalsa.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-app.xml b/docs/plugins/inspect/plugin-app.xml index 72cbaba755..d1c0ddd677 100644 --- a/docs/plugins/inspect/plugin-app.xml +++ b/docs/plugins/inspect/plugin-app.xml @@ -3,7 +3,7 @@ Elements used to communicate with applications ../../gst/app/.libs/libgstapp.so libgstapp.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audioconvert.xml b/docs/plugins/inspect/plugin-audioconvert.xml index 5448185948..34caaec9ad 100644 --- a/docs/plugins/inspect/plugin-audioconvert.xml +++ b/docs/plugins/inspect/plugin-audioconvert.xml @@ -3,7 +3,7 @@ Convert audio to different formats ../../gst/audioconvert/.libs/libgstaudioconvert.so libgstaudioconvert.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audiorate.xml b/docs/plugins/inspect/plugin-audiorate.xml index 371b07c48f..b335132991 100644 --- a/docs/plugins/inspect/plugin-audiorate.xml +++ b/docs/plugins/inspect/plugin-audiorate.xml @@ -3,7 +3,7 @@ Adjusts audio frames ../../gst/audiorate/.libs/libgstaudiorate.so libgstaudiorate.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audioresample.xml b/docs/plugins/inspect/plugin-audioresample.xml index 4108a9916f..ba1cab633e 100644 --- a/docs/plugins/inspect/plugin-audioresample.xml +++ b/docs/plugins/inspect/plugin-audioresample.xml @@ -3,7 +3,7 @@ Resamples audio ../../gst/audioresample/.libs/libgstaudioresample.so libgstaudioresample.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audiotestsrc.xml b/docs/plugins/inspect/plugin-audiotestsrc.xml index 98ee617ddb..90e413def6 100644 --- a/docs/plugins/inspect/plugin-audiotestsrc.xml +++ b/docs/plugins/inspect/plugin-audiotestsrc.xml @@ -3,7 +3,7 @@ Creates audio test signals of given frequency and volume ../../gst/audiotestsrc/.libs/libgstaudiotestsrc.so libgstaudiotestsrc.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-cdparanoia.xml b/docs/plugins/inspect/plugin-cdparanoia.xml index c8d0c5b377..45ffdb9925 100644 --- a/docs/plugins/inspect/plugin-cdparanoia.xml +++ b/docs/plugins/inspect/plugin-cdparanoia.xml @@ -3,7 +3,7 @@ Read audio from CD in paranoid mode ../../ext/cdparanoia/.libs/libgstcdparanoia.so libgstcdparanoia.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-encoding.xml b/docs/plugins/inspect/plugin-encoding.xml index 969650cd11..1dad1a03fc 100644 --- a/docs/plugins/inspect/plugin-encoding.xml +++ b/docs/plugins/inspect/plugin-encoding.xml @@ -3,7 +3,7 @@ various encoding-related elements ../../gst/encoding/.libs/libgstencodebin.so libgstencodebin.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-gio.xml b/docs/plugins/inspect/plugin-gio.xml index d075301dda..b1e57e9ddf 100644 --- a/docs/plugins/inspect/plugin-gio.xml +++ b/docs/plugins/inspect/plugin-gio.xml @@ -3,7 +3,7 @@ GIO elements ../../gst/gio/.libs/libgstgio.so libgstgio.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-libvisual.xml b/docs/plugins/inspect/plugin-libvisual.xml index f53fcb3b2d..54610644a7 100644 --- a/docs/plugins/inspect/plugin-libvisual.xml +++ b/docs/plugins/inspect/plugin-libvisual.xml @@ -3,7 +3,7 @@ libvisual visualization plugins ../../ext/libvisual/.libs/libgstlibvisual.so libgstlibvisual.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-ogg.xml b/docs/plugins/inspect/plugin-ogg.xml index e85205a63f..98b04f955b 100644 --- a/docs/plugins/inspect/plugin-ogg.xml +++ b/docs/plugins/inspect/plugin-ogg.xml @@ -3,7 +3,7 @@ ogg stream manipulation (info about ogg: http://xiph.org) ../../ext/ogg/.libs/libgstogg.so libgstogg.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release @@ -108,7 +108,7 @@ ogmaudioparse OGM audio stream parser - Codec/Decoder/Audio + Codec/Parser/Audio parse an OGM audio header and stream GStreamer maintainers <gstreamer-devel@lists.freedesktop.org> @@ -150,7 +150,7 @@ ogmvideoparse OGM video stream parser - Codec/Decoder/Video + Codec/Parser/Video parse an OGM video header and stream GStreamer maintainers <gstreamer-devel@lists.freedesktop.org> diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml index f1995f174b..9ec88953da 100644 --- a/docs/plugins/inspect/plugin-opus.xml +++ b/docs/plugins/inspect/plugin-opus.xml @@ -3,7 +3,7 @@ OPUS plugin library ../../ext/opus/.libs/libgstopus.so libgstopus.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-pango.xml b/docs/plugins/inspect/plugin-pango.xml index d9e546808c..6801ba37c6 100644 --- a/docs/plugins/inspect/plugin-pango.xml +++ b/docs/plugins/inspect/plugin-pango.xml @@ -3,7 +3,7 @@ Pango-based text rendering and overlay ../../ext/pango/.libs/libgstpango.so libgstpango.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release @@ -20,13 +20,13 @@ video_sink sink always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
@@ -47,13 +47,13 @@ video_sink sink always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
@@ -89,13 +89,13 @@ video_sink sink always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-playback.xml b/docs/plugins/inspect/plugin-playback.xml index 93cd327116..9b49a2578c 100644 --- a/docs/plugins/inspect/plugin-playback.xml +++ b/docs/plugins/inspect/plugin-playback.xml @@ -3,7 +3,7 @@ various playback elements ../../gst/playback/.libs/libgstplayback.so libgstplayback.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-subparse.xml b/docs/plugins/inspect/plugin-subparse.xml index 35c1d56730..69b8ac7fca 100644 --- a/docs/plugins/inspect/plugin-subparse.xml +++ b/docs/plugins/inspect/plugin-subparse.xml @@ -3,7 +3,7 @@ Subtitle parsing ../../gst/subparse/.libs/libgstsubparse.so libgstsubparse.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-tcp.xml b/docs/plugins/inspect/plugin-tcp.xml index ff933efc2a..99a0c520ba 100644 --- a/docs/plugins/inspect/plugin-tcp.xml +++ b/docs/plugins/inspect/plugin-tcp.xml @@ -3,7 +3,7 @@ transfer data over the network via TCP ../../gst/tcp/.libs/libgsttcp.so libgsttcp.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-theora.xml b/docs/plugins/inspect/plugin-theora.xml index 8367c118c1..3262c1488e 100644 --- a/docs/plugins/inspect/plugin-theora.xml +++ b/docs/plugins/inspect/plugin-theora.xml @@ -3,7 +3,7 @@ Theora plugin library ../../ext/theora/.libs/libgsttheora.so libgsttheora.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-typefindfunctions.xml b/docs/plugins/inspect/plugin-typefindfunctions.xml index 6cdfab2cfd..0677760034 100644 --- a/docs/plugins/inspect/plugin-typefindfunctions.xml +++ b/docs/plugins/inspect/plugin-typefindfunctions.xml @@ -3,7 +3,7 @@ default typefind functions ../../gst/typefind/.libs/libgsttypefindfunctions.so libgsttypefindfunctions.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-videoconvert.xml b/docs/plugins/inspect/plugin-videoconvert.xml index 2d18f8507c..a8f9d862f5 100644 --- a/docs/plugins/inspect/plugin-videoconvert.xml +++ b/docs/plugins/inspect/plugin-videoconvert.xml @@ -3,7 +3,7 @@ Colorspace conversion ../../gst/videoconvert/.libs/libgstvideoconvert.so libgstvideoconvert.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release @@ -20,13 +20,13 @@ sink sink always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-videorate.xml b/docs/plugins/inspect/plugin-videorate.xml index 477a70c862..dcf2b4fbad 100644 --- a/docs/plugins/inspect/plugin-videorate.xml +++ b/docs/plugins/inspect/plugin-videorate.xml @@ -3,7 +3,7 @@ Adjusts video frames ../../gst/videorate/.libs/libgstvideorate.so libgstvideorate.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-videoscale.xml b/docs/plugins/inspect/plugin-videoscale.xml index 587b0321df..c35d4b8ac1 100644 --- a/docs/plugins/inspect/plugin-videoscale.xml +++ b/docs/plugins/inspect/plugin-videoscale.xml @@ -3,7 +3,7 @@ Resizes video ../../gst/videoscale/.libs/libgstvideoscale.so libgstvideoscale.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release @@ -20,13 +20,13 @@ sink sink always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-videotestsrc.xml b/docs/plugins/inspect/plugin-videotestsrc.xml index 91a1987607..e898cad419 100644 --- a/docs/plugins/inspect/plugin-videotestsrc.xml +++ b/docs/plugins/inspect/plugin-videotestsrc.xml @@ -3,7 +3,7 @@ Creates a test video stream ../../gst/videotestsrc/.libs/libgstvideotestsrc.so libgstvideotestsrc.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release @@ -20,7 +20,7 @@ src source always -
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, VYUY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-volume.xml b/docs/plugins/inspect/plugin-volume.xml index 082464135f..cf663ab3a0 100644 --- a/docs/plugins/inspect/plugin-volume.xml +++ b/docs/plugins/inspect/plugin-volume.xml @@ -3,7 +3,7 @@ plugin for controlling audio volume ../../gst/volume/.libs/libgstvolume.so libgstvolume.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-vorbis.xml b/docs/plugins/inspect/plugin-vorbis.xml index d8c4ff7f8b..f408a2a89f 100644 --- a/docs/plugins/inspect/plugin-vorbis.xml +++ b/docs/plugins/inspect/plugin-vorbis.xml @@ -3,7 +3,7 @@ Vorbis plugin library ../../ext/vorbis/.libs/libgstvorbis.so libgstvorbis.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-ximagesink.xml b/docs/plugins/inspect/plugin-ximagesink.xml index bb8ad06b79..b61ad3d0a5 100644 --- a/docs/plugins/inspect/plugin-ximagesink.xml +++ b/docs/plugins/inspect/plugin-ximagesink.xml @@ -3,7 +3,7 @@ X11 video output element based on standard Xlib calls ../../sys/ximage/.libs/libgstximagesink.so libgstximagesink.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/docs/plugins/inspect/plugin-xvimagesink.xml b/docs/plugins/inspect/plugin-xvimagesink.xml index 67f2212455..b966c3af10 100644 --- a/docs/plugins/inspect/plugin-xvimagesink.xml +++ b/docs/plugins/inspect/plugin-xvimagesink.xml @@ -3,7 +3,7 @@ XFree86 video output plugin using Xv extension ../../sys/xvimage/.libs/libgstxvimagesink.so libgstxvimagesink.so - 1.10.0 + 1.11.1 LGPL gst-plugins-base GStreamer Base Plug-ins source release diff --git a/gst-plugins-base.doap b/gst-plugins-base.doap index 8ed0206f53..46e1c6c2b7 100644 --- a/gst-plugins-base.doap +++ b/gst-plugins-base.doap @@ -34,6 +34,16 @@ A wide range of video and audio decoders, encoders, and filters are included. + + + 1.11.1 + master + + 2017-01-12 + + + + 1.10.0