=== release 1.16.1 === 2019-09-23 11:09:38 +0100 Tim-Philipp Müller * ChangeLog: * NEWS: * RELEASE: * configure.ac: * gst-plugins-good.doap: * meson.build: Release 1.16.1 2019-09-23 11:09:38 +0100 Tim-Philipp Müller * 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-gtk.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-lame.xml: * docs/plugins/inspect/plugin-level.xml: * docs/plugins/inspect/plugin-matroska.xml: * docs/plugins/inspect/plugin-mpg123.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-qmlgl.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-shout2.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-twolame.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: Update docs 2019-09-23 11:09:37 +0100 Tim-Philipp Müller * po/fr.po: * po/nb.po: Update translations 2019-09-08 20:43:17 -0400 Doug Nazar * gst/alpha/gstalpha.c: alpha: Fix one_over_kc calculation On arm/aarch64, converting from float directly to unsigned int uses a different opcode and negative numbers result in 0. Cast to signed int first. 2019-08-07 18:29:25 -0400 Mathieu Duponchelle * tests/check/gst-plugins-good.supp: valgrind: suppress Cond error coming from gnutls taken from https://salsa.debian.org/debian/flatpak/commit/fb4a8dda211c4bc036781f2b0d706266e95ce068 2019-06-04 13:39:00 -0400 Nicolas Dufresne * tests/check/gst-plugins-good.supp: supp: Ignore leaks caused by shout/sethostent sethostent() seems to be using a global state and we endup with leaks from that API when called through shout_init(). We had the option to only ignore the shout case, but the impression is that if we have shout and another sethostend user, as it's a global state, we may endup with a different stack trace for the same leak. So in the end, we just ignore memory allocated by sethostent in general. 2019-08-22 00:18:51 +0900 Seungha Yang * ext/soup/gstsouphttpsrc.c: souphttpsrc: Fix incompatible type build warning gstsouphttpsrc.c(2191): warning C4133: '=': incompatible types - from 'guint (__cdecl *)(GType)' to 'GstURIType (__cdecl *)(GType)' 2019-05-24 10:31:39 -0400 Olivier Crête * gst/rtpmanager/gstrtpjitterbuffer.c: rtpjitterbuffer: max-dropout-time gets cast to int32 So any value over MAXINT32 gets considered as negative and is silently ignored. 2019-06-15 02:00:43 +1000 Jan Schmidt * gst/rtpmanager/rtpjitterbuffer.c: rtpjitterbuffer: Clear clock master before unreffing Make sure to clear any master clock on the media_clock before unreffing it to release the timer callback that's updating the clock and keeping it reffed. 2019-08-01 15:02:23 +0900 Seungha Yang * gst/isomp4/qtdemux.c: qtdemux: Use empty-array safe way to cleanup GPtrArray Fix assertion fail GLib-CRITICAL **: g_ptr_array_remove_range: assertion 'index_ < rarray->len' failed 2019-08-06 22:27:40 -0400 Nicolas Dufresne * sys/v4l2/ext/types-compat.h: v4l2: Fix type compatibility issue with glibc 2.30 From now on, we will use linux/types.h on Linux, and use typedef of the various flavour of BSD. Fixes #635 2019-07-31 21:55:16 +0200 Mathieu Duponchelle * gst/rtpmanager/gstrtpfunnel.c: rtpfunnel: forward correct segment when switching pad Forwarding a single segment event from the pad that first gets chained is incorrect: when that first event was sent by an element such as x264enc, with its offset start, we end pushing out of segment buffers for the other pad(s). Instead, everytime the active pad changes, forward the appropriate segment event. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1028 2019-07-25 21:21:26 +0530 Guillaume Desmottes * ext/gtk/gstgtkglsink.c: * ext/gtk/gstgtkglsink.h: gtkglsink: fix crash when widget is resized after element destruction Prevent _size_changed_cb() to be called after gtkglsink has been finalized. Fix #632 2019-07-25 15:08:54 +0300 Sebastian Dröge * ext/jpeg/gstjpegdec.c: jpegdec: Don't dereference NULL input state if we have no caps in TIME segments Simply assume that the JPEG frame is not going to be interlaced instead of crashing. 2019-07-22 10:28:50 +0200 Knut Andre Tidemann * gst/rtp/gstrtpopuspay.c: rtp: opuspay: fix memory leak in gst_rtp_opus_pay_setcaps. The src caps were never dereferenced, causing a memory leak. 2018-06-13 14:55:29 -0700 Song Bing * sys/v4l2/gstv4l2videodec.c: v4l2videodec: Fix drain() function return type Return right type for drain() function. 2019-05-21 15:25:03 -0400 Nicolas Dufresne * gst/rtpmanager/gstrtpssrcdemux.c: * tests/check/elements/rtpssrcdemux.c: rtpssrcdemux: Avoid taking streamlock out-of-band In this change we now protect the internal srcpads list using the stream lock and limit usage of the internal stream lock to preventing data flowing on the other src pad type while creating and signalling the new pad. This fixes a deadlock with RTPBin shutdown lock. These two locks would end up being taken in two different order, which caused a deadlock. More generally, we should not rely on a streamlock when handling out-of-band data, so as a side effect, we should not take a stream lock when iterating internal links. 2019-05-30 11:13:07 +0900 Damian Hobson-Garcia * sys/v4l2/gstv4l2bufferpool.c: v4l2bufferpool: return TRUE when buffer pool orphaning succeeds When trying to orphan a buffer pool, successfully return and unref the pool when the pool is either successfully stopped or orphaned. Indicate failure and leave the pool untouched otherwise. 2019-05-30 13:12:31 +0900 Damian Hobson-Garcia * sys/v4l2/gstv4l2bufferpool.c: v4l2bufferpool: Free orphaned allocator resources when buffers are released Allocator resources cannot be freed when a buffer pool is orphaned while its buffers are in use. They should, however, be freed once those buffers are no longer needed. This patch disposes of any buffers belonging to an orphaned pool as they are released, and makes sure that the allocator is cleaned up when the last buffer is returned. 2019-05-27 18:08:54 +0900 Damian Hobson-Garcia * sys/v4l2/gstv4l2object.c: v4l2object: Orphan buffer pool on object_stop if supported Use V4L2 buffer orphaning, on recent kernels so that the device can be restarted immediately with a new buffer pool during renogatiation. 2019-05-22 18:06:04 +0300 Sebastian Dröge * gst/multifile/gstsplitmuxsink.c: splitmuxsink: Only set running time on finalizing sink element when in async-finalize mode There is only a single sink element in async-finalize mode, and we would keep the running time from previous fragments set in that case. As we don't ever set the running time for the very last fragment on EOS, this would mean that the closing time reported for the very last fragment is the same as the closing time of the previous fragment. 2019-05-14 17:36:14 -0400 Nicolas Dufresne * gst/rtpmanager/rtpsession.c: * tests/check/elements/rtpsession.c: rtpsession: Always keep at least one NACK on early RTCP We recently added code to remove outdate NACK to avoid using bandwidth for packet that have no chance of arriving on time. Though, this had a side effect, which is that it was to get an early RTCP packet with no feedback into it. This was pretty useless but also had a side effect, which is that the RTX RTT value would never be updated. So we we stared having late RTX request due to high RTT, we'd never manage to recover. This fixes the regression by making sure we keep at least one NACK in this situation. This is really light on the bandwidth and allow for quick recover after the RTT have spiked higher then the jitterbuffer capacity. 2019-04-24 13:47:54 -0400 Nicolas Dufresne * gst/rtpmanager/rtpsession.c: * tests/check/elements/rtpsession.c: rtpsession: Call on-new-ssrc earlier Right now, we may call on-new-ssrc after we have processed the first RTP packet. This prevents properly configuring the source as some property like "probation" are copied internally for use as a decreasing counter. For this specific property, it prevents the application from disabling probation on auxiliary sparse stream. Probation is harmful on sparse streams since the probation algorithm assume frequent and contiguous RTP packets. 2019-04-24 13:54:12 -0400 Nicolas Dufresne * gst/rtpmanager/rtpsource.c: rtpsource: Add more information to probation warning 2019-05-02 22:14:35 -0700 Thiago Santos * gst/rtsp/gstrtspsrc.c: rtspsrc: do not try to send EOS with invalid seqnum The second udpsrc (rtcp) might not have seen the segment event if it was not enabled or if rtcp is not available on the server. So if the application tries to send an EOS event it will try to set an invalid seqnum to the event. 2019-05-01 10:00:51 +0300 Sebastian Dröge * gst/rtp/gstrtpvrawdepay.c: rtprawdepay: Don't get rid of the buffer pool on FLUSH_STOP We expect there to be a pool as long as the caps are known and FLUSH_STOP is not resetting the caps. Getting rid of the pool would cause assertions. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/584 2019-02-08 10:09:17 +0100 Danny Smith * gst/rtpmanager/gstrtpbin.c: rtpbin: Free storage when freeing session 2019-04-23 10:10:01 +0100 Philippe Normand * gst/audiofx/gstscaletempo.c: scaletempo: Advertise interleaved layout in caps templates Scaletempo doesn't support non-interleaved layout. Not explicitely stating this would trigger critical warnings and a caps negotiation failure when scaletempo is used as playbin audio-filter. Patch suggested by George Kiagiadakis . Fixes #591 2019-05-02 12:35:21 +0100 Tim-Philipp Müller * .gitlab-ci.yml: ci: use template from 1.16 branch