From 3a6900df4575866d9e6aa1b41de0817696f0f6e7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 12 Jan 2017 15:31:02 +0200 Subject: [PATCH] Release 1.11.1 --- ChangeLog | 1642 ++++++++++++++++++++++- NEWS | 1115 +-------------- RELEASE | 102 +- configure.ac | 8 +- docs/plugins/gst-plugins-good-plugins.args | 148 +- docs/plugins/gst-plugins-good-plugins.hierarchy | 1 + docs/plugins/gst-plugins-good-plugins.signals | 9 + docs/plugins/inspect/plugin-1394.xml | 2 +- docs/plugins/inspect/plugin-aasink.xml | 2 +- docs/plugins/inspect/plugin-alaw.xml | 2 +- docs/plugins/inspect/plugin-alpha.xml | 2 +- docs/plugins/inspect/plugin-alphacolor.xml | 2 +- docs/plugins/inspect/plugin-apetag.xml | 2 +- docs/plugins/inspect/plugin-audiofx.xml | 2 +- docs/plugins/inspect/plugin-audioparsers.xml | 2 +- docs/plugins/inspect/plugin-auparse.xml | 2 +- docs/plugins/inspect/plugin-autodetect.xml | 2 +- docs/plugins/inspect/plugin-avi.xml | 2 +- docs/plugins/inspect/plugin-cacasink.xml | 2 +- docs/plugins/inspect/plugin-cairo.xml | 2 +- docs/plugins/inspect/plugin-cutter.xml | 2 +- docs/plugins/inspect/plugin-debug.xml | 2 +- docs/plugins/inspect/plugin-deinterlace.xml | 6 +- docs/plugins/inspect/plugin-dtmf.xml | 2 +- docs/plugins/inspect/plugin-dv.xml | 2 +- docs/plugins/inspect/plugin-effectv.xml | 2 +- docs/plugins/inspect/plugin-equalizer.xml | 2 +- docs/plugins/inspect/plugin-flac.xml | 2 +- docs/plugins/inspect/plugin-flv.xml | 2 +- docs/plugins/inspect/plugin-flxdec.xml | 2 +- docs/plugins/inspect/plugin-gdkpixbuf.xml | 2 +- docs/plugins/inspect/plugin-goom.xml | 2 +- docs/plugins/inspect/plugin-goom2k1.xml | 2 +- docs/plugins/inspect/plugin-icydemux.xml | 2 +- docs/plugins/inspect/plugin-id3demux.xml | 2 +- docs/plugins/inspect/plugin-imagefreeze.xml | 2 +- docs/plugins/inspect/plugin-interleave.xml | 2 +- docs/plugins/inspect/plugin-isomp4.xml | 4 +- docs/plugins/inspect/plugin-jack.xml | 2 +- docs/plugins/inspect/plugin-jpeg.xml | 2 +- docs/plugins/inspect/plugin-level.xml | 2 +- docs/plugins/inspect/plugin-matroska.xml | 4 +- docs/plugins/inspect/plugin-mulaw.xml | 2 +- docs/plugins/inspect/plugin-multifile.xml | 2 +- docs/plugins/inspect/plugin-multipart.xml | 2 +- docs/plugins/inspect/plugin-navigationtest.xml | 2 +- docs/plugins/inspect/plugin-oss4.xml | 2 +- docs/plugins/inspect/plugin-ossaudio.xml | 2 +- docs/plugins/inspect/plugin-png.xml | 2 +- docs/plugins/inspect/plugin-pulseaudio.xml | 2 +- docs/plugins/inspect/plugin-replaygain.xml | 2 +- docs/plugins/inspect/plugin-rtp.xml | 2 +- docs/plugins/inspect/plugin-rtpmanager.xml | 2 +- docs/plugins/inspect/plugin-rtsp.xml | 2 +- docs/plugins/inspect/plugin-shapewipe.xml | 2 +- docs/plugins/inspect/plugin-shout2send.xml | 4 +- docs/plugins/inspect/plugin-smpte.xml | 2 +- docs/plugins/inspect/plugin-soup.xml | 2 +- docs/plugins/inspect/plugin-spectrum.xml | 2 +- docs/plugins/inspect/plugin-speex.xml | 2 +- docs/plugins/inspect/plugin-taglib.xml | 2 +- docs/plugins/inspect/plugin-udp.xml | 2 +- docs/plugins/inspect/plugin-video4linux2.xml | 2 +- docs/plugins/inspect/plugin-videobox.xml | 2 +- docs/plugins/inspect/plugin-videocrop.xml | 2 +- docs/plugins/inspect/plugin-videofilter.xml | 2 +- docs/plugins/inspect/plugin-videomixer.xml | 2 +- docs/plugins/inspect/plugin-vpx.xml | 2 +- docs/plugins/inspect/plugin-wavenc.xml | 2 +- docs/plugins/inspect/plugin-wavpack.xml | 2 +- docs/plugins/inspect/plugin-wavparse.xml | 2 +- docs/plugins/inspect/plugin-ximagesrc.xml | 2 +- docs/plugins/inspect/plugin-y4menc.xml | 2 +- gst-plugins-good.doap | 10 + 74 files changed, 1944 insertions(+), 1233 deletions(-) diff --git a/ChangeLog b/ChangeLog index 48ef7e0..550f483 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,1647 @@ +=== release 1.11.1 === + +2017-01-12 Sebastian Dröge + + * configure.ac: + releasing 1.11.1 + +2017-01-12 14:36:22 +0200 Sebastian Dröge + + * po/el.po: + * po/hr.po: + * po/id.po: + * po/zh_CN.po: + po: Update translations + +2017-01-11 17:53:32 -0800 Andre McCurdy + + * gst/isomp4/qtdemux.c: + qtdemux: free seqh after calling qtdemux_parse_svq3_stsd_data() + The seqh buffer allocated in qtdemux_parse_svq3_stsd_data() needs to + be freed by the caller after use. + https://bugzilla.gnome.org/show_bug.cgi?id=777157 + Signed-off-by: Andre McCurdy + +2017-01-10 16:01:35 +0100 Edward Hervey + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + isomp4: Don't spam debug log with knonw/padding atoms + Only output WARNING messages for atoms we don't know how to handle + instead of for padding/known atoms we don't need to do any processing + on + https://bugzilla.gnome.org/show_bug.cgi?id=777095 + +2017-01-09 19:05:10 +0000 Tim-Philipp Müller + + * gst/rtp/gstrtph263depay.c: + * gst/rtp/gstrtpsbcdepay.c: + * gst/rtpmanager/rtpjitterbuffer.c: + * gst/rtsp/gstrtspsrc.c: + * sys/v4l2/gstv4l2bufferpool.c: + Fix indentation + +2017-01-09 19:04:04 +0000 Tim-Philipp Müller + + * tests/check/elements/rtpjitterbuffer.c: + tests: rtpjitterbuffer: fix compiler warning due to c99-ism + rtpjitterbuffer.c:592:3: error: ‘for’ loop initial declarations are only allowed in C99 mode + +2016-11-11 14:31:03 +1100 Matthew Waters + + * gst/autodetect/gstautodetect.c: + autodetect: bring the element state down after success + Otherwise some messages that are emitted by the element on NULL->READY + will not reach the application. + https://bugzilla.gnome.org/show_bug.cgi?id=764947 + +2017-01-08 01:13:32 +1100 Jan Schmidt + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/gstqtmux.c: + qtmux: Write tfdt atom into fragmented files. + The DASH spec requires that tfdt atoms be present, so + write one out. ISO/IEC 23009-1:2014 6.3.4.2 + https://bugzilla.gnome.org/show_bug.cgi?id=708221 + +2017-01-07 23:55:42 +1100 Jan Schmidt + + * gst/isomp4/qtdemux.c: + qtdemux: Don't reset output timestamps when no tfdt + If a fragmented stream doesn't have a tfdt, don't + reset the output timestamps at each fragment boundary + by erroneously using the default value of 0. Introduced + by commit 69fc48 + https://bugzilla.gnome.org/show_bug.cgi?id=754230 + +2016-12-16 16:51:48 -0300 Thibault Saunier + + * ext/vpx/meson.build: + * gst/equalizer/meson.build: + * gst/isomp4/meson.build: + * meson.build: + meson: Install presets files + +2017-01-03 10:12:30 +0530 Garima Gaur + + * gst/avi/gstavidemux.c: + avidemux: fix some caps leaks + https://bugzilla.gnome.org//show_bug.cgi?id=776789 + +2016-12-22 17:34:08 +0200 Vivia Nikolaidou + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: Return a bin with a "location" property as a sink + Splitmuxsink might be called with a custom bin as a sink. If it has a + "location" property, it can be used. + +2016-11-18 22:42:18 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxsink.c: + * gst/multifile/gstsplitmuxsink.h: + splitmux: Rewrite buffer collection and scheduling + Majorly change the way that splitmuxsink collects + incoming data and sends it to the output, so that it + makes all decisions about when / where to split files + on the input side. + Use separate queues for each stream, so they can be + grown individually and kept as small as possible. + This removes raciness I observed where sometimes + some data would end up put in a different output file + over multiple runs with the same input. + Also fixes hangs with input queues getting full + and causing muxing to stall out. + +2016-11-17 23:40:27 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxsink.c: + * gst/multifile/gstsplitmuxsink.h: + * tests/check/elements/splitmux.c: + splitmuxsink: Add format-location-full signal + Add a new signal for formatting the filename, which receives + a GstSample containing the first buffer from the reference + stream that will be muxed into that file. + Useful for creating filenames that are based on the + running time or other attributes of the buffer. + To make it work, opening of files and setting filenames is + now deferred until there is some data to write to it, + which also requires some changes to how async state changes + and gap events are handled. + +2016-12-31 01:54:01 +1100 Jan Schmidt + + * gst/isomp4/qtdemux.c: + qtdemux: Always snap to the start of the keyframe + When performing a key-unit seek, always snap to the start ts + of the keyframe buffer we landed on so that the keyframe is + entirely within the resulting outgoing segment. That seems + the most sensible result, since the user requested snapping + to the keyframe position. + +2016-12-31 01:48:04 +1100 Jan Schmidt + + * gst/isomp4/qtdemux.c: + qtdemux: Omit cslg_shift when snapping seeks + Segments times and seek requests are stored and handled + in raw 'PTS' time, without the cslg_shift - which only applies + to outgoing samples. Omit the cslg_shift portion when + extracting PTS to compare for internal seek snaps. + If the cslg_shift is included, then keyframe+snap-before seeks + generate a segment start/stop time that already includes the + cslg_shift, and it's then added a 2nd time, causing the + first buffer(s) to have timestamps that are out of segment. + +2016-12-30 22:31:38 +1100 Jan Schmidt + + * gst/isomp4/atoms.c: + qtmux: Remove bogus check in atom_stsc_add_new_entry() + Remove an old check from atom_stsc_add_new_entry() that + extends the last entry in the STSC if the samples per chunk + matches, as the new interleave merging logic requires that + the final entry by updateable. There's already code + below which simply merges the final entry into the previous + one when needed, so rely on that instead. + Fixes asserts like: + ERROR:atoms.c:2940:atom_stsc_update_entry: assertion failed: + (atom_array_index (&stsc->entries, len - 1).first_chunk == first_chunk) + +2016-04-24 21:38:51 +0900 Seungha Yang + + * gst/isomp4/qtdemux.c: + qtdemux: Fix key_time in gst_qtdemux_adjust_seek() + time in segment should be PTS based (not DTS). + https://bugzilla.gnome.org/show_bug.cgi?id=765498 + +2016-12-28 22:49:27 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxpartreader.c: + * gst/multifile/gstsplitmuxpartreader.h: + * gst/multifile/gstsplitmuxsrc.c: + splitmuxsrc: Pass seek flags when activating. + Pass all seek flags when activating a part + based on a seek, so that SNAP flags are preserved. + +2016-11-26 01:13:19 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxpartreader.c: + splitmux: Fix a small race in the splitmuxsrc + Make sure the state of the parser is set to + collecting streams before chaining up to the + parent change_state() method, to close a + small window that can cause playback to + never commence. + +2017-01-02 15:06:33 +0100 Edward Hervey + + * tests/check/elements/amrparse.c: + check: Remove dead code + +2016-12-31 09:52:25 +0000 Tim-Philipp Müller + + * gst/multifile/gstmultifilesink.c: + * gst/multifile/gstmultifilesink.h: + multifilesink: refactor max_files handling a bit + Use GQueue instead of a GSList so we don't have to traverse + the whole list to append something every time. And it also + keeps track of the number of items in it for us. + Add a function to add filenames to the list of old files and + use it in more places, so that memory doesn't build up in + other modes either if no max_files limit is specified. + https://bugzilla.gnome.org/show_bug.cgi?id=766991 + +2016-05-29 17:21:47 +0100 Ursula Maplehurst + + * gst/multifile/gstmultifilesink.c: + multifilesink: don't leak memory when no max-files limit is set + Technically we weren't leaking the memory, just storing it internally + and never using it until the element is freed. But we'd still use more + and more memory over time, so this is not good over longer periods + of time. Only keep track of files if there's actually a limit set, + so that we will prune the list from time to time. + https://bugzilla.gnome.org/show_bug.cgi?id=766991 + +2016-12-29 12:39:20 +0100 Mark Nauwelaerts + + * gst/matroska/matroska-demux.c: + matroskademux: adjust segment stop for KEY_UNIT negative rate seeking + +2016-12-29 12:25:35 +0100 Mark Nauwelaerts + + * gst/isomp4/qtdemux.c: + qtdemux: implement pull mode SNAP flag seeking + +2016-12-29 11:26:33 +0100 Mark Nauwelaerts + + * gst/avi/gstavidemux.c: + avidemux: tweak KEY_UNIT SNAP seek handling + Previously, seeking to position y where y is (strictly) within a keyframe + would seek to that keyframe both with SNAP_BEFORE and SNAP_AFTER, + where the latter is now adjusted to really snap to the next keyframe. + +2016-12-28 13:23:11 +0100 Mark Nauwelaerts + + * gst/avi/gstavidemux.c: + avidemux: correctly perform pull mode KEY_UNIT seeking + Rather amazingly (and equally unnoticed), keyunit seeking resulted in segments + where start != time (which is bogus for simple avi timeline). So, properly + adjust the segment (start) rather than fiddling with segment time (only). + +2016-12-28 13:04:54 +0100 Mark Nauwelaerts + + * gst/avi/gstavidemux.c: + avidemux: restore considering of pull mode KEY_UNIT seeking + ... by using the original seek event's flags rather than the corresponding + segment flags, which do not have such counterpart flags (and + do no longer have them covertly sneaking in nowadays). + +2015-05-08 12:44:01 +0200 Nicola Murino + + * gst/matroska/matroska-mux.c: + matroskamux: only drop actual streamheader buffers with xiph codecs + With Xiph codecs the stream header buffers are both in the caps and are + usually also at the beginning of each input stream, but it's perfectly + possible that the input stream does not have the stream header buffers + inline in the data. Matroskamux would drop the first N buffers assuming + they're stream headers, but this meant it would drop actual payload data + when the stream didn't contain the stream headers inline. Fix this by + only dropping leading buffers if they're flagged as stream headers. This + fixes issues with streams that are being tapped into after streaming + has started. + https://bugzilla.gnome.org/show_bug.cgi?id=749098 + +2016-12-21 17:43:58 +0100 Nicola Murino + + * tests/check/elements/matroskamux.c: + matroskamux: adjust unit test to modified behaviour + Now matroskamux mark all packets of audio-only streams as keyframes so + in test_block_group after pushing the test audio data 4 buffers are produced + and not more 2. The last buffer is the original data and must match with what + pushed. The remaining ones are matroskamux headers + https://bugzilla.gnome.org/show_bug.cgi?id=754696 + +2016-05-30 01:15:31 +0200 Nicola Murino + + * gst/matroska/matroska-mux.c: + matroskamux: mark all packets of audio-only streams as keyframes + This helps with streaming audio-only streams via multifdsink, + tcpserversink and such. + https://bugzilla.gnome.org/show_bug.cgi?id=754696 + +2015-03-28 18:15:36 +0100 Nicola Murino + + * gst/matroska/matroska-mux.c: + matroskamux: add G722 audio support + https://bugzilla.gnome.org/show_bug.cgi?id=746574 + +2016-12-13 11:11:07 +0900 Wonchul Lee + + * gst/udp/gstudpsrc.c: + updsrc: Add to join multiple multicast interfaces + https://bugzilla.gnome.org/show_bug.cgi?id=776030 + +2015-03-25 13:51:30 +0000 Tim-Philipp Müller + + * gst/rtp/gstrtpklvdepay.c: + rtpklvdepay: add the SPARSE flag to the outgoing stream-start event + +2016-12-14 14:37:45 -0800 Reynaldo H. Verdejo Pinochet + + * gst/rtpmanager/gstrtpbin.c: + * gst/rtpmanager/gstrtpsession.c: + rtpmanager: place content before Since-version API marker + Avoids confusing the parser + +2016-12-14 14:16:53 -0800 Reynaldo H. Verdejo Pinochet + + * ext/shout2/gstshout2.c: + shout2: fix 404 in package origin + +2016-12-14 21:45:15 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Check if we have enough data available when parsing edit lists + Also consume the data entry by entry to get complicated indexing out of + the code. + https://bugzilla.gnome.org/show_bug.cgi?id=776107 + +2016-12-14 19:15:03 +0100 Víctor Manuel Jáquez Leal + + * sys/v4l2/gstv4l2object.c: + v4l2object: Don't check size in a non-list value + After commit 1ea9735a I see these error while using the webcam + integrated in my laptop: + GStreamer-CRITICAL **: gst_value_list_get_size: assertion 'GST_VALUE_HOLDS_LIST (value)' failed + The issue is gst_v4l2src_value_simplify() was doing its job of + generating a single value, rather than the original list. That why, + when getting the list size, a critical warning was raised. + This patch takes advantage of the compiler optimizations to verify + first if the list was simplified, thus use it directly, otherwise, + if it is a list, verify its size. + https://bugzilla.gnome.org/show_bug.cgi?id=776106 + +2016-12-14 10:39:12 +0100 Havard Graff + + * tests/check/elements/rtpjitterbuffer.c: + tests/jitterbuffer: Major refactoring and cleanups + * Changed PCMU->TEST for common macros + * Changed verify-functions (lost & rtx) into macros. + * Remove option to add marker-bit for test-buffers (not used anywhere) + * Add new push_test_buffer function that makes sure there are correlation + between dts and the time on the clock. (classic test-mistake) + * Established a generic starting-point for tests with the + construct_deterministic_initial_state function and use it where + applicable, which removes lots of "boilerplate" everywhere. + * Add basic lost-event test + * Remove as much "magic constants" as possible. + * Remove 3 tests that no longer are testing anything that others don't, + and was completely unmaintainable. + * Remove unnecessary use of the testclock + * Verify each test is testing what it actually says it does (and modify + where it doesn't) + In general, make the tests much smaller, better, more maintainable and + readable. + https://bugzilla.gnome.org/show_bug.cgi?id=774409 + +2016-12-14 09:54:11 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + * gst-plugins-good.spec.in: + Remove generated .spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-12-14 10:15:10 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Check that the XiTh size is big enough + https://bugzilla.gnome.org/show_bug.cgi?id=775794 + +2016-12-09 20:27:53 +0900 Heekyoung Seo + + * gst/isomp4/qtdemux.c: + qtdemux: Check node length of video sample description + Add check for node length of video sample description and its fields and + for the XiTh atom. + Also unify the code a bit. + https://bugzilla.gnome.org/show_bug.cgi?id=775794 + +2016-12-08 18:50:52 +0900 Heekyoung Seo + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + qtdemux: Enable xvid/mp2 codec support + Add support for xvid video and mp2 audio, add m2v1 fourcc. + https://bugzilla.gnome.org/show_bug.cgi?id=775794 + +2016-12-13 22:32:46 +0200 Sebastian Dröge + + * gst/rtp/gstrtpvp9depay.c: + * tests/check/elements/rtpjitterbuffer.c: + * tests/check/elements/rtprtx.c: + * tests/check/elements/vp9enc.c: + gst: Don't declare variables inside the for loop header + This is a C99 feature. + +2016-12-11 13:27:27 +0200 Sebastian Dröge + + * gst/audiofx/gstscaletempo.c: + scaletempo: Ensure to reinit buffers whenever they were not allocated yet + That is, whenever we go through start/stop we have to ensure that on the + next opportunity the buffers are reallocated again. Otherwise the + buffers might be NULL because the element was reused with the same + configuration as before (i.e. set_caps() wouldn't have reinited the + buffers). + https://bugzilla.gnome.org/show_bug.cgi?id=775898 + +2016-12-10 12:52:18 +0000 Tim-Philipp Müller + + * docs/design/Makefile.am: + * docs/design/design-rtpauxiliary.txt: + * docs/design/design-rtpcollision.txt: + * docs/design/design-rtpretransmission.txt: + docs: design: remove, moved to gst-docs + +2016-12-09 17:17:35 -0300 Thibault Saunier + + * meson.build: + meson: Support building without Gst debug + +2016-12-09 17:55:39 +0200 Sebastian Dröge + + * gst/flx/gstflxdec.c: + * gst/flx/gstflxdec.h: + flxdec: Only send SEGMENT events after CAPS + I.e., don't just forward the event but delay it if we don't have caps on + the srcpad yet. + +2016-12-09 17:49:40 +0200 Sebastian Dröge + + * gst/flx/gstflxdec.c: + flxdec: Unref and unmap buffers in all code paths as needed + https://bugzilla.gnome.org/show_bug.cgi?id=775888 + +2016-12-06 17:42:31 +0530 Arun Raghavan + + * sys/v4l2/gstv4l2object.c: + v4l2object: Don't set empty interlace-mode list + If for some reason we fail to probe formats (all try_fmt calls fail, for + example), this is not a critical error, but we end up with an empty list + of interlace modes. This causes all subsequent negotiation to fail. + This patch fixes interlace-mode setting to be skipped if we failed to + detect any. + https://bugzilla.gnome.org/show_bug.cgi?id=775702 + +2016-12-07 17:22:22 +0530 Garima Gaur + + * gst/monoscope/gstmonoscope.c: + monoscope: Unref allocation query after finished with it + https://bugzilla.gnome.org/show_bug.cgi?id=775752 + +2016-12-06 07:48:47 +0200 Sebastian Dröge + + * gst/flx/gstflxdec.c: + flxdec: Allocate 0-initialized memory for the decoded frame + Otherwise we might leak arbitrary information from the uninitialized + memory if not every pixel is written. + https://scarybeastsecurity.blogspot.gr/2016/12/1days-0days-pocs-more-gstreamer-flic.html + +2016-12-05 07:57:19 -0700 Matt Staples + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Fix session cleanup when handling redirect on PLAY + Redirect on PLAY wasn't doing the necessary session cleanup. Fixed by + removing code from gst_rtspsrc_send that changed the state varable upon + encountering a redirect. Better to let the redirect handlers in + gst_rtspsrc_retrieve_sdp and gst_rtspsrc_play do their own + state-dependent cleanup. + https://bugzilla.gnome.org/show_bug.cgi?id=775543 + +2016-09-07 16:10:27 +0300 Aleix Conchillo Flaque + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: always send teardown request + Allow CMD_CLOSE to cancel all commands not only CMD_PAUSE + and ignore CMD_WAIT while closing. + https://bugzilla.gnome.org/show_bug.cgi?id=748360 + +2016-12-03 08:19:27 +0100 Edward Hervey + + * README: + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-01 17:08:09 +0100 Edward Hervey + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * gst/rtpmanager/rtpjitterbuffer.c: + jitterbuffer: Don't leak duplicate items + When providing items with a seqnum, there is a (very small) probability + that an element with the same seqnum already exists. Don't forget + to free that item if it wasn't inserted. + And avoid returning undefined values when dealing with duplicate items + +2016-12-01 11:23:02 +0100 Edward Hervey + + * gst/isomp4/qtdemux.c: + qtdemux: Sanitize unknown codec caps + We might have non-printable characters in the unknown fourcc, replace + them with '_', in the same way we do it for unknown tags. + +2016-12-01 20:04:28 +0200 Sebastian Dröge + + * gst/avi/gstavidemux.c: + avidemux: Free vprp chunk also if it existed but we made no use of it + https://bugzilla.gnome.org/show_bug.cgi?id=775479 + +2016-12-01 17:38:33 +0200 Sebastian Dröge + + * gst/matroska/matroska-read-common.c: + matroskademux: Fix memory leak when parsing attachments + gst_tag_image_data_to_image_sample() does not take ownership of the + passed memory, so don't set it to NULL to allow us to free it later. + https://bugzilla.gnome.org/show_bug.cgi?id=775472 + +2016-12-01 14:56:18 +0200 Sebastian Dröge + + * gst/matroska/matroska-read-common.c: + matroskademux: Unify zlib/bzip2 decompress loops with the ones from qtdemux + Especially, simplify the code a bit. + +2016-12-01 14:41:48 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Increase inflate buffer in bigger steps + 1024 bytes is quite small, let's do 4096 bytes (or one page). + Also remove redundant if, we're always in that case when getting here. + +2016-12-01 14:30:49 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Ensure that size of the pasp atom is as much as we need + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 14:30:10 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Free compressed moov node and it's corresponding decompressed data + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 14:29:21 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Check size of compressed MOOV header against available data + And actually read the size of the cmvd atom from the right position. + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 14:27:55 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Fix zlib inflate loop + Handle errors cleanly, deallocate all memory and return the actual size + of the inflated data. + https://bugzilla.gnome.org/show_bug.cgi?id=775455 + +2016-12-01 13:38:16 +0200 Sebastian Dröge + + * gst/audioparsers/gstaacparse.c: + aacparse: Make sure we have enough data in the codec_data to be able to parse it + Also error out cleanly if mapping the buffer failed. + https://bugzilla.gnome.org/show_bug.cgi?id=775450 + +2016-12-01 13:32:22 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Fix out of bounds read in tag parsing code + We can't simply assume that the length of the tag value as given + inside the stream is correct but should also check against the amount of + data we have actually available. + https://bugzilla.gnome.org/show_bug.cgi?id=775451 + +2016-12-01 15:06:06 +0530 Garima Gaur + + * gst/rtp/gstrtph264depay.c: + * gst/rtp/gstrtpsbcdepay.c: + rtp: Fix some memory leaks in usage of gst_pad_get_current_caps() + https://bugzilla.gnome.org/show_bug.cgi?id=775071 + +2016-11-30 17:56:02 +0200 Vivia Nikolaidou + + * gst/isomp4/qtdemux.c: + qtdemux: Read interlacing information from 'fiel' atom + Read interlacing and TFF/BFF information from the 'fiel' atom and pass it + into the caps + https://bugzilla.gnome.org/show_bug.cgi?id=775414 + +2016-11-29 13:55:40 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Fix compiler warning + qtdemux.c: In function ‘qtdemux_parse_trak’: + qtdemux.c:10184:38: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘gint {aka const int}’ [-Werror=format=] + GST_DEBUG_OBJECT (qtdemux, "Found jpeg: len %u, need %lu", len, + ^ + +2016-11-28 13:45:24 -0800 Scott D Phillips + + * gst/isomp4/qtdemux.c: + qtdemux: Change off_t type to gint + off_t is a signed integer type provided by sys/types.h on posix systems. + Replace with gint for building on non-posix systems (like windows). + https://bugzilla.gnome.org/show_bug.cgi?id=775287 + +2016-11-22 21:00:25 -0800 Scott D Phillips + + * meson.build: + meson: add 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-10-27 23:02:37 +0530 Nirbheek Chauhan + + * ext/meson.build: + Revert "meson: dv plugin now works on MSVC" + This reverts commit 05a89613feff70cff416367f5aa807a1d5c68b63. + Let's not put in stuff that needs unreleased Meson. This can go in + for the next cycle. + +2016-11-28 13:51:41 +0200 Sebastian Dröge + + * gst/avi/gstavidemux.c: + avidemux: Ensure that tags are valid UTF-8 before adding them to the taglist + https://bugzilla.gnome.org/show_bug.cgi?id=775219 + +2016-11-28 12:22:49 +0200 Sebastian Dröge + + * gst/multipart/multipartdemux.c: + multipartdemux: Post an error message on the bus if we got EOS without having added any pads + +2016-11-28 12:00:09 +0200 Sebastian Dröge + + * ext/soup/gstsouphttpsrc.c: + souphttpsrc: Handle non-UTF8 headers and error reasons more gracefully + Especially don't put them into GstStructures in one way or another, just + ignore them or error out cleanly depending on the importance of their + content. + +2016-11-28 09:30:25 +0200 Sebastian Dröge + + * gst/rtp/gstrtpvrawpay.c: + vrawpay: Error out cleanly if mapping the video frame fails + Instead of later dereferencing NULL and crashing. + +2016-11-27 11:14:13 +0100 Edward Hervey + + * gst/rtpmanager/gstrtprtxsend.c: + rtprtxsend: Update statistics before pushing + If an element queries the number of retransmission buffers pushed + *while* the push is still taking place (and before the object lock + is taken just after) it would end up with the wrong statistic + being reported. + Increment it just before the push, avoids races when getting statistics + https://bugzilla.gnome.org/show_bug.cgi?id=768723 + +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-07-28 18:51:24 +0200 Philipp Zabel + + * sys/v4l2/gstv4l2bufferpool.c: + gstv4l2bufferpool: lock flush_stop against regular qbuf + These can be called from different threads and both manipulate the + pool->buffers array. Lock them properly and let flush_stop move the + array contents into a temporary array on the stack to avoid having + to call release_buffer under the object lock. + https://bugzilla.gnome.org/show_bug.cgi?id=775015 + +2016-11-24 14:25:22 +0100 Philipp Zabel + + * sys/v4l2/gstv4l2bufferpool.c: + gstv4l2bufferpool: remove critical error message when process is called on an inactive pool + If the pool is inactive, it is guaranteed to also be flushing, so the + following check will return GST_FLOW_FLUSHING anyway. + This can happen if a v4l2src is blocking on DQBUF in create and is sent + an EOS event on another thread. In that case the pool is set to + flushing/inactive without locking, the v4l2src is unblocked, and may + call pool_process with a valid buffer on the already inactive pool. + https://bugzilla.gnome.org/show_bug.cgi?id=775014 + +2016-11-24 14:41:52 +0100 Philipp Zabel + + * sys/v4l2/gstv4l2src.c: + v4l2src: release buffer if create fails + gst_base_src_get_range does not expect a buffer to be returned in + the error case, so we are leaking a reference here if create fails. + https://bugzilla.gnome.org/show_bug.cgi?id=775014 + +2016-11-23 18:34:04 +0200 Sebastian Dröge + + * gst/rtpmanager/gstrtpbin.c: + rtpbin: Handle create_session() returning NULL in bundle code + CID 1394492. + +2016-11-22 16:42:55 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Make sure to only change DTS of writable buffers + And trivial cleanup + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 16:42:26 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Error out much earlier if we don't have a valid PTS + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 16:18:41 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Only use buffer durations if they are actually valid + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 15:59:19 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Revert commits that set DTS and duration on buffers unconditionally + 39f7e52266fde3b3c035e22cbcbb2bb1fa207b17 was setting the buffer duration + to 0 if is not valid, under the assumption that this is "the last" + buffer and no others are coming next. This is wrong, last_buf is the + previous buffer and not the very last one. + 4e3c13c87c258c9c95e2217d32ab314d12b5fffc was setting DTS to 0 if there + was none. This will set DTS to 0 for all e.g. audio streams, completely + messing up calculations if streams don't start at 0. + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-22 15:58:37 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Only write "gap" edit list if there is a non-zero gap + https://bugzilla.gnome.org/show_bug.cgi?id=774840 + +2016-11-23 07:09:06 +1100 Matthew Waters + + * gst/flx/flx_color.c: + * gst/flx/flx_fmt.h: + * gst/flx/gstflxdec.c: + * gst/flx/gstflxdec.h: + flxdec: rewrite logic based on GstByteReader/Writer + Solves overreading/writing the given arrays and will error out if the + streams asks to do that. + Also does more error checking that the stream is valid and won't + overrun any allocated arrays. Also mitigate integer overflow errors + calculating allocation sizes. + https://bugzilla.gnome.org/show_bug.cgi?id=774859 + +2016-11-23 11:20:49 +0200 Sebastian Dröge + + * gst/flx/gstflxdec.c: + flxdec: Don't unref() parent in the chain function + We don't own the reference here, it is owned by the caller and given to + us for the scope of this function. Leftover mistake from 0.10 porting. + https://bugzilla.gnome.org/show_bug.cgi?id=774897 + +2016-11-22 20:33:29 +0200 Sebastian Dröge + + * ext/vpx/gstvpxdec.c: + vpxdec: libvpx's release buffer is sometimes called with fb->priv==NULL + Don't assert on this but just ignore these cases. + +2016-11-22 20:24:59 +0200 Sebastian Dröge + + * gst/matroska/matroska-demux.c: + matroskademux: Fix cluster searching if we search multiple times in one chunk + After finding a cluster id in the byte reader, we skip ahead the reader + position by one further byte to be able to continue searching from there + inside the same chunk if the cluster candidate was a false positive. + We have to accomodate for that additional byte when resuming the search, + otherwise all following pulls are off-by-one for every resume and we run + into an assertion. + +2016-11-22 20:01:20 +0200 Sebastian Dröge + + * gst/matroska/matroska-ids.c: + matroska: Add size checks to the parsing of FLAC headers + +2016-11-22 23:46:00 +1100 Matthew Waters + + * gst/flx/gstflxdec.c: + flxdec: fix some warnings comparing unsigned < 0 + bf43f44fcfada5ec4a3ce60cb374340486fe9fac was comparing an unsigned + expression to be < 0 which was always false. + gstflxdec.c: In function ‘flx_decode_brun’: + gstflxdec.c:322:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] + if ((glong) row - count < 0) { + ^ + gstflxdec.c:332:33: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] + if ((glong) row - count < 0) { + ^ + https://bugzilla.gnome.org/show_bug.cgi?id=774834 + +2016-11-21 16:17:31 +0200 Vivia Nikolaidou + + * gst/isomp4/gstqtmuxmap.c: + qtmux: Enable up to 16 unpositioned raw audio channels + https://bugzilla.gnome.org/show_bug.cgi?id=774789 + +2016-11-22 19:05:00 +1100 Matthew Waters + + * gst/flx/gstflxdec.c: + flxdec: add some write bounds checking + Without checking the bounds of the frame we are writing into, we can + write off the end of the destination buffer. + https://scarybeastsecurity.blogspot.dk/2016/11/0day-exploit-advancing-exploitation.html + https://bugzilla.gnome.org/show_bug.cgi?id=774834 + +2016-11-21 15:25:23 +0000 David Evans + + * gst/isomp4/qtdemux.c: + qtdemux: Be sure not to read off end of FLAC dfLa box + https://bugzilla.gnome.org/show_bug.cgi?id=773712 + +2016-11-21 11:48:58 +0100 Nicola Murino + + * gst/matroska/matroska-demux.c: + matroskademux: add support for skipping invalid data in push mode + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-21 11:48:29 +0100 Nicola Murino + + * gst/matroska/matroska-parse.c: + * gst/matroska/matroska-read-common.c: + * gst/matroska/matroska-read-common.h: + matroskaparse: add support for skipping invalid data + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-18 17:00:59 +0200 Sebastian Dröge + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Move to new helper function to parse authentication responses + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-11-20 14:12:16 +0100 christophecvr + + * gst/isomp4/qtdemux.c: + qtdemux: Fix wrong compiler warning with gcc 6.2 + | ../../../git/gst/isomp4/qtdemux.c: In function 'qtdemux_parse_tree': + | ../../../git/gst/isomp4/qtdemux.c:10224:24: error: 'size' may be used uninitialized in this function [-Werror=maybe-uninitialized] + | offset += size; + | ^~ + | ../../../git/gst/isomp4/qtdemux.c:10197:25: note: 'size' was declared here + | guint32 size, tag; + | ^~~~ + https://bugzilla.gnome.org/show_bug.cgi?id=774747 + +2016-11-20 16:15:07 +0000 Tim-Philipp Müller + + * Makefile.am: + * configure.ac: + * win32/MANIFEST: + * win32/common/config.h: + win32: remove copies of generated headers + +2016-11-20 13:14:08 +0200 Sebastian Dröge + + * gst/avi/gstavidemux.c: + * gst/avi/gstavidemux.h: + avidemux: Ensure that raw video have properly aligned buffers + That is, aligned to to 32 bytes for video. Fixes crashes if the raw + buffers are passed to SIMD processing functions. + https://bugzilla.gnome.org/show_bug.cgi?id=774428 + +2016-11-20 13:08:27 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Ensure that raw audio and video have properly aligned buffers + That is, aligned to the basic type for audio and to 32 bytes for video. + Fixes crashes if the raw buffers are passed to SIMD processing functions. + https://bugzilla.gnome.org/show_bug.cgi?id=774428 + +2016-11-14 14:44:11 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Always write edit lists for the tracks to give a more accurate duration + Always write an edit list for the whole track. In general this is not + necessary except for the case of having a gap or DTS adjustment but + it allows to give the whole track's duration in the usually more + accurate media timescale. + https://bugzilla.gnome.org/show_bug.cgi?id=774403 + +2016-11-18 22:45:45 +0900 Seungha Yang + + * gst/isomp4/qtdemux.c: + qtdemux: Remove useless return variable + qtdemux_expose_streams() returns flow error immediately, if there is an error. + So, the variable for the flow return is not needed. + https://bugzilla.gnome.org/show_bug.cgi?id=774674 + +2016-11-17 13:59:48 +0000 David Evans + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + * gst/isomp4/qtdemux_dump.c: + * gst/isomp4/qtdemux_dump.h: + * gst/isomp4/qtdemux_types.c: + qtdemux: Add support for FLAC encapsulated in ISOBMFF + As defined by + https://git.xiph.org/?p=flac.git;a=blob_plain;f=doc/isoflac.txt + https://bugzilla.gnome.org/show_bug.cgi?id=773712 + +2016-11-17 19:59:53 +0200 Sebastian Dröge + + * gst/rtpmanager/gstrtpmux.c: + rtpmux: 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:59:26 +0200 Sebastian Dröge + + * gst/monoscope/gstmonoscope.c: + monoscope: 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:58:52 +0200 Sebastian Dröge + + * gst/deinterlace/gstdeinterlace.c: + deinterlace: Mark pad as needing reconfiguration again if reconfiguration failed + And consider negotiation failures on flushing pads as FLUSHING, not as + NOT_NEGOTIATED. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 19:56:23 +0200 Sebastian Dröge + + * ext/dv/gstdvdec.c: + dvdec: Fix handling of negotiation failures + Return NOT_NEGOTIATED if sending the caps event fails, or FLUSHING if + the pad was flushing at that point. + https://bugzilla.gnome.org/show_bug.cgi?id=774623 + +2016-11-17 17:16:26 -0800 Scott D Phillips + + * meson.build: + meson: add_global_arguments -> add_project_arguments + https://bugzilla.gnome.org/show_bug.cgi?id=774656 + +2016-11-16 10:53:51 +0530 Vinod Kesti + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: pad request fails for flvmux + splitmuxsink requests pad from element using pad template like "video_%u", "audio_%u" and "sink_%d". This is true for most of the muxers. + But splitmuxsink not able to request pad to flvmux as flvmux has "audio" and "video" as pad templates. + fix: splitmuxsink should fallback to "audio" and "video" when template not found. + https://bugzilla.gnome.org/show_bug.cgi?id=774507 + +2016-11-17 10:24:28 +0200 Sebastian Dröge + + * gst/matroska/matroska-parse.c: + matroskaparse: Add remaining relevant parts from a3a55305 to the parser + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-16 22:39:01 +0100 Nicola Murino + + * gst/matroska/matroska-parse.c: + matroskaparse: ignore parsing errors at the end of the file + This is the same change as a3a55305 for the parser. + https://bugzilla.gnome.org/show_bug.cgi?id=774566 + +2016-11-16 08:56:34 +0100 Philippe Normand + + * docs/plugins/gst-plugins-good-plugins.signals: + * gst/rtpmanager/gstrtpbin.c: + * gst/rtpmanager/gstrtpbin.h: + * tests/check/Makefile.am: + * tests/check/elements/.gitignore: + * tests/check/elements/rtpbundle.c: + * tests/check/meson.build: + * tests/examples/rtp/.gitignore: + * tests/examples/rtp/Makefile.am: + * tests/examples/rtp/client-rtpbundle.c: + * tests/examples/rtp/server-rtpbundle.c: + rtpbin: receive bundle support + A new signal named on-bundled-ssrc is provided and can be + used by the application to redirect a stream to a different + GstRtpSession or to keep the RTX stream grouped within the + GstRtpSession of the same media type. + https://bugzilla.gnome.org/show_bug.cgi?id=772740 + +2016-11-15 16:52:39 +0530 Vinod Kesti + + * gst/audioparsers/gstaacparse.c: + aacparse: assertion while converting ADTS stream to RAW + aacparse resizes input buffer while converting ADTS stream to RAW, + During buffer resize buffer write permission is not checked. + This throws gst_buffer_is_writable assertion and leads to AV sync issue some times. + It is corrected by making buffer writeable using gst_buffer_make_writable + https://bugzilla.gnome.org/show_bug.cgi?id=774129 + +2016-11-15 21:17:51 +0900 Seungha Yang + + * gst/isomp4/qtdemux.c: + qtdemux: Don't modify upstream TIME segment + TIME segment implies that stream/running time is being handled by upstream. + So, we shouldn't override it without any clue. + This patch is for fixing seek in DASH streaming. + https://bugzilla.gnome.org/show_bug.cgi?id=774196 + +2016-11-14 22:33:27 +0530 Arun Raghavan + + * config.h.meson: + meson: Add define for v4l2-probe config option + +2016-11-14 17:37:51 +0200 Sebastian Dröge + + * gst/interleave/deinterleave.c: + deinterleave: Reset caps accumulator to ANY when resyncing the adapter, not EMPTY + The accumulator is filled by intersecting with all the pad caps, as such + it must be initialized with ANY (like it is before the iteration is + started) and not to EMPTY. + Fixes the CAPS query always returning EMPTY caps when resyncing happened + during the query, e.g. because pads were added/removed. + +2016-11-14 12:13:14 +0100 Petr Kulhavy + + * gst/udp/gstudpsrc.c: + udpsrc: remove redundant saddr unref + The g_object_unref (saddr) before receiving message seems to be redundant as it + is done just before jumping to retry + Though not directly related, part of + https://bugzilla.gnome.org/show_bug.cgi?id=772841 + +2016-11-12 23:34:23 +0100 Petr Kulhavy + + * gst/udp/gstudpsrc.c: + udpsrc: receive control messages only in multicast + Control messages are used only in multicast mode - to detect if the destination + address is not ours and possibly drop the packet. However in non-multicast + modes the messages are still allocated and freed even if not used. Therefore + request control messages from g_socket_receive_message() only in multicast + mode. + https://bugzilla.gnome.org/show_bug.cgi?id=772841 + +2016-11-11 10:45:01 -0800 Scott D Phillips + + * gst/matroska/matroska-mux.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:44:18 -0800 Scott D Phillips + + * gst/multifile/gstsplitfilesrc.c: + splitfilesrc: update uri_get_type to match the prototype in GstURIHandlerInterface + https://bugzilla.gnome.org/show_bug.cgi?id=774293 + +2016-10-26 22:37:34 -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-10-21 15:49:36 +0100 Vincent Penquerc'h + + * gst/audioparsers/gstflacparse.c: + * gst/audioparsers/gstflacparse.h: + flacparse: fix header rewriting being ignored + https://bugzilla.gnome.org/show_bug.cgi?id=727802 + +2016-11-09 06:25:27 +0000 Sean DuBois + + * gst/flv/gstflvmux.c: + * gst/flv/gstflvmux.h: + flvmux: Add metadatacreator property + Allow users to set metadatacreator value in the meta packet + https://bugzilla.gnome.org/show_bug.cgi?id=774131 + +2016-11-01 19:56:36 +0200 Vivia Nikolaidou + + * gst/multifile/gstsplitmuxsink.c: + * gst/multifile/gstsplitmuxsink.h: + splitmuxsink: Use first buffer TS as mux start time + Do not use last buffer TS + buffer duration because buffer duration + might be inaccurate, especially for frame rates like 30fps where a + rounding error is observed. + https://bugzilla.gnome.org/show_bug.cgi?id=773785 + +2016-11-03 15:03:59 +0100 Havard Graff + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * tests/check/elements/rtpjitterbuffer.c: + rtpjitterbuffer: fix timer-reuse bug + When doing rtx, the jitterbuffer will always add an rtx-timer for the next + sequence number. + In the case of the packet corresponding to that sequence number arriving, + that same timer will be reused, and simply moved on to wait for the + following sequence number etc. + Once an rtx-timer expires (after all retries), it will be rescheduled as + a lost-timer instead for the same sequence number. + Now, if this particular sequence-number now arrives (after the timer has + become a lost-timer), the reuse mechanism *should* now set a new + rtx-timer for the next sequence number, but the bug is that it does + not change the timer-type, and hence schedules a lost-timer for that + following sequence number, with the result that you will have a very + early lost-event for a packet that might still arrive, and you will + never be able to send any rtx for this packet. + Found by Erlend Graff - erlend@pexip.com + https://bugzilla.gnome.org/show_bug.cgi?id=773891 + +2016-10-09 15:59:05 +0200 Havard Graff + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * gst/rtpmanager/rtpjitterbuffer.c: + * gst/rtpmanager/rtpjitterbuffer.h: + * tests/check/elements/rtpjitterbuffer.c: + rtpjitterbuffer: fix lost-event using dts instead of pts + The lost-event was using a different time-domain (dts) than the outgoing + buffers (pts). Given certain network-conditions these two would become + sufficiently different and the lost-event contained timestamp/duration + that was really wrong. As an example GstAudioDecoder could produce + a stream that jumps back and forth in time after receiving a lost-event. + The previous behavior calculated the pts (based on the rtptime) inside the + rtp_jitter_buffer_insert function, but now this functionality has been + refactored into a new function rtp_jitter_buffer_calculate_pts that is + called much earlier in the _chain function to make pts available to + various calculations that wrongly used dts previously + (like the lost-event). + There are however two calculations where using dts is the right thing to + do: calculating the receive-jitter and the rtx-round-trip-time, where the + arrival time of the buffer from the network is the right metric + (and is what dts in fact is today). + The patch also adds two tests regarding B-frames or the + “rtptime-going-backwards”-scenario, as there were some concerns that this + patch might break this behavior (which the tests shows it does not). + +2016-11-03 16:33:53 +0100 Havard Graff + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * tests/check/elements/rtpjitterbuffer.c: + rtpjitterbuffer: fix bug in reschedule_timer + The new timeout is always going to be (timeout + delay), however, the + old behavior compared the current timeout to just (timeout), basically + being (delay) off. + This would happen if rtx-delay == rtx-retry-timeout, with the result that + a second rtx attempt for any buffers would be scheduled immediately instead + of after rtx-delay ms. + Simply calculate (new_timeout = timeout + delay) and then use that instead. + https://bugzilla.gnome.org/show_bug.cgi?id=773905 + +2016-11-03 13:27:51 +0000 Tim-Philipp Müller + + * tests/check/elements/wavparse.c: + * tests/files/Makefile.am: + * tests/files/audiotestsrc.wav: + tests: wavparse: add test for processing an actual .wav file + https://bugzilla.gnome.org/show_bug.cgi?id=773861 + +2016-11-03 12:34:51 +0200 Sebastian Dröge + + * gst/wavparse/gstwavparse.c: + wavparse: Don't set caps to NULL after setting them on the srcpad + We would like to check later on EOS if we found a known stream type or + not, to possibly post an error message. + https://bugzilla.gnome.org/show_bug.cgi?id=773861 + +2016-11-02 14:33:28 +0200 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Don't deref NULL pads in debug output + That tends to crash. + +2016-11-02 11:46:07 +1100 Jan Schmidt + + * gst/isomp4/qtdemux.c: + isomp4: Don't use gst_video_colorimetry_to_string_full() + The API was reverted. Just use the plain + gst_video_colorimetry_to_string() function. + +2016-11-02 11:00:13 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: Fix GObject warnings on shutdown. + Commit 83e718 added a pad template to splitmux request + pads, which means that GstElement now releases the pads on + dispose, but after having removed all elements in the bin + and unlinked them. Make sure we can handle cleanup in that case + without throwing assertions. + https://bugzilla.gnome.org/show_bug.cgi?id=773784 + +2016-11-02 02:25:51 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxsrc.c: + * gst/multifile/gstsplitmuxsrc.h: + splitmuxsrc: Store seek seqnum and send it on EOS / segment events. + GES relies on the EOS event having the seqnum of the seek that + caused it. + +2016-11-02 02:25:00 +1100 Jan Schmidt + + * gst/multifile/gstsplitmuxsrc.c: + splitmuxsrc: Forward a not-linked error on the bus + Handle not-linked as for other fatal errors and post it + onto the bus so the app knows + +2016-11-01 21:00:15 +0200 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Fix compiler warning + qtdemux.c: In function ‘qtdemux_parse_tree’: + qtdemux.c:10139:16: error: ‘color_table_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + if (color_table_id != 0) { + ^ + qtdemux.c:10121:19: note: ‘color_table_id’ was declared here + guint16 color_table_id; + ^~~~~~~~~~~~~~ + +2016-10-20 17:40:59 +0300 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Use a default interleave of 250ms for all codecs + https://bugzilla.gnome.org/show_bug.cgi?id=773217 + +2016-10-19 14:33:33 +0300 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Use a default interleave when ProRes is used + The ProRes guidelines suggest an interleave of 0.5s is common, but + specifies that for ProRes at most 2MB (for SD) and 4MB (for HD) should + be used per chunk. + It might also make sense to use similar numbers in general. + https://bugzilla.gnome.org/show_bug.cgi?id=773217 + +2016-10-19 14:25:28 +0300 Sebastian Dröge + + * gst/isomp4/atoms.c: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/gstqtmux.h: + qtmux: Allow configuring the interleave size in bytes/time + Previously we were switching from one chunk to another on every single + buffer. This wastes some space in the headers and, depending on the + software, might depend in more reads (e.g. if the software is reading + multiple samples in one go if they're in the same chunk). + The ProRes guidelines suggest an interleave of 0.5s is common, but + specifies that for ProRes at most 2MB (for SD) and 4MB (for HD) should + be used per chunk. This will be handled in a follow-up commit. + https://bugzilla.gnome.org/show_bug.cgi?id=773217 + +2016-09-30 18:22:27 +0300 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Set compressor name, horizontal/vertical resolution and depth for ProRes + This is also required by some software to handle ProRes files. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-30 18:05:38 +0300 Sebastian Dröge + + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/qtdemux.c: + qt: Add support for ProRes 4444 XQ + And also 4444 in the muxer. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-30 17:58:37 +0300 Sebastian Dröge + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + * gst/isomp4/qtdemux_types.c: + qtmux: Write 'clap' atom for ProRes + It's required for ProRes to work with other software. + It is also in the MP4 standard, but inventing values here seems a bit + tricky for the general case and it does not really give any extra + information. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-30 09:55:58 +0300 Sebastian Dröge + + * gst/isomp4/qtdemux.c: + qtdemux: Read colorimetry information from colr atom if available + https://bugzilla.gnome.org/show_bug.cgi?id=772181 + +2016-09-29 21:56:18 +0300 Sebastian Dröge + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + qtmux: Always write colr atom with the colorimetry information + https://bugzilla.gnome.org/show_bug.cgi?id=772181 + +2016-09-29 18:16:18 +0300 Sebastian Dröge + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/gstqtmux.c: + qtmux: Fix writing of the 'fiel' extension atom + This was also wrong for JPEG2000. Also write it for all MOV files and + JPEG2000, not only for ProRes. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-29 17:40:23 +0300 Sebastian Dröge + + * gst/isomp4/atoms.c: + qtmux: Write 4 bytes of zeroes at the end of the sample description extensions + This is working around some broken software. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-09-28 20:55:24 +0300 Sebastian Dröge + + * gst/isomp4/atoms.c: + atoms: 'pasp' atom is also part of MP4, write it always + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2016-07-11 19:30:12 +0300 Vivia Nikolaidou + + * gst/isomp4/atoms.c: + * gst/isomp4/atoms.h: + * gst/isomp4/fourcc.h: + * gst/isomp4/gstqtmux.c: + qtmux: Write additional atoms for prores video + These required atoms are: colorimetry, field information, spatial/temporal + quality, and vendor. + https://bugzilla.gnome.org/show_bug.cgi?id=769048 + +2014-06-16 17:20:32 +0200 Stian Selnes + + * gst/rtp/gstrtph263depay.c: + rtph263depay: Don't drop mode b packets with picture start code + Some buggy payloaders, e.g. rtph263pay, may use mode B for packets + that starts with a picture (or GOB) start code although it's not + allowed. Let's be nice and not drop these packets/frames. + https://bugzilla.gnome.org/show_bug.cgi?id=773516 + +2016-06-22 13:59:35 +0200 Havard Graff + + * gst/rtp/gstrtph263ppay.c: + * tests/check/elements/rtph263.c: + rtph263ppay: Fix caps leak + Fix leaking caps when downstream has not-fixed caps. + https://bugzilla.gnome.org/show_bug.cgi?id=773515 + +2016-10-26 16:42:19 +0200 Stian Selnes + + * gst/rtp/gstrtph263pay.c: + rtph263pay: Fix indentation + https://bugzilla.gnome.org/show_bug.cgi?id=773514 + +2016-10-18 11:35:58 +0200 Stian Selnes + + * gst/rtp/gstrtph263pay.c: + rtph263pay: Use GST_TRACE_OBJECT for logging bitstream parsing + Bump the bitstream parsing to TRACE log level so it doesn't flood the + output when trying to read the more useful DEBUG and LOG messages. + Also use GST_DEBUG_OBJECT instead of GST_DEBUG in various places + https://bugzilla.gnome.org/show_bug.cgi?id=773514 + +2016-10-18 11:09:10 +0200 Stian Selnes + + * gst/rtp/gstrtph263pay.c: + rtph263pay: Fix leak for B-fragments + Altough commits 6a16be7, 64f9d08 and 0c7e3a8 fixed some issues they + introduced others. This patch fixes the leak of one macroblock for every + B fragment. + Macroblock structures must not be freed immediately after finding the + boundaries as they are stored and used later. However the inital dummy + structure (used for finding the first boundary) must be freed. + CID #1212156 + https://bugzilla.gnome.org/show_bug.cgi?id=773512 + +2016-10-20 13:14:13 +0200 Alejandro G. Castro + + * gst/rtpmanager/rtpsession.c: + rtpbin: avoid generating errors when rtcp messages are empty and check the queue is not empty + Add a check to verify all the output buffers were empty for the + session in a timout and log an error. + https://bugzilla.gnome.org/show_bug.cgi?id=773269 + +2016-10-26 13:21:29 +0200 Alejandro G. Castro + + * gst/rtpmanager/gstrtpsession.c: + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsession.h: + rtpbin: pipeline gets an EOS when any rtpsources byes + Instead of sending EOS when a source byes we have to wait for + all the sources to be gone, which means they already sent BYE and + were removed from the session. We now handle the EOS in the rtcp + loop checking the amount of sources in the session. + https://bugzilla.gnome.org/show_bug.cgi?id=773218 + +2016-10-21 17:31:00 +0000 Matt Staples + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Also handle redirect on PLAY + https://bugzilla.gnome.org/show_bug.cgi?id=772610 + +2016-08-30 10:24:43 +0200 Petr Kulhavy + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: allow missing control attribute in case of a single stream + Improve RFC2326 - chapter C.3 compatibility: + In case just a single stream is specified in SDP and the control attribute + is missing do not drop the stream but rather assume "a=control:*" + https://bugzilla.gnome.org/show_bug.cgi?id=770568 + +2016-10-08 18:11:17 +0200 William Manley + + * sys/v4l2/gstv4l2allocator.c: + v4l2: Warn, don't assert if v4l gives us a buffer with a too large size + I've seen problems where the `bytesused` field of `v4l2_buffer` would be + a silly number causing the later call to: + gst_memory_resize (group->mem[i], 0, group->planes[i].bytesused); + to result in this error to be printed: + (pulsevideo:11): GStreamer-CRITICAL **: gst_memory_resize: assertion 'size + mem->offset + offset <= mem->maxsize' failed + besides causing who-knows what other problems. + We make the assumption that this buffer has still been dequeued correctly + so just clamp to a valid size so downstream elements won't end up in + undefined behaviour. + The invalid `v4l2_buffer` I saw from my capture device was: + buffer = { + index = 0, + type = 1, + bytesused = 534748928, // <- Invalid + flags = 8260, // V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC | V4L2_BUF_FLAG_ERROR | V4L2_BUF_FLAG_DONE + field = 01330, // <- Invalid + timestamp = { + tv_sec = 0, + tv_usec = 0 + }, + timecode = { + type = 0, + flags = 0, + frames = 0 '\000', + seconds = 0 '\000', + minutes = 0 '\000', + hours = 0 '\000', + userbits = "\000\000\000" + }, + sequence = 0, + memory = 2, + m = { + offset = 3537219584, + userptr = 140706665836544, // Could be nonsense, not sure + planes = 0x7ff8d2d5b000, + fd = -757747712 + }, + length = 2764800, + reserved2 = 0, + reserved = 0 + } + This is from gdb with my own annotations added. + This was with gst-plugins-good 1.8.1, a Magewell XI100DUSB-HDMI video + capture device and kernel 3.13 using a dodgy HDMI cable which is great at + breaking HDMI capture devices. I'm using io-mode=userptr and have built + gst-plugins-good without libv4l. + https://bugzilla.gnome.org/show_bug.cgi?id=769765 + +2016-10-20 20:41:07 +0300 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Use a better default value for the movie header timescale + Take the maximum video timescale, or if no video track is present the + previous value of 1800. + https://bugzilla.gnome.org/show_bug.cgi?id=769041 + +2016-10-20 20:07:19 +0300 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Be more clever with the default video track timescale + Use the number of milliframes per second for integral and drop-frame + framerates, as suggested by the QT file format specification and other + places. We already did that for integral framerates before, but not for + drop-frame framerates. This now keeps precision better. + For all other framerates, check if it's close to a well-known framerate + and use that instead. + https://bugzilla.gnome.org/show_bug.cgi?id=769041 + +2016-10-10 13:00:01 +0100 Vincent Penquerc'h + + * gst/isomp4/qtdemux.c: + qtdemux: extract interlaced information from jpeg video + This information is hidden in a small chunk of data. + Format found at https://developer.apple.com/standards/qtff-2001.pdf, + page 92, "Video Sample Description", under table 3.1. + https://bugzilla.gnome.org/show_bug.cgi?id=767771 + +2016-10-26 12:46:28 +0530 Jagadish + + * ext/gdk_pixbuf/gstgdkpixbufoverlay.c: + gdkpixbufoverlay: Fixing x and y offset computation + While computing the x and y offsets, it's the video resolution and + resized overlay resolution to be used instead of actual overlay image + resoltuion. Due to this, the overlay image used to get wrongly overlayed + in undesired location + https://bugzilla.gnome.org/show_bug.cgi?id=757292 + +2016-11-01 18:09:00 +0000 Tim-Philipp Müller + + * meson.build: + meson: update version + +2016-10-24 16:56:31 +0000 Enrique Ocaña González + + * gst/isomp4/qtdemux.c: + qtdemux: Use the tfdt decode time on byte streams when it's significantly different than the time in the last sample + We consider there's a sifnificant difference when it's larger than on second + or than half the duration of the last processed fragment in case the latter is + larger. + https://bugzilla.gnome.org/show_bug.cgi?id=754230 + +=== 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 Sebastian Dröge +2016-11-01 17:57:44 +0200 Sebastian Dröge + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.10.0 + * docs/plugins/gst-plugins-good-plugins.args: + * docs/plugins/inspect/plugin-1394.xml: + * docs/plugins/inspect/plugin-aasink.xml: + * docs/plugins/inspect/plugin-alaw.xml: + * docs/plugins/inspect/plugin-alpha.xml: + * docs/plugins/inspect/plugin-alphacolor.xml: + * docs/plugins/inspect/plugin-apetag.xml: + * docs/plugins/inspect/plugin-audiofx.xml: + * docs/plugins/inspect/plugin-audioparsers.xml: + * docs/plugins/inspect/plugin-auparse.xml: + * docs/plugins/inspect/plugin-autodetect.xml: + * docs/plugins/inspect/plugin-avi.xml: + * docs/plugins/inspect/plugin-cacasink.xml: + * docs/plugins/inspect/plugin-cairo.xml: + * docs/plugins/inspect/plugin-cutter.xml: + * docs/plugins/inspect/plugin-debug.xml: + * docs/plugins/inspect/plugin-deinterlace.xml: + * docs/plugins/inspect/plugin-dtmf.xml: + * docs/plugins/inspect/plugin-dv.xml: + * docs/plugins/inspect/plugin-effectv.xml: + * docs/plugins/inspect/plugin-equalizer.xml: + * docs/plugins/inspect/plugin-flac.xml: + * docs/plugins/inspect/plugin-flv.xml: + * docs/plugins/inspect/plugin-flxdec.xml: + * docs/plugins/inspect/plugin-gdkpixbuf.xml: + * docs/plugins/inspect/plugin-goom.xml: + * docs/plugins/inspect/plugin-goom2k1.xml: + * docs/plugins/inspect/plugin-icydemux.xml: + * docs/plugins/inspect/plugin-id3demux.xml: + * docs/plugins/inspect/plugin-imagefreeze.xml: + * docs/plugins/inspect/plugin-interleave.xml: + * docs/plugins/inspect/plugin-isomp4.xml: + * docs/plugins/inspect/plugin-jack.xml: + * docs/plugins/inspect/plugin-jpeg.xml: + * docs/plugins/inspect/plugin-level.xml: + * docs/plugins/inspect/plugin-matroska.xml: + * docs/plugins/inspect/plugin-mulaw.xml: + * docs/plugins/inspect/plugin-multifile.xml: + * docs/plugins/inspect/plugin-multipart.xml: + * docs/plugins/inspect/plugin-navigationtest.xml: + * docs/plugins/inspect/plugin-oss4.xml: + * docs/plugins/inspect/plugin-ossaudio.xml: + * docs/plugins/inspect/plugin-png.xml: + * docs/plugins/inspect/plugin-pulseaudio.xml: + * docs/plugins/inspect/plugin-replaygain.xml: + * docs/plugins/inspect/plugin-rtp.xml: + * docs/plugins/inspect/plugin-rtpmanager.xml: + * docs/plugins/inspect/plugin-rtsp.xml: + * docs/plugins/inspect/plugin-shapewipe.xml: + * docs/plugins/inspect/plugin-shout2send.xml: + * docs/plugins/inspect/plugin-smpte.xml: + * docs/plugins/inspect/plugin-soup.xml: + * docs/plugins/inspect/plugin-spectrum.xml: + * docs/plugins/inspect/plugin-speex.xml: + * docs/plugins/inspect/plugin-taglib.xml: + * docs/plugins/inspect/plugin-udp.xml: + * docs/plugins/inspect/plugin-video4linux2.xml: + * docs/plugins/inspect/plugin-videobox.xml: + * docs/plugins/inspect/plugin-videocrop.xml: + * docs/plugins/inspect/plugin-videofilter.xml: + * docs/plugins/inspect/plugin-videomixer.xml: + * docs/plugins/inspect/plugin-vpx.xml: + * docs/plugins/inspect/plugin-wavenc.xml: + * docs/plugins/inspect/plugin-wavpack.xml: + * docs/plugins/inspect/plugin-wavparse.xml: + * docs/plugins/inspect/plugin-ximagesrc.xml: + * docs/plugins/inspect/plugin-y4menc.xml: + * gst-plugins-good.doap: + * win32/common/config.h: + Release 1.10.0 + +2016-11-01 17:47:31 +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/mt.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: + * po/zh_HK.po: + * po/zh_TW.po: + Update .po files 2016-11-01 17:41:51 +0200 Sebastian Dröge diff --git a/NEWS b/NEWS index 547de7f..a940f7b 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 e51488c..8417dcb 100644 --- a/RELEASE +++ b/RELEASE @@ -1,15 +1,20 @@ -Release notes for GStreamer Good Plugins 1.10.0 +Release notes for GStreamer Good 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. "Such ingratitude. After all the times I've saved your life." @@ -55,15 +60,43 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg) Bugs fixed in this release - * 762207 : flvmux: Ensure we fallback to DTS when clipping - * 772496 : tests: Fix memory leak by gst_caps_to_string() - * 772497 : waveform : Fix Memory leak by gst_caps_to_string - * 772644 : Fix level test in CK_FORK=no mode - * 772656 : Fix souphttpsrc tests without CK_FORK=no - * 773509 : souphttpsrc: connection loss / reconnect issues - * 773580 : v4l2object: fix extra-controls leak - * 773582 : matroskamux does not allow resolutions above 4096x4096 - * 773643 : wavparse: crashes on invalid wav file + * 708221 : mp4dashmux: add the tfdt atom to the moof + * 746574 : matroskamux: add G722 audio support + * 748360 : rtspsrc: teardown usually never happens + * 749098 : matroskamux: drop streamheader buffers only if they really are headers + * 754696 : matroskamux: audio-only streams have all buffers flagged as delta units, causing problems with tcpserversink/multifdsink + * 757631 : progressreport format=bytes will not send msg + * 766991 : multifilesink: leaks memory when max-files property == 0 + * 767771 : qtdemux/jpegdec: Interlaced content detected as progressive + * 768723 : rtprtx: test is sometimes failing + * 769041 : qtmux: Downscaling time value loses precision + * 769048 : qtmux: prores-related fixes + * 772181 : isomp4: Parse/store colorimetry, chroma-site and interlaced-mode/field-order + * 772740 : rtpbin: receiving RTP bundle support + * 773217 : qtmux: Allow configuring the maximum interleave size in bytes/time + * 773514 : rtph263pay: Use GST_TRACE for logging bitsream parsing + * 773712 : isomp4: Add support for FLAC + * 773785 : splitmuxsink: Use first buffer TS as mux start time + * 773828 : qtmux: Crash on EOS with GST_DEBUG enabled + * 774129 : 'gst_buffer_is_writable' assertion in aacparse + * 774131 : flvmux: Add metadatacreator property + * 774403 : qtmux: Always write edit lists for the tracks to give a more accurate duration + * 774409 : tests/jitterbuffer: Major refactoring and cleanups + * 774566 : matroskaparse: error out on last buffer + * 774674 : qtdemux: Remove useless return variable + * 774747 : qtdemux: compiler warning with gcc 6.2 + * 774789 : qtmux: Enable up to 16 unpositioned raw audio channels + * 774840 : qtmux: Fix various timestamp and duration related issues + * 774876 : meson: add libm to has_function checks + * 775287 : qtdemux: change off_t type to gint + * 775414 : qtdemux: Correctly read interlacing information + * 775702 : v4l2object: Don't set empty interlace-mode list + * 775752 : monoscope: Leaks allocation query + * 776030 : udpsrc: Add to join multiple multicast interfaces + * 776106 : v4l2object: Don't check size in a non-list value + * 776789 : avidemux: fix memory leak in usage of gst_pad_template_new() API + * 777095 : isomp4: Don't spam debug log with knonw/padding atoms + * 777157 : qtdemux: seqh buffer not freed after calling qtdemux_parse_svq3_stsd_data() ==== Download ==== @@ -100,17 +133,40 @@ subscribe to the gstreamer-devel list. Contributors to this release - * Branko Subasic - * Gaurav Gupta - * Jan Alexander Steffens (heftig) + * Aleix Conchillo Flaque + * Alejandro G. Castro + * Andre McCurdy + * Arun Raghavan + * David Evans + * Edward Hervey + * Enrique Ocaña González + * Garima Gaur + * Havard Graff + * Heekyoung Seo + * Jagadish * Jan Schmidt * Mark Nauwelaerts - * Michael Olbrich - * Nicolas Dufresne + * Matt Staples + * Matthew Waters + * Nicola Murino * Nirbheek Chauhan + * Petr Kulhavy + * Philipp Zabel + * Philippe Normand + * Reynaldo H. Verdejo Pinochet * Scott D Phillips + * Sean DuBois * Sebastian Dröge + * Seungha Yang + * Stian Selnes * Thibault Saunier * Tim-Philipp Müller - * Tobias Schneider + * Ursula Maplehurst + * Vincent Penquerc'h + * Vinod Kesti + * Vivia Nikolaidou + * Víctor Manuel Jáquez Leal + * William Manley + * Wonchul Lee + * christophecvr   \ No newline at end of file diff --git a/configure.ac b/configure.ac index 027490b..0c00807 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/pre -AC_INIT([GStreamer Good Plug-ins],[1.11.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) +AC_INIT([GStreamer Good Plug-ins],[1.11.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) AG_GST_INIT @@ -43,11 +43,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION", [GStreamer API Version]) AG_GST_LIBTOOL_PREPARE -AS_LIBTOOL(GST, 1100, 0, 1100) +AS_LIBTOOL(GST, 1101, 0, 1101) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.11.0.1 -GSTPB_REQ=1.11.0.1 +GST_REQ=1.11.1 +GSTPB_REQ=1.11.1 dnl *** autotools stuff **** diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args index 766e7ad..4db90eb 100644 --- a/docs/plugins/gst-plugins-good-plugins.args +++ b/docs/plugins/gst-plugins-good-plugins.args @@ -554,7 +554,7 @@ rw Multicast Interface -The network interface on which to join the multicast group. +The network interface on which to join the multicast group.This allows multiple interfaces seperated by comma. ("eth0,eth1"). NULL @@ -1015,7 +1015,7 @@ rw User Agent The User-Agent string to send to the server. -"GStreamer/1.10.0" +"GStreamer/1.11.1" @@ -19705,7 +19705,7 @@ rw Client Name The PulseAudio client name to use. -"lt-gst-plugins-good-plugins-scan" +"gst-plugins-good-plugins-scan" @@ -19795,7 +19795,7 @@ rw Client Name The PulseAudio client_name_to_use. -"lt-gst-plugins-good-plugins-scan" +"gst-plugins-good-plugins-scan" @@ -21299,6 +21299,16 @@ +GstFlvMux::metadatacreator +gchar* + +rw +metadatacreator +The value of metadatacreator in the meta packet. +NULL + + + GstCapsSetter::caps GstCaps* @@ -21611,11 +21621,11 @@ GstQTMux::movie-timescale guint ->= 1 + rwx Movie timescale -Timescale to use in the movie (units per second). -1800 +Timescale to use in the movie (units per second, 0 == default). +0 @@ -21689,6 +21699,26 @@ +GstQTMux::interleave-bytes +guint64 + +rw +Interleave (bytes) +Interleave between streams in bytes. +0 + + + +GstQTMux::interleave-time +guint64 + +rw +Interleave (time) +Interleave between streams in nanoseconds. +250000000 + + + GstQTMoovRecover::broken-input gchar* @@ -21781,11 +21811,11 @@ GstMP4Mux::movie-timescale guint ->= 1 + rwx Movie timescale -Timescale to use in the movie (units per second). -1800 +Timescale to use in the movie (units per second, 0 == default). +0 @@ -21859,6 +21889,26 @@ +GstMP4Mux::interleave-bytes +guint64 + +rw +Interleave (bytes) +Interleave between streams in bytes. +0 + + + +GstMP4Mux::interleave-time +guint64 + +rw +Interleave (time) +Interleave between streams in nanoseconds. +250000000 + + + GstMJ2Mux::dts-method GstQTMuxDtsMethods @@ -21911,11 +21961,11 @@ GstMJ2Mux::movie-timescale guint ->= 1 + rwx Movie timescale -Timescale to use in the movie (units per second). -1800 +Timescale to use in the movie (units per second, 0 == default). +0 @@ -21989,6 +22039,26 @@ +GstMJ2Mux::interleave-bytes +guint64 + +rw +Interleave (bytes) +Interleave between streams in bytes. +0 + + + +GstMJ2Mux::interleave-time +guint64 + +rw +Interleave (time) +Interleave between streams in nanoseconds. +250000000 + + + GstISMLMux::dts-method GstQTMuxDtsMethods @@ -22041,11 +22111,11 @@ GstISMLMux::movie-timescale guint ->= 1 + rwx Movie timescale -Timescale to use in the movie (units per second). -1800 +Timescale to use in the movie (units per second, 0 == default). +0 @@ -22119,6 +22189,26 @@ +GstISMLMux::interleave-bytes +guint64 + +rw +Interleave (bytes) +Interleave between streams in bytes. +0 + + + +GstISMLMux::interleave-time +guint64 + +rw +Interleave (time) +Interleave between streams in nanoseconds. +250000000 + + + Gst3GPPMux::dts-method GstQTMuxDtsMethods @@ -22171,11 +22261,11 @@ Gst3GPPMux::movie-timescale guint ->= 1 + rwx Movie timescale -Timescale to use in the movie (units per second). -1800 +Timescale to use in the movie (units per second, 0 == default). +0 @@ -22249,6 +22339,26 @@ +Gst3GPPMux::interleave-bytes +guint64 + +rw +Interleave (bytes) +Interleave between streams in bytes. +0 + + + +Gst3GPPMux::interleave-time +guint64 + +rw +Interleave (time) +Interleave between streams in nanoseconds. +250000000 + + + GstSplitFileSrc::location gchar* diff --git a/docs/plugins/gst-plugins-good-plugins.hierarchy b/docs/plugins/gst-plugins-good-plugins.hierarchy index 327d11d..22c8f82 100644 --- a/docs/plugins/gst-plugins-good-plugins.hierarchy +++ b/docs/plugins/gst-plugins-good-plugins.hierarchy @@ -315,6 +315,7 @@ GObject GstPlugin GstPluginFeature GstDeviceProviderFactory + GstDynamicTypeFactory GstElementFactory GstTracerFactory GstTypeFindFactory diff --git a/docs/plugins/gst-plugins-good-plugins.signals b/docs/plugins/gst-plugins-good-plugins.signals index 44bbdda..e36a114 100644 --- a/docs/plugins/gst-plugins-good-plugins.signals +++ b/docs/plugins/gst-plugins-good-plugins.signals @@ -660,6 +660,15 @@ guint arg1 +GstSplitMuxSink::format-location-full +gchar* +l +GstSplitMuxSink *gstsplitmuxsink +guint arg1 +GstSample *arg2 + + + GstSplitMuxSrc::format-location GStrv l diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml index 80efe03..c96b5c0 100644 --- a/docs/plugins/inspect/plugin-1394.xml +++ b/docs/plugins/inspect/plugin-1394.xml @@ -3,7 +3,7 @@ Source for video data via IEEE1394 interface ../../ext/raw1394/.libs/libgst1394.so libgst1394.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml index 19a9d5b..0001750 100644 --- a/docs/plugins/inspect/plugin-aasink.xml +++ b/docs/plugins/inspect/plugin-aasink.xml @@ -3,7 +3,7 @@ ASCII Art video sink ../../ext/aalib/.libs/libgstaasink.so libgstaasink.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml index 027d630..9ab871c 100644 --- a/docs/plugins/inspect/plugin-alaw.xml +++ b/docs/plugins/inspect/plugin-alaw.xml @@ -3,7 +3,7 @@ ALaw audio conversion routines ../../gst/law/.libs/libgstalaw.so libgstalaw.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml index 0371709..d69da54 100644 --- a/docs/plugins/inspect/plugin-alpha.xml +++ b/docs/plugins/inspect/plugin-alpha.xml @@ -3,7 +3,7 @@ adds an alpha channel to video - constant or via chroma-keying ../../gst/alpha/.libs/libgstalpha.so libgstalpha.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml index c4fa4bb..8f3738a 100644 --- a/docs/plugins/inspect/plugin-alphacolor.xml +++ b/docs/plugins/inspect/plugin-alphacolor.xml @@ -3,7 +3,7 @@ RGBA from/to AYUV colorspace conversion preserving the alpha channel ../../gst/alpha/.libs/libgstalphacolor.so libgstalphacolor.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml index 9f1e597..148ec52 100644 --- a/docs/plugins/inspect/plugin-apetag.xml +++ b/docs/plugins/inspect/plugin-apetag.xml @@ -3,7 +3,7 @@ APEv1/2 tag reader ../../gst/apetag/.libs/libgstapetag.so libgstapetag.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml index 7d229d0..6d8b761 100644 --- a/docs/plugins/inspect/plugin-audiofx.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -3,7 +3,7 @@ Audio effects plugin ../../gst/audiofx/.libs/libgstaudiofx.so libgstaudiofx.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml index f187977..2765a5a 100644 --- a/docs/plugins/inspect/plugin-audioparsers.xml +++ b/docs/plugins/inspect/plugin-audioparsers.xml @@ -3,7 +3,7 @@ Parsers for various audio formats ../../gst/audioparsers/.libs/libgstaudioparsers.so libgstaudioparsers.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml index aaa3f20..2c65e26 100644 --- a/docs/plugins/inspect/plugin-auparse.xml +++ b/docs/plugins/inspect/plugin-auparse.xml @@ -3,7 +3,7 @@ parses au streams ../../gst/auparse/.libs/libgstauparse.so libgstauparse.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml index 7ca31f9..36a6886 100644 --- a/docs/plugins/inspect/plugin-autodetect.xml +++ b/docs/plugins/inspect/plugin-autodetect.xml @@ -3,7 +3,7 @@ Plugin contains auto-detection plugins for video/audio in- and outputs ../../gst/autodetect/.libs/libgstautodetect.so libgstautodetect.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml index 2c3f917..49c5ed7 100644 --- a/docs/plugins/inspect/plugin-avi.xml +++ b/docs/plugins/inspect/plugin-avi.xml @@ -3,7 +3,7 @@ AVI stream handling ../../gst/avi/.libs/libgstavi.so libgstavi.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml index 7d32d0f..6c29434 100644 --- a/docs/plugins/inspect/plugin-cacasink.xml +++ b/docs/plugins/inspect/plugin-cacasink.xml @@ -3,7 +3,7 @@ Colored ASCII Art video sink ../../ext/libcaca/.libs/libgstcacasink.so libgstcacasink.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml index bfb736f..58eaa89 100644 --- a/docs/plugins/inspect/plugin-cairo.xml +++ b/docs/plugins/inspect/plugin-cairo.xml @@ -3,7 +3,7 @@ Cairo-based elements ../../ext/cairo/.libs/libgstcairo.so libgstcairo.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml index 668b19f..338878a 100644 --- a/docs/plugins/inspect/plugin-cutter.xml +++ b/docs/plugins/inspect/plugin-cutter.xml @@ -3,7 +3,7 @@ Audio Cutter to split audio into non-silent bits ../../gst/cutter/.libs/libgstcutter.so libgstcutter.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml index 9277425..12895b5 100644 --- a/docs/plugins/inspect/plugin-debug.xml +++ b/docs/plugins/inspect/plugin-debug.xml @@ -3,7 +3,7 @@ elements for testing and debugging ../../gst/debugutils/.libs/libgstdebug.so libgstdebug.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml index cc60d8d..9ba6a8e 100644 --- a/docs/plugins/inspect/plugin-deinterlace.xml +++ b/docs/plugins/inspect/plugin-deinterlace.xml @@ -3,7 +3,7 @@ Deinterlacer ../../gst/deinterlace/.libs/libgstdeinterlace.so libgstdeinterlace.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release @@ -20,13 +20,13 @@ sink sink always -
video/x-raw, format=(string){ AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }, 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){ AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }, 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){ AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }, 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){ AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }, 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-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml index 452e6f2..28736c0 100644 --- a/docs/plugins/inspect/plugin-dtmf.xml +++ b/docs/plugins/inspect/plugin-dtmf.xml @@ -3,7 +3,7 @@ DTMF plugins ../../gst/dtmf/.libs/libgstdtmf.so libgstdtmf.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml index 8efd949..299a1a5 100644 --- a/docs/plugins/inspect/plugin-dv.xml +++ b/docs/plugins/inspect/plugin-dv.xml @@ -3,7 +3,7 @@ DV demuxer and decoder based on libdv (libdv.sf.net) ../../ext/dv/.libs/libgstdv.so libgstdv.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml index 696b70f..b39bb5b 100644 --- a/docs/plugins/inspect/plugin-effectv.xml +++ b/docs/plugins/inspect/plugin-effectv.xml @@ -3,7 +3,7 @@ effect plugins from the effectv project ../../gst/effectv/.libs/libgsteffectv.so libgsteffectv.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml index d0c98cf..5c3d15a 100644 --- a/docs/plugins/inspect/plugin-equalizer.xml +++ b/docs/plugins/inspect/plugin-equalizer.xml @@ -3,7 +3,7 @@ GStreamer audio equalizers ../../gst/equalizer/.libs/libgstequalizer.so libgstequalizer.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml index 96b563f..b557fc8 100644 --- a/docs/plugins/inspect/plugin-flac.xml +++ b/docs/plugins/inspect/plugin-flac.xml @@ -3,7 +3,7 @@ The FLAC Lossless compressor Codec ../../ext/flac/.libs/libgstflac.so libgstflac.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml index bfa65b4..2d24e34 100644 --- a/docs/plugins/inspect/plugin-flv.xml +++ b/docs/plugins/inspect/plugin-flv.xml @@ -3,7 +3,7 @@ FLV muxing and demuxing plugin ../../gst/flv/.libs/libgstflv.so libgstflv.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml index 9b766c6..a60eb1b 100644 --- a/docs/plugins/inspect/plugin-flxdec.xml +++ b/docs/plugins/inspect/plugin-flxdec.xml @@ -3,7 +3,7 @@ FLC/FLI/FLX video decoder ../../gst/flx/.libs/libgstflxdec.so libgstflxdec.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml index 4d61dec..e656cf7 100644 --- a/docs/plugins/inspect/plugin-gdkpixbuf.xml +++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml @@ -3,7 +3,7 @@ GdkPixbuf-based image decoder, overlay and sink ../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so libgstgdkpixbuf.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml index 58db8d4..71e34d7 100644 --- a/docs/plugins/inspect/plugin-goom.xml +++ b/docs/plugins/inspect/plugin-goom.xml @@ -3,7 +3,7 @@ GOOM visualization filter ../../gst/goom/.libs/libgstgoom.so libgstgoom.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml index 71556cd..d6f6e0e 100644 --- a/docs/plugins/inspect/plugin-goom2k1.xml +++ b/docs/plugins/inspect/plugin-goom2k1.xml @@ -3,7 +3,7 @@ GOOM 2k1 visualization filter ../../gst/goom2k1/.libs/libgstgoom2k1.so libgstgoom2k1.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml index 2d5136f..f00afd2 100644 --- a/docs/plugins/inspect/plugin-icydemux.xml +++ b/docs/plugins/inspect/plugin-icydemux.xml @@ -3,7 +3,7 @@ Demux ICY tags from a stream ../../gst/icydemux/.libs/libgsticydemux.so libgsticydemux.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml index ee46bba..22f8933 100644 --- a/docs/plugins/inspect/plugin-id3demux.xml +++ b/docs/plugins/inspect/plugin-id3demux.xml @@ -3,7 +3,7 @@ Demux ID3v1 and ID3v2 tags from a file ../../gst/id3demux/.libs/libgstid3demux.so libgstid3demux.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml index ae84b50..8f5a89c 100644 --- a/docs/plugins/inspect/plugin-imagefreeze.xml +++ b/docs/plugins/inspect/plugin-imagefreeze.xml @@ -3,7 +3,7 @@ Still frame stream generator ../../gst/imagefreeze/.libs/libgstimagefreeze.so libgstimagefreeze.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml index b577138..bbe5671 100644 --- a/docs/plugins/inspect/plugin-interleave.xml +++ b/docs/plugins/inspect/plugin-interleave.xml @@ -3,7 +3,7 @@ Audio interleaver/deinterleaver ../../gst/interleave/.libs/libgstinterleave.so libgstinterleave.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml index a8d3544..2f963aa 100644 --- a/docs/plugins/inspect/plugin-isomp4.xml +++ b/docs/plugins/inspect/plugin-isomp4.xml @@ -3,7 +3,7 @@ ISO base media file format support (mp4, 3gpp, qt, mj2) ../../gst/isomp4/.libs/libgstisomp4.so libgstisomp4.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release @@ -182,7 +182,7 @@ audio_%u sink request -
audio/x-raw, format=(string){ S32LE, S32BE, S24LE, S24BE, S16LE, S16BE, S8, U8 }, layout=(string)interleaved, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int)1, layer=(int)3, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int)4, stream-format=(string)raw, channels=(int)[ 1, 8 ], rate=(int)[ 1, 2147483647 ]; audio/x-adpcm, layout=(string)dvi, block_align=(int)[ 64, 8096 ], channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/x-alaw, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/x-mulaw, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/AMR, rate=(int)8000, channels=(int)[ 1, 2 ]; audio/AMR-WB, rate=(int)16000, channels=(int)[ 1, 2 ]; audio/x-alac, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]
+
audio/x-raw, format=(string){ S32LE, S32BE, S24LE, S24BE, S16LE, S16BE, S8, U8 }, layout=(string)interleaved, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/x-raw, format=(string){ S32LE, S32BE, S24LE, S24BE, S16LE, S16BE, S8, U8 }, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000000, channels=(int)[ 1, 16 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int)1, layer=(int)3, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int)4, stream-format=(string)raw, channels=(int)[ 1, 8 ], rate=(int)[ 1, 2147483647 ]; audio/x-adpcm, layout=(string)dvi, block_align=(int)[ 64, 8096 ], channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/x-alaw, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/x-mulaw, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]; audio/AMR, rate=(int)8000, channels=(int)[ 1, 2 ]; audio/AMR-WB, rate=(int)16000, channels=(int)[ 1, 2 ]; audio/x-alac, channels=(int)[ 1, 2 ], rate=(int)[ 1, 2147483647 ]
subtitle_%u diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml index ae563e6..fc5d398 100644 --- a/docs/plugins/inspect/plugin-jack.xml +++ b/docs/plugins/inspect/plugin-jack.xml @@ -3,7 +3,7 @@ JACK audio elements ../../ext/jack/.libs/libgstjack.so libgstjack.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml index 3c0322e..d484713 100644 --- a/docs/plugins/inspect/plugin-jpeg.xml +++ b/docs/plugins/inspect/plugin-jpeg.xml @@ -3,7 +3,7 @@ JPeg plugin library ../../ext/jpeg/.libs/libgstjpeg.so libgstjpeg.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml index cb4b72b..bd7740e 100644 --- a/docs/plugins/inspect/plugin-level.xml +++ b/docs/plugins/inspect/plugin-level.xml @@ -3,7 +3,7 @@ Audio level plugin ../../gst/level/.libs/libgstlevel.so libgstlevel.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml index c62bc42..62185ed 100644 --- a/docs/plugins/inspect/plugin-matroska.xml +++ b/docs/plugins/inspect/plugin-matroska.xml @@ -3,7 +3,7 @@ Matroska and WebM stream handling ../../gst/matroska/.libs/libgstmatroska.so libgstmatroska.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release @@ -53,7 +53,7 @@ audio_%u sink request -
audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int){ 2, 4 }, stream-format=(string)raw, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-ac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-eac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-dts, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-vorbis, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-flac, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-opus; audio/x-speex, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-raw, format=(string){ U8, S16BE, S16LE, S24BE, S24LE, S32BE, S32LE, F32LE, F64LE }, layout=(string)interleaved, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-tta, width=(int){ 8, 16, 24 }, channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]; audio/x-pn-realaudio, raversion=(int){ 1, 2, 8 }, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-wma, wmaversion=(int)[ 1, 3 ], block_align=(int)[ 0, 65535 ], bitrate=(int)[ 0, 524288 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-alaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]; audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]; audio/x-adpcm, layout=(string)dvi, block_align=(int)[ 64, 8192 ], channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]; audio/x-adpcm, layout=(string)g726, channels=(int)1, rate=(int)8000
+
audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int){ 2, 4 }, stream-format=(string)raw, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-ac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-eac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-dts, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-vorbis, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-flac, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-opus; audio/x-speex, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-raw, format=(string){ U8, S16BE, S16LE, S24BE, S24LE, S32BE, S32LE, F32LE, F64LE }, layout=(string)interleaved, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-tta, width=(int){ 8, 16, 24 }, channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]; audio/x-pn-realaudio, raversion=(int){ 1, 2, 8 }, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-wma, wmaversion=(int)[ 1, 3 ], block_align=(int)[ 0, 65535 ], bitrate=(int)[ 0, 524288 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-alaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]; audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]; audio/x-adpcm, layout=(string)dvi, block_align=(int)[ 64, 8192 ], channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]; audio/G722, channels=(int)1, rate=(int)16000; audio/x-adpcm, layout=(string)g726, channels=(int)1, rate=(int)8000
subtitle_%u diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml index 5812f6a..212a104 100644 --- a/docs/plugins/inspect/plugin-mulaw.xml +++ b/docs/plugins/inspect/plugin-mulaw.xml @@ -3,7 +3,7 @@ MuLaw audio conversion routines ../../gst/law/.libs/libgstmulaw.so libgstmulaw.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml index 69dc6a1..7d1e43e 100644 --- a/docs/plugins/inspect/plugin-multifile.xml +++ b/docs/plugins/inspect/plugin-multifile.xml @@ -3,7 +3,7 @@ Reads/Writes buffers from/to sequentially named files ../../gst/multifile/.libs/libgstmultifile.so libgstmultifile.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml index 579cdac..ea4272d 100644 --- a/docs/plugins/inspect/plugin-multipart.xml +++ b/docs/plugins/inspect/plugin-multipart.xml @@ -3,7 +3,7 @@ multipart stream manipulation ../../gst/multipart/.libs/libgstmultipart.so libgstmultipart.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml index 2da433e..d93393e 100644 --- a/docs/plugins/inspect/plugin-navigationtest.xml +++ b/docs/plugins/inspect/plugin-navigationtest.xml @@ -3,7 +3,7 @@ Template for a video filter ../../gst/debugutils/.libs/libgstnavigationtest.so libgstnavigationtest.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml index 5867f69..1fc6f86 100644 --- a/docs/plugins/inspect/plugin-oss4.xml +++ b/docs/plugins/inspect/plugin-oss4.xml @@ -3,7 +3,7 @@ Open Sound System (OSS) version 4 support for GStreamer ../../sys/oss4/.libs/libgstoss4audio.so libgstoss4audio.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml index 09303d7..6103b5a 100644 --- a/docs/plugins/inspect/plugin-ossaudio.xml +++ b/docs/plugins/inspect/plugin-ossaudio.xml @@ -3,7 +3,7 @@ OSS (Open Sound System) support for GStreamer ../../sys/oss/.libs/libgstossaudio.so libgstossaudio.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml index d5c1152..3dc41b5 100644 --- a/docs/plugins/inspect/plugin-png.xml +++ b/docs/plugins/inspect/plugin-png.xml @@ -3,7 +3,7 @@ PNG plugin library ../../ext/libpng/.libs/libgstpng.so libgstpng.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml index 28f9ec3..e9ceb28 100644 --- a/docs/plugins/inspect/plugin-pulseaudio.xml +++ b/docs/plugins/inspect/plugin-pulseaudio.xml @@ -3,7 +3,7 @@ PulseAudio plugin library ../../ext/pulse/.libs/libgstpulse.so libgstpulse.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml index 4e2fa91..5cb96eb 100644 --- a/docs/plugins/inspect/plugin-replaygain.xml +++ b/docs/plugins/inspect/plugin-replaygain.xml @@ -3,7 +3,7 @@ ReplayGain volume normalization ../../gst/replaygain/.libs/libgstreplaygain.so libgstreplaygain.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml index f9a892c..b7862ea 100644 --- a/docs/plugins/inspect/plugin-rtp.xml +++ b/docs/plugins/inspect/plugin-rtp.xml @@ -3,7 +3,7 @@ Real-time protocol plugins ../../gst/rtp/.libs/libgstrtp.so libgstrtp.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml index 47346ee..cf88a77 100644 --- a/docs/plugins/inspect/plugin-rtpmanager.xml +++ b/docs/plugins/inspect/plugin-rtpmanager.xml @@ -3,7 +3,7 @@ RTP session management plugin library ../../gst/rtpmanager/.libs/libgstrtpmanager.so libgstrtpmanager.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml index 70c0787..dea5b71 100644 --- a/docs/plugins/inspect/plugin-rtsp.xml +++ b/docs/plugins/inspect/plugin-rtsp.xml @@ -3,7 +3,7 @@ transfer data via RTSP ../../gst/rtsp/.libs/libgstrtsp.so libgstrtsp.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml index 721d489..b0638f6 100644 --- a/docs/plugins/inspect/plugin-shapewipe.xml +++ b/docs/plugins/inspect/plugin-shapewipe.xml @@ -3,7 +3,7 @@ Shape Wipe transition filter ../../gst/shapewipe/.libs/libgstshapewipe.so libgstshapewipe.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-shout2send.xml b/docs/plugins/inspect/plugin-shout2send.xml index 1693371..9cb56b5 100644 --- a/docs/plugins/inspect/plugin-shout2send.xml +++ b/docs/plugins/inspect/plugin-shout2send.xml @@ -3,11 +3,11 @@ Sends data to an icecast server using libshout2 ../../ext/shout2/.libs/libgstshout2.so libgstshout2.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good libshout2 - http://www.icecast.org/download.html + http://www.icecast.org/download/ shout2send diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml index 0b9e3ba..7877f97 100644 --- a/docs/plugins/inspect/plugin-smpte.xml +++ b/docs/plugins/inspect/plugin-smpte.xml @@ -3,7 +3,7 @@ Apply the standard SMPTE transitions on video images ../../gst/smpte/.libs/libgstsmpte.so libgstsmpte.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml index 2c9916b..b4cf222 100644 --- a/docs/plugins/inspect/plugin-soup.xml +++ b/docs/plugins/inspect/plugin-soup.xml @@ -3,7 +3,7 @@ libsoup HTTP client src/sink ../../ext/soup/.libs/libgstsouphttpsrc.so libgstsouphttpsrc.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml index e69d83e..8460d98 100644 --- a/docs/plugins/inspect/plugin-spectrum.xml +++ b/docs/plugins/inspect/plugin-spectrum.xml @@ -3,7 +3,7 @@ Run an FFT on the audio signal, output spectrum data ../../gst/spectrum/.libs/libgstspectrum.so libgstspectrum.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml index c60b331..a25eea6 100644 --- a/docs/plugins/inspect/plugin-speex.xml +++ b/docs/plugins/inspect/plugin-speex.xml @@ -3,7 +3,7 @@ Speex plugin library ../../ext/speex/.libs/libgstspeex.so libgstspeex.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml index f5512ae..71c3e03 100644 --- a/docs/plugins/inspect/plugin-taglib.xml +++ b/docs/plugins/inspect/plugin-taglib.xml @@ -3,7 +3,7 @@ Tag writing plug-in based on taglib ../../ext/taglib/.libs/libgsttaglib.so libgsttaglib.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml index abb6fb0..48b4d14 100644 --- a/docs/plugins/inspect/plugin-udp.xml +++ b/docs/plugins/inspect/plugin-udp.xml @@ -3,7 +3,7 @@ transfer data via UDP ../../gst/udp/.libs/libgstudp.so libgstudp.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml index dcbb89d..423f580 100644 --- a/docs/plugins/inspect/plugin-video4linux2.xml +++ b/docs/plugins/inspect/plugin-video4linux2.xml @@ -3,7 +3,7 @@ elements for Video 4 Linux ../../sys/v4l2/.libs/libgstvideo4linux2.so libgstvideo4linux2.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml index 00a83eb..78635be 100644 --- a/docs/plugins/inspect/plugin-videobox.xml +++ b/docs/plugins/inspect/plugin-videobox.xml @@ -3,7 +3,7 @@ resizes a video by adding borders or cropping ../../gst/videobox/.libs/libgstvideobox.so libgstvideobox.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml index d3c9e2e..98b9ad7 100644 --- a/docs/plugins/inspect/plugin-videocrop.xml +++ b/docs/plugins/inspect/plugin-videocrop.xml @@ -3,7 +3,7 @@ Crops video into a user-defined region ../../gst/videocrop/.libs/libgstvideocrop.so libgstvideocrop.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml index 65a051e..6f2e91b 100644 --- a/docs/plugins/inspect/plugin-videofilter.xml +++ b/docs/plugins/inspect/plugin-videofilter.xml @@ -3,7 +3,7 @@ Video filters plugin ../../gst/videofilter/.libs/libgstvideofilter.so libgstvideofilter.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml index a008a85..3158001 100644 --- a/docs/plugins/inspect/plugin-videomixer.xml +++ b/docs/plugins/inspect/plugin-videomixer.xml @@ -3,7 +3,7 @@ Video mixer ../../gst/videomixer/.libs/libgstvideomixer.so libgstvideomixer.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml index affec4f..355502e 100644 --- a/docs/plugins/inspect/plugin-vpx.xml +++ b/docs/plugins/inspect/plugin-vpx.xml @@ -3,7 +3,7 @@ VP8 plugin ../../ext/vpx/.libs/libgstvpx.so libgstvpx.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml index a4b5095..b7b9f1f 100644 --- a/docs/plugins/inspect/plugin-wavenc.xml +++ b/docs/plugins/inspect/plugin-wavenc.xml @@ -3,7 +3,7 @@ Encode raw audio into WAV ../../gst/wavenc/.libs/libgstwavenc.so libgstwavenc.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml index 04f39ca..cd8d9be 100644 --- a/docs/plugins/inspect/plugin-wavpack.xml +++ b/docs/plugins/inspect/plugin-wavpack.xml @@ -3,7 +3,7 @@ Wavpack lossless/lossy audio format handling ../../ext/wavpack/.libs/libgstwavpack.so libgstwavpack.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml index 9eb5331..59e28c4 100644 --- a/docs/plugins/inspect/plugin-wavparse.xml +++ b/docs/plugins/inspect/plugin-wavparse.xml @@ -3,7 +3,7 @@ Parse a .wav file into raw audio ../../gst/wavparse/.libs/libgstwavparse.so libgstwavparse.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml index 223679e..36d3243 100644 --- a/docs/plugins/inspect/plugin-ximagesrc.xml +++ b/docs/plugins/inspect/plugin-ximagesrc.xml @@ -3,7 +3,7 @@ X11 video input plugin using standard Xlib calls ../../sys/ximage/.libs/libgstximagesrc.so libgstximagesrc.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml index 6ef9724..5dc6c4a 100644 --- a/docs/plugins/inspect/plugin-y4menc.xml +++ b/docs/plugins/inspect/plugin-y4menc.xml @@ -3,7 +3,7 @@ Encodes a YUV frame into the yuv4mpeg format (mjpegtools) ../../gst/y4m/.libs/libgsty4menc.so libgsty4menc.so - 1.10.0 + 1.11.1 LGPL gst-plugins-good GStreamer Good Plug-ins source release diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap index c4d5b57..2831ea4 100644 --- a/gst-plugins-good.doap +++ b/gst-plugins-good.doap @@ -34,6 +34,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library). + 1.11.1 + master + + 2017-01-12 + + + + + + 1.10.0 master -- 2.7.4