mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 11:41:09 +00:00
Release 1.15.2
This commit is contained in:
parent
1ef240e24d
commit
48b46e3f14
6 changed files with 790 additions and 102 deletions
563
ChangeLog
563
ChangeLog
|
@ -1,3 +1,566 @@
|
||||||
|
=== release 1.15.2 ===
|
||||||
|
|
||||||
|
2019-02-26 11:47:29 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* ChangeLog:
|
||||||
|
* NEWS:
|
||||||
|
* RELEASE:
|
||||||
|
* configure.ac:
|
||||||
|
* gst-plugins-good.doap:
|
||||||
|
* meson.build:
|
||||||
|
Release 1.15.2
|
||||||
|
|
||||||
|
2019-02-26 11:47:29 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* 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-02-26 11:47:25 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* 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/fur.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 translations
|
||||||
|
|
||||||
|
2019-02-25 19:08:08 +1100 Matthew Waters <matthew@centricular.com>
|
||||||
|
|
||||||
|
* sys/v4l2/gstv4l2videodec.c:
|
||||||
|
v4l2dec: also remove the colorimetry and chroma-site fields
|
||||||
|
If a different format is chosen, then these values are incorrect.
|
||||||
|
|
||||||
|
2019-02-22 16:02:12 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/gstrtpsession.c:
|
||||||
|
rtpsession: Fix EOS forwarding
|
||||||
|
So far we assumed that if all sources are bye, this meant we needed to
|
||||||
|
send an EOS on the RTCP sink. The problem is that this case may happens
|
||||||
|
if we only had one internal source and it detected a collision.
|
||||||
|
So now we limit the EOS forwarding to when there is a send_rtp_sink pad
|
||||||
|
and that this pad has received EOS. We don'tcheck the recv_rtp_sink
|
||||||
|
since the code does not wait for the bye to be send before sending EOS
|
||||||
|
to the RTCP src pad.
|
||||||
|
|
||||||
|
2019-02-25 01:12:56 +1100 Jan Schmidt <jan@centricular.com>
|
||||||
|
|
||||||
|
* gst/wavparse/gstwavparse.c:
|
||||||
|
wavparse: Declare support for RF64
|
||||||
|
RF64 encode support was added to wavenc quite some time
|
||||||
|
ago, but not declared in wavparse. It seems wavparse can
|
||||||
|
decode it though, so add it to the sink pad.
|
||||||
|
The RF64 support was added in
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=735627
|
||||||
|
|
||||||
|
2019-02-12 18:28:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/rtpsession.c:
|
||||||
|
* gst/rtpmanager/rtpsource.c:
|
||||||
|
* gst/rtpmanager/rtpsource.h:
|
||||||
|
rtp: Add property to disable RTCP reports per internal rtpsource
|
||||||
|
This is useful when implementing custom retransmission mechanism like
|
||||||
|
RIST to prevent RTCP from being produces for the retransmitted SSRC.
|
||||||
|
This would also be used in general for various purpose when customizing
|
||||||
|
an RTP base pipeline.
|
||||||
|
|
||||||
|
2019-02-12 18:26:21 -0500 Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/rtpsession.c:
|
||||||
|
rtpsession: Emit on-new-sender-ssrc for RTX ssrc also
|
||||||
|
|
||||||
|
2019-01-15 18:04:09 -0500 Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
|
||||||
|
* tests/check/elements/rtpjitterbuffer.c:
|
||||||
|
rtp jitterbuffer test: Test for queue filling
|
||||||
|
|
||||||
|
2019-01-11 17:53:43 -0500 Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/gstrtpjitterbuffer.c:
|
||||||
|
* gst/rtpmanager/rtpjitterbuffer.c:
|
||||||
|
* gst/rtpmanager/rtpjitterbuffer.h:
|
||||||
|
rtpjitterbuffer: Limit size to 2^15 packets
|
||||||
|
If it goes over 2^15 packets, it will think it has rolled over
|
||||||
|
and start dropping all packets. So make sure the seqnum distance is not too big.
|
||||||
|
But let's not limit it to a number that is too small to avoid emptying it
|
||||||
|
needlessly if there is a spurious huge sequence number, let's allow at
|
||||||
|
least 10k packets in any case.
|
||||||
|
|
||||||
|
2019-02-11 11:33:32 -0500 Olivier Crête <olivier.crete@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/gstrtpjitterbuffer.c:
|
||||||
|
rtpjitterbuffer: There is no automatic reorder threshold
|
||||||
|
|
||||||
|
2019-01-30 10:47:49 -0300 Thibault Saunier <tsaunier@igalia.com>
|
||||||
|
|
||||||
|
* ext/pulse/pulsedeviceprovider.c:
|
||||||
|
pulse: Post DEVICE_CHANGED on modification
|
||||||
|
|
||||||
|
2018-11-26 13:48:56 -0300 Thibault Saunier <tsaunier@igalia.com>
|
||||||
|
|
||||||
|
* ext/pulse/pulsedeviceprovider.c:
|
||||||
|
* ext/pulse/pulsedeviceprovider.h:
|
||||||
|
pulse: Mark default devices as "default"
|
||||||
|
|
||||||
|
2019-02-08 16:10:25 +0000 Ilya Smelykh <ilya.smelykh@gmail.com>
|
||||||
|
|
||||||
|
* gst/flv/gstflvmux.c:
|
||||||
|
flvmux: Use 8kHz sample rate for alaw/mulaw audio
|
||||||
|
|
||||||
|
2019-02-07 09:54:31 +0000 Ilya Smelykh <ilya.smelykh@gmail.com>
|
||||||
|
|
||||||
|
* gst/flv/gstflvdemux.c:
|
||||||
|
flvdemux: set sample rate to 8KHz for G.711 audio
|
||||||
|
|
||||||
|
2019-02-08 13:59:19 +0200 Vivia Nikolaidou <vivia@ahiru.eu>
|
||||||
|
|
||||||
|
* gst/isomp4/gstqtmux.c:
|
||||||
|
qtmux: Only write timecode trak for video
|
||||||
|
Recent changes in ccextractor were attaching timecode meta to the closed
|
||||||
|
caption track. We shouldn't write timecode information for the closed
|
||||||
|
caption trak.
|
||||||
|
|
||||||
|
2019-02-05 22:14:18 +0100 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
* ext/vpx/gstvpxdec.c:
|
||||||
|
* ext/vpx/meson.build:
|
||||||
|
vpx: Fix build against libvpx 1.8
|
||||||
|
The deprecated debug visualizer was removed.
|
||||||
|
|
||||||
|
2019-02-05 19:41:51 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* tests/check/elements/rtph264.c:
|
||||||
|
* tests/check/elements/rtph265.c:
|
||||||
|
* tests/check/elements/rtpulpfec.c:
|
||||||
|
misc: Fix warnings on Cerbero's mingw (gcc 4.7)
|
||||||
|
error: this decimal constant is unsigned only in ISO C90 [-Werror]
|
||||||
|
|
||||||
|
2019-02-06 14:43:18 +0530 Arun Raghavan <arunsr@codeaurora.org>
|
||||||
|
|
||||||
|
* ext/pulse/pulsesink.c:
|
||||||
|
pulsesink: Deal with not being able to convert a format to caps
|
||||||
|
It is possible that PulseAudio adds formats that are not yet supported
|
||||||
|
in pulsesink, and in those cases, we want to gracefully skip them rather
|
||||||
|
than cause an assert on a NULL caps.
|
||||||
|
|
||||||
|
2019-01-17 09:22:18 +0100 Edward Hervey <edward@centricular.com>
|
||||||
|
|
||||||
|
* gst/isomp4/qtdemux.c:
|
||||||
|
qtdemux: Remove trailing '\n' in debug
|
||||||
|
|
||||||
|
2019-02-05 15:27:49 +1100 Matthew Waters <matthew@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/gstqtgl.h:
|
||||||
|
qmlgl: Fix opengl header guard changes again
|
||||||
|
Reapply 3d708a5bfa8961cc37671bc3226976dfc9ba50ad in the correct place
|
||||||
|
after the iOS additions.
|
||||||
|
|
||||||
|
2019-02-02 02:29:10 +0100 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
|
* gst/rtsp/gstrtspsrc.c:
|
||||||
|
* gst/rtsp/gstrtspsrc.h:
|
||||||
|
rtspsrc: use the correct segment seqnum
|
||||||
|
|
||||||
|
2019-02-02 02:26:47 +0100 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/gstrtpjitterbuffer.c:
|
||||||
|
rtpjitterbuffer: use the correct segment seqnum
|
||||||
|
|
||||||
|
2019-02-02 02:24:01 +0100 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
|
* gst/rtpmanager/gstrtpsession.c:
|
||||||
|
* gst/rtpmanager/gstrtpsession.h:
|
||||||
|
rtpsession: use the correct segment seqnum
|
||||||
|
|
||||||
|
2019-01-26 10:35:31 -0300 Thibault Saunier <tsaunier@igalia.com>
|
||||||
|
|
||||||
|
* gst/flv/gstflvdemux.c:
|
||||||
|
flvdemux: Do not error out if the first added and chained pad is not linked
|
||||||
|
And let it the oportunity to get its other pad linked
|
||||||
|
Example:
|
||||||
|
```
|
||||||
|
$ gst-launch-1.0 uridecodebin uri=file:///home/thiblahute/gst-validate.save/gst-integration-testsuites/testsuites/../medias/defaults/flv/819290236.flv caps=audio/x-raw expose-all-streams=FALSE ! fakesink
|
||||||
|
Setting pipeline to PAUSED ...
|
||||||
|
Pipeline is PREROLLING ...
|
||||||
|
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0: Internal data stream error.
|
||||||
|
Additional debug info:
|
||||||
|
../subprojects/gst-plugins-good/gst/flv/gstflvdemux.c(2760): gst_flv_demux_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0:
|
||||||
|
streaming stopped, reason not-linked (-1)
|
||||||
|
ERROR: pipeline doesn't want to preroll.
|
||||||
|
Setting pipeline to NULL ...
|
||||||
|
Freeing pipeline ...
|
||||||
|
```
|
||||||
|
|
||||||
|
2019-01-16 23:54:25 -0800 Christopher Snowhill <kode54@gmail.com>
|
||||||
|
|
||||||
|
* gst/matroska/webm-mux.c:
|
||||||
|
webmmux: allow resolutions above 4096
|
||||||
|
Modify the caps string to allow width and height greater than 4096.
|
||||||
|
There is no need to restrict it since the matroska format allows the
|
||||||
|
width and height values to be up to eight bytes long, and this also
|
||||||
|
applies to the webm subset of the format.
|
||||||
|
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/550
|
||||||
|
|
||||||
|
2019-02-01 14:27:11 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
meson: qmlgl plugin iOS definitions
|
||||||
|
Tested with cross-ios-arm64 and cross-ios-x86, since those two are the
|
||||||
|
only archs shipped with the official Qt binaries.
|
||||||
|
|
||||||
|
2019-02-01 14:27:11 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/gstqtgl.h:
|
||||||
|
qt: Don't define GLsync inside gstglfuncs.h
|
||||||
|
This was originally added for fixing conflicting definitions between
|
||||||
|
Android and Qt, but times have changed and now this breaks the build
|
||||||
|
on iOS:
|
||||||
|
[...]/OpenGLES.framework/Headers/ES3/gl.h:1006:48: error: unknown type name 'gst_qt_GLsync'
|
||||||
|
GL_API void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) OPENGLES_DEPRECATED(ios(7.0, 12.0), tvos(9.0, 12.0));
|
||||||
|
^
|
||||||
|
../ext/qt/gstqtgl.h:49:16: note: expanded from macro 'GLsync'
|
||||||
|
#define GLsync gst_qt_GLsync
|
||||||
|
^
|
||||||
|
6 errors generated.
|
||||||
|
Instead, we simply avoid defining GLsync ourselves if we're using Qt.
|
||||||
|
|
||||||
|
2019-02-01 14:27:11 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
meson: Fix indentation in qt plugin and add a FIXME comment
|
||||||
|
|
||||||
|
2019-01-26 21:02:27 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtp/gstrtph265depay.c:
|
||||||
|
rtph265depay; Fix handling of marker on aggregated packet
|
||||||
|
When multiple nals are aggrgated, the marker bit should be associated only
|
||||||
|
with the last NAL of the packet. Otherwise we may break rendering in with
|
||||||
|
AU alignment.
|
||||||
|
|
||||||
|
2019-01-26 21:01:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||||
|
|
||||||
|
* gst/rtp/gstrtph264depay.c:
|
||||||
|
rtph264depay: Fix handling or marker on STAP-A
|
||||||
|
Only forward the marker for the last NAL of the STAP-A. Otherwise each NAL
|
||||||
|
endup being assumed to be a full frame which may break rendering.
|
||||||
|
Fixes 557
|
||||||
|
|
||||||
|
2019-01-27 09:19:00 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||||
|
|
||||||
|
* tests/check/elements/rtph265.c:
|
||||||
|
test: h265depay: Add todo for testing aggregate packets with marker
|
||||||
|
We are missing a sample to test this, but a fix has been made, so add a
|
||||||
|
todo.
|
||||||
|
|
||||||
|
2019-01-26 20:42:40 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||||
|
|
||||||
|
* tests/check/elements/rtph264.c:
|
||||||
|
test: rtph264depay: Check handling of STAP-A marker
|
||||||
|
Related to #557
|
||||||
|
|
||||||
|
2019-01-31 15:23:43 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* tests/check/meson.build:
|
||||||
|
meson: orc-test is not required
|
||||||
|
This is especially never available on iOS.
|
||||||
|
|
||||||
|
2019-01-30 19:44:01 +0900 Seungha Yang <seungha.yang@navercorp.com>
|
||||||
|
|
||||||
|
* meson.build:
|
||||||
|
* tests/check/meson.build:
|
||||||
|
meson: Add support orc fallback
|
||||||
|
Allow fallback to orc subproject if any.
|
||||||
|
Additionally 'dependencies' keyword is removed from find_library,
|
||||||
|
because it's invalid keyword for find_library.
|
||||||
|
|
||||||
|
2019-01-17 21:06:54 +0100 Mathieu Duponchelle <mathieu@centricular.com>
|
||||||
|
|
||||||
|
* ext/gdk_pixbuf/gstgdkpixbufdec.c:
|
||||||
|
gdkpixbufdec: always output a TIME segment
|
||||||
|
It makes no sense for a decoder to output a BYTES segment, and
|
||||||
|
many elements one would plug downstream of a video decoder assume
|
||||||
|
the segments they receive are in TIME format, for example this fixes:
|
||||||
|
gst-validate-1.0 filesrc location=opacity01.svg ! gdkpixbufdec ! \
|
||||||
|
videobalance ! videoconvert ! fakesink
|
||||||
|
In that case, videobalance was emitting an assertion when trying to
|
||||||
|
call gst_object_sync_values()
|
||||||
|
|
||||||
|
2019-01-29 12:12:51 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
meson: Add macOS definitions for qmlgl plugin
|
||||||
|
Tested with Cerbero.
|
||||||
|
|
||||||
|
2019-01-29 12:12:51 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
meson: Fix building of qmlgl plugin on Android
|
||||||
|
Needs gnustl for C++ STL support, which is the GNU STL on Android API
|
||||||
|
19 and older, and is a wrapper for the llvm-libc++ STL on newer APIs.
|
||||||
|
QtGui C++ templates use GL functions, so GLESv2 is needed at link time
|
||||||
|
|
||||||
|
2019-01-24 16:21:12 -0500 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
|
||||||
|
|
||||||
|
* gst/interleave/deinterleave.c:
|
||||||
|
deinterleave: Allow switching between 1 channel configs
|
||||||
|
regardless of whether they're positioned, since positioning
|
||||||
|
with a 1 channel stream doesn't change anything.
|
||||||
|
|
||||||
|
2019-01-22 11:45:49 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
configure.ac: Fix Qt Android integration
|
||||||
|
The Qt Android integration is now signalled with HAVE_QT_ANDROID
|
||||||
|
See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/86
|
||||||
|
|
||||||
|
2018-12-18 14:46:25 -0500 Xavier Claessens <xavier.claessens@collabora.com>
|
||||||
|
|
||||||
|
* ext/soup/meson.build:
|
||||||
|
Meson: fallback to libsoup subproject
|
||||||
|
|
||||||
|
2019-01-22 12:52:25 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* meson.build:
|
||||||
|
meson: detect opengl api from -base .pc files correctly
|
||||||
|
There was a mismatch between the .pc files generated by
|
||||||
|
autotools and by meson that would lead to meson not detecting
|
||||||
|
that opengl api is available even though it is, if -base was
|
||||||
|
built with autotools. The mismatch has now been rectified in
|
||||||
|
-base, so we need to update for that.
|
||||||
|
This is mostly for consistency, this problem didn't seem
|
||||||
|
to affect anything in -good.
|
||||||
|
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/871
|
||||||
|
|
||||||
|
2019-01-22 09:51:33 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* sys/ximage/meson.build:
|
||||||
|
meson: ximage: check for XShmAttach()
|
||||||
|
Fixes FIXME.
|
||||||
|
|
||||||
|
2019-01-22 09:32:31 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
||||||
|
* meson_options.txt:
|
||||||
|
* sys/ximage/meson.build:
|
||||||
|
meson: add options for ximagesrc xshm, xfixes, xdamage checks
|
||||||
|
And rename x11 option to ximagesrc.
|
||||||
|
Fixes #553
|
||||||
|
|
||||||
|
2019-01-21 11:53:53 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/README.md:
|
||||||
|
qmlgl: add README.md with information on building for non-linux platforms with qmake
|
||||||
|
|
||||||
|
2019-01-19 15:46:41 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
qmlgl: meson: fix theoretical support for building for android
|
||||||
|
The android code path is slightly different than the EGLFS one,
|
||||||
|
so I added previously a HAVE_QT_ANDROID define for use with qmake.
|
||||||
|
Here I also add it in meson, although I expect nobody will ever use
|
||||||
|
meson to build this, as it's complicated.
|
||||||
|
|
||||||
|
2019-01-19 15:37:45 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/qtplugin.pro:
|
||||||
|
qmlgl: qmake: add support for MacOS target
|
||||||
|
|
||||||
|
2019-01-19 15:21:43 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/qtplugin.pro:
|
||||||
|
qmlgl: qmake: remove cerbero's include dir from the include path
|
||||||
|
pkg-config should do it's job here, this is unnecessary and implies using cerbero
|
||||||
|
|
||||||
|
2019-01-19 15:19:26 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/gstqtgl.h:
|
||||||
|
* ext/qt/qtplugin.pro:
|
||||||
|
qmlgl: qualify Qt includes with their module and remove module include dir from the .pro file
|
||||||
|
it is perfectly legal to use the <module/class> style of includes with Qt
|
||||||
|
and it avoids the need for having the module's include dir in the include path
|
||||||
|
|
||||||
|
2019-01-19 15:10:09 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/qtplugin.pro:
|
||||||
|
qmlgl: qmake: don't link against QtWidgets, it's not used
|
||||||
|
|
||||||
|
2019-01-19 15:07:44 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
|
||||||
|
|
||||||
|
* ext/qt/gstqtglutility.cc:
|
||||||
|
* ext/qt/qtplugin.pro:
|
||||||
|
qmlgl: qmake: fix building for android
|
||||||
|
|
||||||
|
2019-01-19 02:39:32 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
meson: Generate pkg-config file for qmlgl plugin
|
||||||
|
|
||||||
|
2019-01-17 16:26:56 +0100 Victor Toso <me@victortoso.com>
|
||||||
|
|
||||||
|
* tests/check/elements/rtp-payloading.c:
|
||||||
|
tests: rtp-payloading avoid -Wmaybe-uninitialized
|
||||||
|
More false positives as both of them are initialized in the line
|
||||||
|
before they are used, wrapped with fail_unless() check.
|
||||||
|
|
||||||
|
2019-01-17 16:19:40 +0100 Victor Toso <me@victortoso.com>
|
||||||
|
|
||||||
|
* tests/check/elements/matroskamux.c:
|
||||||
|
tests: matroskamux avoid -Wmaybe-uninitialized
|
||||||
|
False positive for the three variables but some warnings like:
|
||||||
|
../tests/check/elements/matroskamux.c:875:10:
|
||||||
|
warning: 'chapters_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
|
||||||
|
*index = chapters_offset;
|
||||||
|
~~~~~~~^~~~~~~~~~~~~~~~~
|
||||||
|
The above is false positive as there is a gboolean to check if it was
|
||||||
|
initialized or not (found_chapters_declaration).
|
||||||
|
|
||||||
|
2018-05-28 14:39:53 +0530 Arun Raghavan <arunsr@codeaurora.org>
|
||||||
|
|
||||||
|
* ext/pulse/pulseutil.c:
|
||||||
|
pulse: Fix format info to caps conversion for PCM
|
||||||
|
|
||||||
|
2019-01-18 12:27:34 +0530 Arun Raghavan <arunsr@codeaurora.org>
|
||||||
|
|
||||||
|
* ext/pulse/pulsesink.c:
|
||||||
|
* ext/pulse/pulsesrc.c:
|
||||||
|
* ext/pulse/pulsesrc.h:
|
||||||
|
* ext/pulse/pulseutil.c:
|
||||||
|
* ext/pulse/pulseutil.h:
|
||||||
|
Revert "pulsesrc: Move to extended stream API"
|
||||||
|
This reverts commit 4d67d1bd16bcf25acf89d8acd952badcd5b9a657.
|
||||||
|
Using the extended API for the capture path depends on a fix in
|
||||||
|
PulseAudio
|
||||||
|
(https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/49).
|
||||||
|
Until then, let's go back to the standard API.
|
||||||
|
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/552
|
||||||
|
|
||||||
|
2019-01-18 14:41:14 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
|
||||||
|
|
||||||
|
* ext/qt/meson.build:
|
||||||
|
meson: Search for qmake-qt5 before qmake
|
||||||
|
The canonical name for the binary is qmake-qt5, and qmake is the
|
||||||
|
generic name that can also be a qt4 qmake.
|
||||||
|
|
||||||
|
2019-01-17 15:30:25 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
|
||||||
|
|
||||||
|
* sys/v4l2/gstv4l2.c:
|
||||||
|
v4l2: mark caps from probe as MAY_BE_LEAKED
|
||||||
|
|
||||||
|
2019-01-15 18:06:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
|
||||||
|
|
||||||
|
* sys/v4l2/gstv4l2transform.c:
|
||||||
|
v4l2transform: fix cdata caps leaks
|
||||||
|
The cdata structure was freed but not its caps.
|
||||||
|
It was already done in gst_v4l2_video_dec_subclass_init() and
|
||||||
|
gst_v4l2_video_enc_subclass_init().
|
||||||
|
|
||||||
=== release 1.15.1 ===
|
=== release 1.15.1 ===
|
||||||
|
|
||||||
2019-01-17 01:59:28 +0000 Tim-Philipp Müller <tim@centricular.com>
|
2019-01-17 01:59:28 +0000 Tim-Philipp Müller <tim@centricular.com>
|
||||||
|
|
307
NEWS
307
NEWS
|
@ -15,7 +15,7 @@ the git master branch and which will eventually result in 1.16.
|
||||||
See https://gstreamer.freedesktop.org/releases/1.16/ for the latest
|
See https://gstreamer.freedesktop.org/releases/1.16/ for the latest
|
||||||
version of this document.
|
version of this document.
|
||||||
|
|
||||||
_Last updated: Monday 14 January 2019, 13:00 UTC (log)_
|
_Last updated: Monday 25 January 2019, 15:00 UTC (log)_
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
@ -24,8 +24,8 @@ 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
|
the stable 1.x API series of your favourite cross-platform multimedia
|
||||||
framework!
|
framework!
|
||||||
|
|
||||||
As always, this release is again packed with new features, bug fixes and
|
As always, this release is again packed with many new features, bug
|
||||||
other improvements.
|
fixes and other improvements.
|
||||||
|
|
||||||
|
|
||||||
Highlights
|
Highlights
|
||||||
|
@ -40,7 +40,7 @@ Highlights
|
||||||
|
|
||||||
- Support for Closed Captions and other Ancillary Data in video
|
- Support for Closed Captions and other Ancillary Data in video
|
||||||
|
|
||||||
- Spport for planar (non-interleaved) raw audio
|
- Support for planar (non-interleaved) raw audio
|
||||||
|
|
||||||
- GstVideoAggregator, compositor and OpenGL mixer elements are now in
|
- GstVideoAggregator, compositor and OpenGL mixer elements are now in
|
||||||
-base
|
-base
|
||||||
|
@ -98,14 +98,17 @@ Noteworthy new API
|
||||||
to process the media in a live pipeline before it reaches the sink.
|
to process the media in a live pipeline before it reaches the sink.
|
||||||
This is on top of the systemic latency that is normally reported by
|
This is on top of the systemic latency that is normally reported by
|
||||||
the latency query. This defaults to 20ms and should make pipelines
|
the latency query. This defaults to 20ms and should make pipelines
|
||||||
such as “v4lsrc ! xvimagesink” not claim that all frames are late in
|
such as v4l2src ! xvimagesink not claim that all frames are late in
|
||||||
the QoS events. Ideally, this should replace max_lateness for most
|
the QoS events. Ideally, this should replace the "max-lateness"
|
||||||
applications.
|
property for most applications.
|
||||||
|
|
||||||
- RTCP Extended Reports (XR) parsing according to RFC 3611:
|
- RTCP Extended Reports (XR) parsing according to RFC 3611:
|
||||||
Loss/Duplicate RLE, Packet Receipt Times, Receiver Reference Time,
|
Loss/Duplicate RLE, Packet Receipt Times, Receiver Reference Time,
|
||||||
Delay since the last Receiver (DLRR), Statistics Summary, and VoIP
|
Delay since the last Receiver (DLRR), Statistics Summary, and VoIP
|
||||||
Metrics reports.
|
Metrics reports. This only provides the ability to parse such
|
||||||
|
packets, generation of XR packets is not supported yet and XR
|
||||||
|
packets are not automatically parsed by rtpbin / rtpsession but must
|
||||||
|
be actively handled by the application.
|
||||||
|
|
||||||
- a new mode for interlaced video was added where each buffer carries
|
- a new mode for interlaced video was added where each buffer carries
|
||||||
a single field of interlaced video, with buffer flags indicating
|
a single field of interlaced video, with buffer flags indicating
|
||||||
|
@ -146,9 +149,10 @@ or planar arrangement in memory would look like
|
||||||
|LEFT|LEFT|LEFT| and |RIGHT|RIGHT|RIGHT| residing in separate memory
|
|LEFT|LEFT|LEFT| and |RIGHT|RIGHT|RIGHT| residing in separate memory
|
||||||
chunks or separated by some padding.
|
chunks or separated by some padding.
|
||||||
|
|
||||||
GStreamer has always had signalling for non-interleaved audio, but it
|
GStreamer has always had signalling for non-interleaved audio since
|
||||||
was never actually properly implemented in any elements. audioconvert
|
version 1.0, but it was never actually properly implemented in any
|
||||||
would advertise support for it, but wasn’t actually able to handle it.
|
elements. audioconvert would advertise support for it, but wasn’t
|
||||||
|
actually able to handle it correctly.
|
||||||
|
|
||||||
With this release we now have full support for non-interleaved audio as
|
With this release we now have full support for non-interleaved audio as
|
||||||
well, which means more efficient integration with external APIs that
|
well, which means more efficient integration with external APIs that
|
||||||
|
@ -177,18 +181,18 @@ The video support library has gained support for detecting and
|
||||||
extracting Ancillary Data from videos as per the SMPTE S291M
|
extracting Ancillary Data from videos as per the SMPTE S291M
|
||||||
specification, including:
|
specification, including:
|
||||||
|
|
||||||
- a VBI (Video Blanking Interval) parser that can detect and extract
|
- a VBI (Vertical Blanking Interval) parser that can detect and
|
||||||
Ancillary Data from Vertical Blanking Interval lines of component
|
extract Ancillary Data from Vertical Blanking Interval lines of
|
||||||
signals. This is currently supported for videos in v210 and UYVY
|
component signals. This is currently supported for videos in v210
|
||||||
format.
|
and UYVY format.
|
||||||
|
|
||||||
- a new GstMeta for closed captions: GstVideoCaptionMeta. This
|
- a new GstMeta for closed captions: GstVideoCaptionMeta. This
|
||||||
supports the two types of closed captions, CEA-608 and CEA-708,
|
supports the two types of closed captions, CEA-608 and CEA-708,
|
||||||
along with the four different ways they can be transported (other
|
along with the four different ways they can be transported (other
|
||||||
systems are a superset of those).
|
systems are a superset of those).
|
||||||
|
|
||||||
- a VBI (Video Blanking Interval) encoder for writing ancillary data
|
- a VBI (Vertical Blanking Interval) encoder for writing ancillary
|
||||||
to the Vertical Blanking Interval lines of component signals.
|
data to the Vertical Blanking Interval lines of component signals.
|
||||||
|
|
||||||
The new closedcaption plugin in gst-plugins-bad then makes use of all
|
The new closedcaption plugin in gst-plugins-bad then makes use of all
|
||||||
this new infrastructure and provides the following elements:
|
this new infrastructure and provides the following elements:
|
||||||
|
@ -222,6 +226,9 @@ support:
|
||||||
- playbin and playbin3 learned how to autoplug CEA 608/708 CC overlay
|
- playbin and playbin3 learned how to autoplug CEA 608/708 CC overlay
|
||||||
elements
|
elements
|
||||||
|
|
||||||
|
- the externally maintained ajavideosrc element for AJA capture cards
|
||||||
|
has support for extracting closed captions
|
||||||
|
|
||||||
The rsclosedcaption plugin in the Rust plugins collection includes a
|
The rsclosedcaption plugin in the Rust plugins collection includes a
|
||||||
MacCaption (MCC) file parser and encoder.
|
MacCaption (MCC) file parser and encoder.
|
||||||
|
|
||||||
|
@ -239,7 +246,7 @@ New Elements
|
||||||
|
|
||||||
- gloverlaycompositor: New OpenGL-based compositor element that
|
- gloverlaycompositor: New OpenGL-based compositor element that
|
||||||
flattens any overlays from GstVideoOverlayCompositionMetas into the
|
flattens any overlays from GstVideoOverlayCompositionMetas into the
|
||||||
video stream.
|
video stream. This element is also always part of glimagesink.
|
||||||
|
|
||||||
- glalpha: New element that adds an alpha channel to a video stream.
|
- glalpha: New element that adds an alpha channel to a video stream.
|
||||||
The values of the alpha channel can either be set to a constant or
|
The values of the alpha channel can either be set to a constant or
|
||||||
|
@ -248,7 +255,7 @@ New Elements
|
||||||
done in floating point so results may not be identical to the output
|
done in floating point so results may not be identical to the output
|
||||||
of the existing alpha element.
|
of the existing alpha element.
|
||||||
|
|
||||||
- rtpfunnel funnels together rtp-streams into a single session. Use
|
- rtpfunnel funnels together RTP streams into a single session. Use
|
||||||
cases include multiplexing and bundle. webrtcbin uses it to
|
cases include multiplexing and bundle. webrtcbin uses it to
|
||||||
implement BUNDLE support.
|
implement BUNDLE support.
|
||||||
|
|
||||||
|
@ -264,10 +271,12 @@ New Elements
|
||||||
WPE
|
WPE
|
||||||
|
|
||||||
- Two new OpenCV-based elements: cameracalibrate and cameraundistort
|
- Two new OpenCV-based elements: cameracalibrate and cameraundistort
|
||||||
who can communicate to figure out distortion correction parameters
|
that can communicate to figure out distortion correction parameters
|
||||||
for a camera and correct for the distortion.
|
for a camera and correct for the distortion.
|
||||||
|
|
||||||
- new sctp plugin based on usrsctp with sctpenc and sctpdec elements
|
- New sctp plugin based on usrsctp with sctpenc and sctpdec elements.
|
||||||
|
These elements are used inside webrtcbin for implementing data
|
||||||
|
channels.
|
||||||
|
|
||||||
New element features and additions
|
New element features and additions
|
||||||
|
|
||||||
|
@ -348,12 +357,12 @@ New element features and additions
|
||||||
- rtspsrc now allows applications to send RTSP SET_PARAMETER and
|
- rtspsrc now allows applications to send RTSP SET_PARAMETER and
|
||||||
GET_PARAMETER requests using action signals.
|
GET_PARAMETER requests using action signals.
|
||||||
|
|
||||||
- rtspsrc also has a small (100ms) configurable teardown delay by
|
- rtspsrc has a small (100ms) configurable teardown delay by default
|
||||||
default to try and make sure an RTSP TEARDOWN request gets sent out
|
to try and make sure an RTSP TEARDOWN request gets sent out when the
|
||||||
when the source element shuts down. This will block the downward
|
source element shuts down. This will block the downward PAUSED to
|
||||||
PAUSED to READY state change for a short time, but can be unset
|
READY state change for a short time, but can be disabled where it’s
|
||||||
where it’s a problem. Some servers only allow a limited number of
|
a problem. Some servers only allow a limited number of concurrent
|
||||||
concurren clients, so if no proper TEARDOWN is sent clients may have
|
clients, so if no proper TEARDOWN is sent new clients may have
|
||||||
problems connecting to the server for a while.
|
problems connecting to the server for a while.
|
||||||
|
|
||||||
- souphttpsrc behaves better with low bitrate streams now. Before it
|
- souphttpsrc behaves better with low bitrate streams now. Before it
|
||||||
|
@ -364,6 +373,7 @@ New element features and additions
|
||||||
|
|
||||||
- filesink: do internal buffering to avoid performance regression with
|
- filesink: do internal buffering to avoid performance regression with
|
||||||
small writes since we bypass libc buffering by using writev()
|
small writes since we bypass libc buffering by using writev()
|
||||||
|
instead of fwrite()
|
||||||
|
|
||||||
- identity: add "eos-after" property and fix "error-after" property
|
- identity: add "eos-after" property and fix "error-after" property
|
||||||
when the element is reused
|
when the element is reused
|
||||||
|
@ -405,9 +415,9 @@ New element features and additions
|
||||||
relays (TURN servers).
|
relays (TURN servers).
|
||||||
|
|
||||||
- The removesilence element has received various new features and
|
- The removesilence element has received various new features and
|
||||||
properties, such as a
|
properties, such as a "threshold" property, detecting silence only
|
||||||
"threshold"1 property, detecting silence only after minimum silence time/buffers, a“silent”property to control bus message notifications as well as a“squash”`
|
after minimum silence time/buffers, a "silent" property to control
|
||||||
property.
|
bus message notifications as well as a "squash" property.
|
||||||
|
|
||||||
- AOMedia AV1 decoder gained support for 10/12bit decoding whilst the
|
- AOMedia AV1 decoder gained support for 10/12bit decoding whilst the
|
||||||
AV1 encoder supports more image formats and subsamplings now and
|
AV1 encoder supports more image formats and subsamplings now and
|
||||||
|
@ -430,15 +440,15 @@ Plugin and library moves
|
||||||
|
|
||||||
- The stereo element was moved from -bad into the existing audiofx
|
- The stereo element was moved from -bad into the existing audiofx
|
||||||
plugin in -good. If you get duplicate type registration warnings
|
plugin in -good. If you get duplicate type registration warnings
|
||||||
when upgrading, check that you don’t have a stale gststereo plugin
|
when upgrading, check that you don’t have a stale stereoplugin lying
|
||||||
lying about somewhere.
|
about somewhere.
|
||||||
|
|
||||||
GstVideoAggregator, compositor, and OpenGL mixer elements moved from -bad to -base
|
GstVideoAggregator, compositor, and OpenGL mixer elements moved from -bad to -base
|
||||||
|
|
||||||
GstVideoAggregator is a new base class for raw video mixers and muxers
|
GstVideoAggregator is a new base class for raw video mixers and muxers
|
||||||
and is based on [GstAggregator][aggregator]. It provides defined-latency
|
and is based on GstAggregator. It provides defined-latency mixing of raw
|
||||||
mixing of raw video inputs and ensures that the pipeline won’t stall
|
video inputs and ensures that the pipeline won’t stall even if one of
|
||||||
even if one of the input streams stops producing data.
|
the input streams stops producing data.
|
||||||
|
|
||||||
As part of the move to stabilise the API there were some last-minute API
|
As part of the move to stabilise the API there were some last-minute API
|
||||||
changes and clean-ups, but those should mostly affect internal elements.
|
changes and clean-ups, but those should mostly affect internal elements.
|
||||||
|
@ -456,14 +466,15 @@ would expected in most scenarios.
|
||||||
The compositor element has gained support for per-pad blending mode
|
The compositor element has gained support for per-pad blending mode
|
||||||
operators (SOURCE, OVER, ADD) which determines what operator to use for
|
operators (SOURCE, OVER, ADD) which determines what operator to use for
|
||||||
blending this pad over the previous ones. This can be used to implement
|
blending this pad over the previous ones. This can be used to implement
|
||||||
crossfading.
|
crossfading and the available operators can be extended in the future as
|
||||||
|
needed.
|
||||||
|
|
||||||
A number of OpenGL-based video mixer elements (glvideomixer, glmixerbin,
|
A number of OpenGL-based video mixer elements (glvideomixer, glmixerbin,
|
||||||
glvideomixerelement, glstereomix, glmosaic) which are built on top of
|
glvideomixerelement, glstereomix, glmosaic) which are built on top of
|
||||||
GstVideoAggregator have also been moved from -bad to -base now. These
|
GstVideoAggregator have also been moved from -bad to -base now. These
|
||||||
elements have been merged into the existing OpenGL plugin, so if you get
|
elements have been merged into the existing OpenGL plugin, so if you get
|
||||||
duplicate type registration warnings when upgrading, check that you
|
duplicate type registration warnings when upgrading, check that you
|
||||||
don’t have a stale gstopenglmixers plugin lying about somewhere.
|
don’t have a stale openglmixers plugin lying about somewhere.
|
||||||
|
|
||||||
Plugin removals
|
Plugin removals
|
||||||
|
|
||||||
|
@ -477,11 +488,11 @@ The following plugins have been removed from gst-plugins-bad:
|
||||||
plugin.
|
plugin.
|
||||||
|
|
||||||
- The acmmp3dec and acmenc plugins for Windows have been removed. ACM
|
- The acmmp3dec and acmenc plugins for Windows have been removed. ACM
|
||||||
is an ancient legacy API and there was no point in keeping them
|
is an ancient legacy API and there was no point in keeping the
|
||||||
around for a licensed mp3 decoder now that mp3 patents have expired
|
plugins around for a licensed MP3 decoder now that the MP3 patents
|
||||||
and we have a decoder in -good. We also didn’t ship these in our
|
have expired and we have a decoder in -good. We also didn’t ship
|
||||||
cerbero-built Windows packages, so it’s unlikely that they’ll be
|
these in our cerbero-built Windows packages, so it’s unlikely that
|
||||||
missed.
|
they’ll be missed.
|
||||||
|
|
||||||
|
|
||||||
Miscellaneous API additions
|
Miscellaneous API additions
|
||||||
|
@ -506,7 +517,8 @@ Miscellaneous API additions
|
||||||
one might need to put such elements into READY state to test if the
|
one might need to put such elements into READY state to test if the
|
||||||
hardware is present in the system for example.
|
hardware is present in the system for example.
|
||||||
|
|
||||||
- protection: Add a new definition for unspecified system protection
|
- protection: Add a new definition for unspecified system protection,
|
||||||
|
GST_PROTECTION_UNSPECIFIED_SYSTEM_ID
|
||||||
|
|
||||||
- take functions for various mini objects that didn’t have them yet:
|
- take functions for various mini objects that didn’t have them yet:
|
||||||
gst_query_take(), gst_message_take(), gst_tag_list_take(),
|
gst_query_take(), gst_message_take(), gst_tag_list_take(),
|
||||||
|
@ -522,11 +534,18 @@ Miscellaneous API additions
|
||||||
gst_clear_mini_object(), gst_clear_object()
|
gst_clear_mini_object(), gst_clear_object()
|
||||||
|
|
||||||
- miniobject: new API gst_mini_object_add_parent() and
|
- miniobject: new API gst_mini_object_add_parent() and
|
||||||
gst_mini_object_remove_parent()to set parent pointers on mini objects to ensure correct writability: Every container of miniobjects now needs to store itself as parent in the child object, and remove itself again later. A mini object is then only writable if there is at most one parent, that parent is writable itself, and the reference count of the mini object is 1.GstBuffer(for memories),GstBufferList(for buffers),GstSample(for caps, buffer, bufferlist), andGstVideoOverlayComposition`
|
gst_mini_object_remove_parent() to set parent pointers on mini
|
||||||
were updated accordingly. Without this it was possible to have
|
objects to ensure correct writability: Every container of
|
||||||
e.g. a buffer list with a refcount of 2 used in two places at once
|
miniobjects now needs to store itself as parent in the child object,
|
||||||
that both modify the same buffer with refcount 1 at the same time
|
and remove itself again later. A mini object is then only writable
|
||||||
wrongly thinking it is writable even though it’s really not.
|
if there is at most one parent, that parent is writable itself, and
|
||||||
|
the reference count of the mini object is 1. GstBuffer (for
|
||||||
|
memories), GstBufferList (for buffers), GstSample (for caps, buffer,
|
||||||
|
bufferlist), and GstVideoOverlayComposition were updated
|
||||||
|
accordingly. Without this it was possible to have e.g. a buffer list
|
||||||
|
with a refcount of 2 used in two places at once that both modify the
|
||||||
|
same buffer with refcount 1 at the same time wrongly thinking it is
|
||||||
|
writable even though it’s really not.
|
||||||
|
|
||||||
- poll: add API to watch for POLLPRI and stop treating POLLPRI as a
|
- poll: add API to watch for POLLPRI and stop treating POLLPRI as a
|
||||||
read. This is useful to wait for video4linux events which are
|
read. This is useful to wait for video4linux events which are
|
||||||
|
@ -596,7 +615,7 @@ GstPlayer
|
||||||
|
|
||||||
Miscellaneous changes
|
Miscellaneous changes
|
||||||
|
|
||||||
- As a result of moving to different FFmpeg APIs, encoder and decoder
|
- As a result of moving to newer FFmpeg APIs, encoder and decoder
|
||||||
elements exposed by the GStreamer FFmpeg wrapper plugin (gst-libav)
|
elements exposed by the GStreamer FFmpeg wrapper plugin (gst-libav)
|
||||||
may have seen possibly incompatible changes to property names and/or
|
may have seen possibly incompatible changes to property names and/or
|
||||||
types, and not all properties exposed might be functional. We are
|
types, and not all properties exposed might be functional. We are
|
||||||
|
@ -649,48 +668,48 @@ Tracing framework and debugging improvements
|
||||||
object. This is currently limited to pads for GstElements and
|
object. This is currently limited to pads for GstElements and
|
||||||
events for the pads. The output may look like this:
|
events for the pads. The output may look like this:
|
||||||
|
|
||||||
(gdb) gst-print pad.object.parent
|
(gdb) gst-print pad.object.parent
|
||||||
GstMatroskaDemux (matroskademux0) {
|
GstMatroskaDemux (matroskademux0) {
|
||||||
SinkPad (sink, pull) {
|
SinkPad (sink, pull) {
|
||||||
|
}
|
||||||
|
SrcPad (video_0, push) {
|
||||||
|
events:
|
||||||
|
stream-start:
|
||||||
|
stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367
|
||||||
|
caps: video/x-theora
|
||||||
|
width: 1920
|
||||||
|
height: 800
|
||||||
|
pixel-aspect-ratio: 1/1
|
||||||
|
framerate: 24/1
|
||||||
|
streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] >
|
||||||
|
segment: time
|
||||||
|
rate: 1
|
||||||
|
tag: global
|
||||||
|
container-format: Matroska
|
||||||
|
}
|
||||||
|
SrcPad (audio_0, push) {
|
||||||
|
events:
|
||||||
|
stream-start:
|
||||||
|
stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875
|
||||||
|
caps: audio/mpeg
|
||||||
|
mpegversion: 4
|
||||||
|
framed: true
|
||||||
|
stream-format: raw
|
||||||
|
codec_data: 0x7fffe0014500 [GstBuffer]
|
||||||
|
level: 2
|
||||||
|
base-profile: lc
|
||||||
|
profile: lc
|
||||||
|
channels: 2
|
||||||
|
rate: 44100
|
||||||
|
segment: time
|
||||||
|
rate: 1
|
||||||
|
tag: global
|
||||||
|
container-format: Matroska
|
||||||
|
tag: stream
|
||||||
|
audio-codec: MPEG-4 AAC audio
|
||||||
|
language-code: en
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SrcPad (video_0, push) {
|
|
||||||
events:
|
|
||||||
stream-start:
|
|
||||||
stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/001:1274058367
|
|
||||||
caps: video/x-theora
|
|
||||||
width: 1920
|
|
||||||
height: 800
|
|
||||||
pixel-aspect-ratio: 1/1
|
|
||||||
framerate: 24/1
|
|
||||||
streamheader: < 0x5555557c7d30 [GstBuffer], 0x5555557c7e40 [GstBuffer], 0x7fffe00141d0 [GstBuffer] >
|
|
||||||
segment: time
|
|
||||||
rate: 1
|
|
||||||
tag: global
|
|
||||||
container-format: Matroska
|
|
||||||
}
|
|
||||||
SrcPad (audio_0, push) {
|
|
||||||
events:
|
|
||||||
stream-start:
|
|
||||||
stream-id: 0463ccb080d00b8689bf569a435c4ff84f9ff753545318ae2328ea0763fd0bec/002:1551204875
|
|
||||||
caps: audio/mpeg
|
|
||||||
mpegversion: 4
|
|
||||||
framed: true
|
|
||||||
stream-format: raw
|
|
||||||
codec_data: 0x7fffe0014500 [GstBuffer]
|
|
||||||
level: 2
|
|
||||||
base-profile: lc
|
|
||||||
profile: lc
|
|
||||||
channels: 2
|
|
||||||
rate: 44100
|
|
||||||
segment: time
|
|
||||||
rate: 1
|
|
||||||
tag: global
|
|
||||||
container-format: Matroska
|
|
||||||
tag: stream
|
|
||||||
audio-codec: MPEG-4 AAC audio
|
|
||||||
language-code: en
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- gst_structure_to_string() now serialises the actual value of
|
- gst_structure_to_string() now serialises the actual value of
|
||||||
pointers when serialising GstStructures instead of claiming they’re
|
pointers when serialising GstStructures instead of claiming they’re
|
||||||
|
@ -704,10 +723,10 @@ Tools
|
||||||
|
|
||||||
- gst-inspect-1.0 has coloured output now and will automatically use a
|
- gst-inspect-1.0 has coloured output now and will automatically use a
|
||||||
pager if the output does not fit on a page. This only works in a
|
pager if the output does not fit on a page. This only works in a
|
||||||
unix environment and if the output is not piped. If you don’t like
|
UNIX environment and if the output is not piped, and on Windows 10
|
||||||
the colours you can disable them by setting the
|
build 16257 or newer. If you don’t like the colours you can disable
|
||||||
GST_INSPECT_NO_COLORS=1 environment variable or passing the
|
them by setting the GST_INSPECT_NO_COLORS=1 environment variable or
|
||||||
--no-colors command line option.
|
passing the --no-color command line option.
|
||||||
|
|
||||||
|
|
||||||
GStreamer RTSP server
|
GStreamer RTSP server
|
||||||
|
@ -736,6 +755,29 @@ GStreamer VAAPI
|
||||||
- this section will be filled in in due course
|
- this section will be filled in in due course
|
||||||
|
|
||||||
|
|
||||||
|
GStreamer OMX
|
||||||
|
|
||||||
|
- Add support of NV16 format to video encoders input.
|
||||||
|
|
||||||
|
- Video decoders now handle the ALLOCATION query to tell upstream
|
||||||
|
about the number of buffers they require. Video encoders will also
|
||||||
|
use this query to adjust their number of allocated buffers
|
||||||
|
preventing starvation when using dynamic buffer mode.
|
||||||
|
|
||||||
|
- The OMX_PERFORMANCE debug category has been renamed to OMX_API_TRACE
|
||||||
|
and can now be used to track a widder variety of interactions
|
||||||
|
between OMX and GStreamer.
|
||||||
|
|
||||||
|
- Video encoders will now detect frame rate only changes and will
|
||||||
|
inform OMX about it rather than doing a full format reset.
|
||||||
|
|
||||||
|
- Various Zynq UltraScale+ specific improvements:
|
||||||
|
- Video encoders are now able to import dmabuf from upstream.
|
||||||
|
- Support for HEVC range extension profiles and more AVC profiles.
|
||||||
|
- We can now request video encoders to generate an IDR using the
|
||||||
|
force key unit event.
|
||||||
|
|
||||||
|
|
||||||
GStreamer Editing Services and NLE
|
GStreamer Editing Services and NLE
|
||||||
|
|
||||||
- this section will be filled in in due course
|
- this section will be filled in in due course
|
||||||
|
@ -858,7 +900,7 @@ Added
|
||||||
value per tag. The old ::iter_tag_list() function was renamed to
|
value per tag. The old ::iter_tag_list() function was renamed to
|
||||||
::iter_generic() and still provides access to each value for a tag
|
::iter_generic() and still provides access to each value for a tag
|
||||||
- Bus::iter() and Bus::iter_timed() iterators around the corresponding
|
- Bus::iter() and Bus::iter_timed() iterators around the corresponding
|
||||||
::pop*() functions
|
::pop\*() functions
|
||||||
|
|
||||||
- serde serialization of Value can also handle Buffer now
|
- serde serialization of Value can also handle Buffer now
|
||||||
|
|
||||||
|
@ -995,11 +1037,78 @@ Build and Dependencies
|
||||||
|
|
||||||
- New sctp plugin based on usrsctp (for WebRTC data channels)
|
- New sctp plugin based on usrsctp (for WebRTC data channels)
|
||||||
|
|
||||||
|
Cerbero
|
||||||
|
|
||||||
|
Cerbero is a meta build system used to build GStreamer plus dependencies
|
||||||
|
on platforms where dependencies are not readily available, such as
|
||||||
|
Windows, Android, iOS and macOS.
|
||||||
|
|
||||||
|
Cerbero has seen a number of improvements:
|
||||||
|
|
||||||
|
- Cerbero has been ported to Python 3 and requires Python 3.5 or newer
|
||||||
|
now
|
||||||
|
|
||||||
|
- Source tarballs are now protected by checksums in the recipes to
|
||||||
|
guard against download errors and malicious takeover of projects or
|
||||||
|
websites. In addition, downloads are only allowed via secure
|
||||||
|
transports now and plain HTTP, FTP and git:// transports are not
|
||||||
|
allowed anymore.
|
||||||
|
|
||||||
|
- There is now a new fetch-bootstrap command which downloads sources
|
||||||
|
required for bootstrapping, with an optional --build-tools-only
|
||||||
|
argument to match the bootstrap --build-tools-only command.
|
||||||
|
|
||||||
|
- The bootstrap, build, package and bundle-source commands gained a
|
||||||
|
new --offline switch that ensures that only sources from the cache
|
||||||
|
are used and never downloaded via the network. This is useful in
|
||||||
|
combination with the fetch and fetch-bootstrap commands that acquire
|
||||||
|
sources ahead of time before any build steps are executed. This
|
||||||
|
allows more control over the sources used and when sources are
|
||||||
|
updated, and is particularly useful for build environments that
|
||||||
|
don’t have network access.
|
||||||
|
|
||||||
|
- bootstrap --assume-yes will automatically say ‘yes’ to any
|
||||||
|
interactive prompts during the bootstrap stage, such as those from
|
||||||
|
apt-get or yum.
|
||||||
|
|
||||||
|
- bootstrap --system-only will only bootstrap the system without build
|
||||||
|
tools.
|
||||||
|
|
||||||
|
- Manifest support: The build manifest can be used in continuous
|
||||||
|
integration (CI) systems to fixate the Git revision of certain
|
||||||
|
projects so that all builds of a pipeline are on the same reference.
|
||||||
|
This is used in GStreamer’s gitlab CI for example. It can also be
|
||||||
|
used in order to re-produce a specific build. To set a manifest, you
|
||||||
|
can set manifest = 'my_manifest.xml' in your configuration file, or
|
||||||
|
use the --manifest command line option. The command line option will
|
||||||
|
take precendence over anything specific in the configuration file.
|
||||||
|
|
||||||
|
- The new build-deps command can be used to build only the
|
||||||
|
dependencies of a recipe, without the recipe itself.
|
||||||
|
|
||||||
|
- new --list-variants command to list available variants
|
||||||
|
|
||||||
|
- variants can now be set on the command line via the -v option as a
|
||||||
|
comma-separated list. This overrides any variants set in any
|
||||||
|
configuration files.
|
||||||
|
|
||||||
|
- new qt5, intelmsdk and nvidia variants for enabling Qt5 and hardware
|
||||||
|
codec support. See the Enabling Optional Features with Variants
|
||||||
|
section in the Cerbero documentation for more details how to enable
|
||||||
|
and use these variants.
|
||||||
|
|
||||||
|
- A new -t / --timestamp command line switch makes commands print
|
||||||
|
timestamps
|
||||||
|
|
||||||
|
|
||||||
Platform-specific changes and improvements
|
Platform-specific changes and improvements
|
||||||
|
|
||||||
Android
|
Android
|
||||||
|
|
||||||
|
- toolchain: update compiler to clang and NDKr18. NDK r18 removed the
|
||||||
|
armv5 target and only has Android platforms that target at least
|
||||||
|
armv7 so the armv5 target is not useful anymore.
|
||||||
|
|
||||||
- The way that GIO modules are named has changed due to upstream GLib
|
- The way that GIO modules are named has changed due to upstream GLib
|
||||||
natively adding support for loading static GIO modules. This means
|
natively adding support for loading static GIO modules. This means
|
||||||
that any GStreamer application using gnutls for SSL/TLS on the
|
that any GStreamer application using gnutls for SSL/TLS on the
|
||||||
|
@ -1010,9 +1119,15 @@ Android
|
||||||
library. Look at this commit for the necessary change in the
|
library. Look at this commit for the necessary change in the
|
||||||
examples.
|
examples.
|
||||||
|
|
||||||
|
- various build issues on Android have been fixed.
|
||||||
|
|
||||||
macOS and iOS
|
macOS and iOS
|
||||||
|
|
||||||
- macOS binaries should be fully relocatable now
|
- various build issues on iOS have been fixed.
|
||||||
|
|
||||||
|
- the minimum required iOS version is now 9.0. The difference in
|
||||||
|
adoption between 8.0 and 9.0 is 0.1% and the bump to 9.0 fixes some
|
||||||
|
build issues.
|
||||||
|
|
||||||
- The way that GIO modules are named has changed due to upstream GLib
|
- The way that GIO modules are named has changed due to upstream GLib
|
||||||
natively adding support for loading static GIO modules. This means
|
natively adding support for loading static GIO modules. This means
|
||||||
|
|
2
RELEASE
2
RELEASE
|
@ -1,4 +1,4 @@
|
||||||
This is GStreamer gst-plugins-good 1.15.1.
|
This is GStreamer gst-plugins-good 1.15.2.
|
||||||
|
|
||||||
GStreamer 1.15 is the development branch leading up to the next major
|
GStreamer 1.15 is the development branch leading up to the next major
|
||||||
stable version which will be 1.16.
|
stable version which will be 1.16.
|
||||||
|
|
|
@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
|
||||||
dnl initialize autoconf
|
dnl initialize autoconf
|
||||||
dnl releases only do -Wall, git and prerelease does -Werror too
|
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
|
dnl use a three digit version number for releases, and four for git/pre
|
||||||
AC_INIT([GStreamer Good Plug-ins],[1.15.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
|
AC_INIT([GStreamer Good Plug-ins],[1.15.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good])
|
||||||
|
|
||||||
AG_GST_INIT
|
AG_GST_INIT
|
||||||
|
|
||||||
|
@ -46,11 +46,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
|
||||||
[GStreamer API Version])
|
[GStreamer API Version])
|
||||||
|
|
||||||
AG_GST_LIBTOOL_PREPARE
|
AG_GST_LIBTOOL_PREPARE
|
||||||
AS_LIBTOOL(GST, 1501, 0, 1501)
|
AS_LIBTOOL(GST, 1502, 0, 1502)
|
||||||
|
|
||||||
dnl *** required versions of GStreamer stuff ***
|
dnl *** required versions of GStreamer stuff ***
|
||||||
GST_REQ=1.15.1
|
GST_REQ=1.15.2
|
||||||
GSTPB_REQ=1.15.1
|
GSTPB_REQ=1.15.2
|
||||||
|
|
||||||
dnl *** autotools stuff ****
|
dnl *** autotools stuff ****
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library).
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.15.2</revision>
|
||||||
|
<branch>master</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2019-02-26</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.15.2.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.15.1</revision>
|
<revision>1.15.1</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-plugins-good', 'c',
|
project('gst-plugins-good', 'c',
|
||||||
version : '1.15.1',
|
version : '1.15.2',
|
||||||
meson_version : '>= 0.47',
|
meson_version : '>= 0.47',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
Loading…
Reference in a new issue