...
 
Commits (101)
=== release 1.14.4 ===
2018-10-02 23:02:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-plugins-good.doap:
* meson.build:
Release 1.14.4
2018-10-02 23:02:53 +0100 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
2018-09-24 11:45:46 +0200 Nicola Murino <nicola.murino@gmail.com>
* sys/osxaudio/gstosxcoreaudio.c:
osxaudio: add support for parsing more channel layouts ...
... and fallback to gst_audio_info_set_format for not yet supported layouts.
Fix audio playback on iOS 12.
Based on patch from Byron Schiel <byron@canary.is>
https://bugzilla.gnome.org/show_bug.cgi?id=796919
2018-09-21 22:24:02 +0200 Alicia Boya García <aboya@igalia.com>
* gst/matroska/matroska-demux.c:
matroskademux: Emit no-more-pads after parsing Tracks
Currently matroskademux does not emit no-more-pads until the first
Cluster is parsed, even though the Tracks have already been parsed and
from that point on there can be no more tracks.
This is important in MSE because the browser needs to know when the MSE
initialization segment has been completely parsed so that it can expose
the tracks to the user. Some applications depend on this been done
before they feed frames to the demuxer.
As a consequence, historically WebKit has relied on hacks such as
listening to the `pad-added` event, which made impossible to support
multiple tracks in the same file. Let's fix that.
https://bugzilla.gnome.org/show_bug.cgi?id=797187
2018-09-21 20:38:02 +0200 Alicia Boya García <aboya@igalia.com>
* gst/matroska/matroska-demux.c:
matroskademux: Parse successive Tracks elements
This patch allows matroskademux to parse a second Tracks element,
erroring out if the tracks are not compatible (different number, type or
codec) and emitting new caps and tag events should they have changed.
https://bugzilla.gnome.org/show_bug.cgi?id=793333
2018-09-21 16:23:57 +0200 Alicia Boya García <aboya@igalia.com>
matroskademux: Refactor track parsing out from adding tracks
This splits gst_matroska_demux_add_stream() into:
* gst_matroska_demux_parse_stream(): will read the Matroska bytestream
and fill a GstMatroskaTrackContext.
* gst_matroska_demux_parse_tracks(): will check there are no repeated
tracks.
* gst_matroska_demux_add_stream(): creates and sets up the pad for the
track.
https://bugzilla.gnome.org/show_bug.cgi?id=793333
2017-11-30 20:44:23 +0100 Alicia Boya García <ntrrgc@gmail.com>
* gst/matroska/matroska-demux.c:
matroskademux: Allow Matroska headers to be read more than once
This is necessary for MSE, where a new MSE initialization segment may be
appended at any point. These MSE initialization segments consist of an
entire WebM file until the first Cluster element (not included). [1]
Note that track definitions are ignored on successive headers, they must
match, but this is not checked by matroskademux (look for
`(!demux->tracks_parsed)` in the code).
Source pads are not altered when the new headers are read.
This patch has been splitted from the original patch from eocanha in [2].
[1] https://www.w3.org/TR/mse-byte-stream-format-webm/
[2] https://bug334082.bugzilla-attachments.gnome.org/attachment.cgi?id=362212
https://bugzilla.gnome.org/show_bug.cgi?id=793333
=== release 1.14.3 ===
2018-09-16 16:20:32 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-plugins-good.doap:
* meson.build:
Release 1.14.3
2018-09-16 16:20:32 +0100 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
2018-08-15 02:10:25 +1000 Jan Schmidt <jan@centricular.com>
* gst/multifile/gstsplitmuxsink.c:
* gst/multifile/gstsplitmuxsink.h:
splitmuxsink: Fix reference counting loop
The stream context was holding a reference to the
internal queue and pads, with pad probes that were
in turn holding references to the stream context.
This lead to a leak if the request pads weren't explicitly
released.
https://bugzilla.gnome.org/show_bug.cgi?id=796893
2018-07-17 00:03:19 +1000 Jan Schmidt <jan@centricular.com>
* gst/multifile/gstsplitmuxsink.c:
splitmux: Improve handling of repeated timestamps
When handling input with timestamps that repeat, sometimes
splitmuxsink would get confused and ignore a keyframe.
The logic in question is a holdover from before the cmd queue
moved the file cutting to the multiqueue output side and made
it deterministic, so it's no longer needed on the input
here.
https://bugzilla.gnome.org/show_bug.cgi?id=796773
2017-08-25 11:58:12 +0200 Havard Graff <havard.graff@gmail.com>
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/rtpsession.c:
* gst/rtpmanager/rtpsession.h:
* tests/check/elements/rtpsession.c:
rtpsession: Don't start the RTCP thread until it's needed
Always wait with starting the RTCP thread until either a RTP or RTCP
packet is sent or received. Special handling is needed to make sure the
RTCP thread is started when requesting an early RTCP packet.
We want to wait with starting the RTCP thread until it's needed in order
to not send RTCP packets for an inactive source.
https://bugzilla.gnome.org/show_bug.cgi?id=795139
2018-09-11 00:18:32 +0000 Nicolas Dufresne <nicolas@ndufresne.ca>
* sys/v4l2/gstv4l2object.c:
v4l2object: Protect against zero PAR num/demu
This fixes an assertion when the driver implement CROPCAP but does
not set the PAR.
2018-09-07 18:53:50 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/speex/meson.build:
meson: Fix typo in speex build file
Bad backport, host_system is not defined in this branch.
2018-09-07 18:47:22 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/speex/meson.build:
meson: Explicitly pass -DWIN32 while building speex
The speex headers assume that WIN32 will always be defined when
building on Windows, but this is only true by default on MinGW.
Always set it explicitly.
2018-09-03 16:04:33 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* ext/mpg123/gstmpg123audiodec.h:
mpg123: Remove ssize_t fallback, not needed anymore
The mpg123 headers now contain a definition for ssize_t and building
with MSVC fails because of a redefinition for ssize_t
2018-08-22 19:23:53 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
v4l2object: Only offer MMAP/DMABUF pool
The propose allocation was offering a pool even in DMABUF_IMPORT or
USERPTR mode. These pool are internal only.
2018-08-09 15:14:05 +0200 Philipp Zabel <p.zabel@pengutronix.de>
* sys/v4l2/gstv4l2object.c:
v4l2object: complete colorspace info in debug log
The desired colorimetry is logged with all parameters (colorpsace,
range, matrix, and transfer function), but of the values actually
set by the driver, only colorspace is logged. Complete the debug
log message to display all colorimetry parameters:
Desired colorspace is 8:1:1:1
Got format of 640x480, format YU12, nb planes 1, colorspace 8
->
Desired colorspace is 8:1:1:1
Got format of 640x480, format YU12, nb planes 1, colorspace 8:0:0:0
https://bugzilla.gnome.org/show_bug.cgi?id=796940
2018-08-09 15:12:57 +0200 Philipp Zabel <p.zabel@pengutronix.de>
* sys/v4l2/gstv4l2object.c:
v4l2object: fix typo in comment
https://bugzilla.gnome.org/show_bug.cgi?id=796940
2018-08-09 15:08:59 +0200 Philipp Zabel <p.zabel@pengutronix.de>
* sys/v4l2/gstv4l2object.c:
v4l2object: improve colorspace handling for JPEG sources
gstjpegdec sets 1:4:0:0 colorimetry (full range BT.601 YCbCr encoding
with unknown primaries and unknown transfer function). This currently
gets translated to bt601 or bt709 depending on resolution.
Both cases result in a negotiation failure:
ERROR: from element /GstPipeline:pipeline0/v4l2video0convert:v4l2video0convert0: Device '/dev/video0' does not support 1:4:0:0 colorimetry
Improve the guessing game by selecting JPEG colorimetry (JPEG colorspace
with sRGB transfer function) under these specific conditions, and loosen
the matching so that 1:4:0:0 input gets accepted if the device is
actually configured to 1:4:7:1 (V4L2_PIX_FMT_JPEG default).
https://bugzilla.gnome.org/show_bug.cgi?id=796940
2018-08-09 17:24:35 +0200 Philipp Zabel <p.zabel@pengutronix.de>
* sys/v4l2/gstv4l2object.c:
v4l2object: stop V4L2 from zeroing extended colorimetry for non-mplane
Setting the priv field to a magic value stops V4L2 core from zeroing
the extended colorimetry fields quantization, ycbcr_enc, and xfer_func
for non-mplane queues.
https://bugzilla.gnome.org/show_bug.cgi?id=796940
2018-08-17 11:45:47 +0100 Tim-Philipp Müller <tim@centricular.com>
* tests/examples/Makefile.am:
examples: dist qt examples
https://bugzilla.gnome.org/show_bug.cgi?id=796968
2018-08-16 16:28:15 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* meson.build:
meson: Unify required version to 0.40.1
2018-08-11 16:45:25 +0800 Roland Jon <rlandjon@gmail.com>
* gst/audioparsers/gstaacparse.c:
aacparse: fix codec_data buffer leak
https://bugzilla.gnome.org/show_bug.cgi?id=740101
2018-04-02 12:48:50 +0100 Tim-Philipp Müller <tim@centricular.com>
* tests/icles/Makefile.am:
* tests/icles/meson.build:
* tests/icles/v4l2src-test.c:
tests: remove broken and now pointless v4l2src-test
This tests APIs that don't exist any longer and also doesn't
work at all, and was last touched in a meaningful way in 2006.
2018-08-02 08:40:17 +0200 Iñigo Huguet <inigohuguet@hotmail.com>
* sys/v4l2/gstv4l2object.c:
v4l2src: fix first input used is always used next times
The input from an v4l2 device that was used the first time was
remembered for next times, and set again always the pipeline is
set to READY state. This was making that users wasn't able to
select a different input without having to create a new pipeline.
This patch makes that v4l2src element forget previous used input
when going to NULL state, so it will check again for the current
selected input when going again to READY state. Users can change
to NULL state, select a new input with a VIDIOC_S_INPUT ioctl
and change to PLAYING again.
https://bugzilla.gnome.org/show_bug.cgi?id=796908
2018-07-26 16:43:28 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtp/gstrtpgstdepay.c:
* gst/rtp/gstrtpgstpay.c:
* gst/rtp/gstrtpgstpay.h:
rtpgstpay: Add support for force-keyunit events
This triggers immediate re-sending of the configuration data in-band.
https://bugzilla.gnome.org/show_bug.cgi?id=796877
2018-07-31 12:47:47 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/isomp4/gstqtmux.c:
qtdemux: Don't assert in prefill mode if a track has no samples at all
Just write it with a duration of 0, no samples, etc.
2018-07-13 22:31:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst/rtp/gstrtpopuspay.c:
* gst/rtp/gstrtpvp8pay.c:
* gst/rtp/gstrtpvp9pay.c:
rtppayload: Fix VP8/VP9/OPUS dual encoding name handling
All these were copy pasted and would lead to assertion when chained with
rtpmux. This commit rewrite the negotiation with downstream. This also
drop the fallback to ancient names if the pad is unlinked. This was
completly arbitrary decision that made no sense.
https://bugzilla.gnome.org/show_bug.cgi?id=796809
2018-08-01 12:06:23 +1000 Matthew Waters <matthew@centricular.com>
* ext/qt/gstqtgl.h:
qt: Ensure GL headers are included
Otherwise there may be no valid typedef of GLsync.
...
/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:93:24: note: in definition of macro 'GST_GL_EXT_FUNCTION'
ret (GSTGLAPI *name) args;
^~~~
/usr/include/gstreamer-1.0/gst/gl/glprototypes/sync.h:33:23: error: 'GLsync' has not been declared
(GLsync sync))
^~~~~~
...
https://bugzilla.gnome.org/show_bug.cgi?id=796879
2018-07-19 17:31:03 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
* gst/rtp/gstrtpL8pay.c:
rtpL8pay: don't try to modify a read-only structure
Just remove the code. It's not doing anything useful anyways. The modified
caps are the result of a caps query, so either not used afterwards of a
reference to some internal caps of another element that should not be
modified.
https://bugzilla.gnome.org/show_bug.cgi?id=796837
2018-07-13 19:45:19 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtp/gstrtpgstpay.c:
* gst/rtp/gstrtph264pay.c:
* gst/rtp/gstrtph265pay.c:
* gst/rtp/gstrtpmp4vpay.c:
* gst/rtp/gstrtptheorapay.c:
* gst/rtp/gstrtpvorbispay.c:
rtp: Use running_time instead of PTS for config-interval calculations
PTS can start again from a different offset while the running time is
increasing. The only thing that matters here is the running time.
https://bugzilla.gnome.org/show_bug.cgi?id=796807
=== release 1.14.2 ===
2018-07-20 00:54:57 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-plugins-good.doap:
* meson.build:
Release 1.14.2
2018-07-20 00:54:56 +0100 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
2018-07-17 08:23:54 +0200 Iñigo Huguet <inigohuguet@fanamoel.com>
* ext/qt/gstqtgl.h:
qmlgl: Fix conflicting declaration of type GLsync for non-android
https://bugzilla.gnome.org/show_bug.cgi?id=796821
2018-06-20 10:03:59 +0200 Edward Hervey <edward@centricular.com>
* ext/soup/gstsouphttpsrc.c:
souphttpsrc: Protect input stream with lock
This was the last remaining place where modifying/unreffing the
input stream was not protected by the lock
https://bugzilla.gnome.org/show_bug.cgi?id=796639
2018-06-18 12:13:48 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/multifile/gstsplitmuxsrc.c:
splitmuxsrc: Make sure events are writable before setting their seqnum
2018-07-13 16:51:24 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2bufferpool.c:
v4l2bufferpool: Validate that capture buffers were queued
When the pool is started, we allocate and release buffer, expecting
the pool release-buffer handler to queue them. Though, as we rely
on release function, there is no direct way to detect that this
process didn't work.
To check this, validate that the number of queued buffer is the same
as the number of allocated buffers. This allow returning an error
when buffer importation was refused by the driver.
https://bugzilla.gnome.org/show_bug.cgi?id=583890
2018-07-13 16:02:02 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2bufferpool.c:
v4l2bufferpool: Only return eos for M2M devices
This will avoid sending EOS on v4l2src when a driver sends an empty
buffers. This case would be a bug in the driver, but yet the camera
should keep running.
This also removes the check for corrupted buffers, as this check is
already done later.
https://bugzilla.gnome.org/show_bug.cgi?id=794842
2018-07-13 15:58:36 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2.c:
* sys/v4l2/v4l2-utils.h:
* sys/v4l2/v4l2_calls.c:
v4l2: Add a macro to check for M2M
https://bugzilla.gnome.org/show_bug.cgi?id=794842
2018-07-13 14:41:13 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2allocator.c:
v4l2allocator: Fix userptr importation
The length passed to the driver was always 0 instead of the size of
the memory. This would fail validation in videobuf2.
2018-07-11 12:21:44 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
* sys/v4l2/gstv4l2object.h:
* sys/v4l2/gstv4l2src.c:
v4l2src: Try to avoid TRY_FMT when camera is streaming
Some camera firmware crash is TRY_FMT is called during streaming. As a
side effect. This try and detect that the same format as currently
running is about to be tried, and skip renegotiation.
https://bugzilla.gnome.org/show_bug.cgi?id=796789
2018-07-09 13:59:02 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2videodec.c:
v4l2videodec: Protect double calls to set_format()
In some cases, set_format() may get called twice before the output
format is set. Running an allocation query in this case is both not
needed and will cause assertion due tot he NULL caps.
2018-07-08 20:08:18 -0400 Thibault Saunier <tsaunier@igalia.com>
* gst/audiofx/gstscaletempo.c:
scaletempo: Mark as Audio in classification
2018-06-28 19:08:35 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2videoenc.c:
v4l2videoenc: Only renegotiate with upstream
When the decoder get linked further, it will receive a renegotiation
event from downstream. This case is not supported and should be ignored.
This fixes issues when this encoder is used inside an GstRtspServer
pipeline.
https://bugzilla.gnome.org/show_bug.cgi?id=796525
2018-06-22 14:56:31 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2videoenc.c:
v4l2videoenc: Don't set colorimetry on capture
The colorimetry will be set along with the raw format and those fields
will then be copied from sink to src caps by the gst encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=791471
2018-06-27 16:57:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
v4l2object: Really always set colorimetry
This fixes patch dd1c5aed656e07e3dad01f83410f3af16cfb14cf which
pretended to always set colorimetry but the patch was incomplete.
This is again best effort considering the spec says that for CAPTURE
you may only read this value.
2018-06-26 15:04:39 +0200 Michael Tretter <m.tretter@pengutronix.de>
* sys/v4l2/gstv4l2videodec.c:
v4l2videodec: do not call streamon while pool is flushing
gst_v4l2_buffer_pool_flush() executes streamoff for the output, but
streamoff->streamon for the capture of the decoder.
gst_v4l2_buffer_pool_streamon() on capture assumes that is able to
resurrect the buffers from the pool, but acquiring buffers fails if the
buffer pool is still flushing.
The decoder needs to stop flushing the pools before calling
gst_v4l2_buffer_pool_flush() to restart the v4l2 device. Otherwise
starting the decoding thread might fail, because there are no buffers in
the capture pool.
This fixes a regression that was introduced in 97985a335c78
("v4l2videodec: Add dynamic resolution change support").
https://bugzilla.gnome.org/show_bug.cgi?id=796681
2018-06-25 16:03:17 +0200 Philipp Zabel <p.zabel@pengutronix.de>
* sys/v4l2/gstv4l2object.c:
v4l2object: use S_SELECTION instead of S_CROP in gst_v4l2_object_set_crop
The S_CROP call doesn't work on mem2mem output queues. Use the
S_SELECTION call to set the crop rectangle and only fall back to
S_CROP for ancient kernels.
This will allow v4l2videoenc to set the coded size on the output
queue via S_FMT and then set the visible size via the crop rectangle,
as required by the V4L2 codec API.
https://bugzilla.gnome.org/show_bug.cgi?id=796672
2018-06-27 13:46:00 +0000 Marian Mihailescu <mihailescu2m@gmail.com>
* sys/v4l2/gstv4l2videoenc.c:
v4l2videoenc: activate capture pool after output pool
Some drivers need output buffers set before capture buffers.
CODA cannot set output format if capture is streaming.
Exynos MFC fails on output STREAMON if capture is already streaming.
This patch delays capture activation until output is configured and
streaming
https://bugzilla.gnome.org/show_bug.cgi?id=796693
2018-05-16 20:16:44 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
v4l2object: Don't open the device in get property
This is both racy and inefficient. This function is still missing some
locking which will be address in later patch.
https://bugzilla.gnome.org/show_bug.cgi?id=796185
2018-05-12 08:03:28 +0200 Edward Hervey <edward@centricular.com>
* sys/v4l2/gstv4l2videodec.c:
v4l2: Fix typo in debug messages
It's a decoder, not an encoder :)
https://bugzilla.gnome.org/show_bug.cgi?id=795941
2018-05-28 15:19:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2bufferpool.c:
v4l2bufferpool: Drop truncated frames
Drop truncated frames regardless if they have the ERROR flag or not.
Truncated frame causes video frame map failure in many elements
including cluttersink, glupload etc.
2018-05-27 20:29:47 +0100 Tim-Philipp Müller <tim@centricular.com>
* tests/check/elements/rtpstorage.c:
* tests/check/elements/rtpulpfec.c:
tests: rtpstorage: fix potential crashes / test failures on 32-bit
Pass 64 bits to g_object_set() for 64-bit integer properties like
rtpstorage's "size-time" property.
https://bugzilla.gnome.org/show_bug.cgi?id=796429
=== release 1.14.1 ===
2018-05-17 13:25:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* configure.ac:
* gst-plugins-good.doap:
* meson.build:
Release 1.14.1
2018-05-17 13:25:00 +0100 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
2018-05-17 12:37:35 +0100 Tim-Philipp Müller <tim@centricular.com>
* po/hr.po:
Update translations
2018-05-15 14:56:04 -0400 Thibault Saunier <tsaunier@igalia.com>
* gst/isomp4/qtdemux.c:
Revert "qtdemux: also push buffers without encryption info instead of dropping them"
This reverts commit 762e9c645ec13513c62eb5a3800d7406e01cdcb7.
This was pushed by mistake
2018-05-15 14:55:58 -0400 Thibault Saunier <tsaunier@igalia.com>
* gst/isomp4/qtdemux.c:
* gst/isomp4/qtdemux.h:
Revert "qtdemux: add context for a preferred protection"
This reverts commit 0ba62ba4805e2cdbed17fa9934762d685be42fd4.
This was pushed by mistake
2018-05-15 14:55:46 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/soup/gstsouphttpsrc.c:
* ext/soup/gstsouphttpsrc.h:
Revert "souphttpsrc: cookie jar and context query support"
This reverts commit 6715af9933a6607e5d86ac6fc1bcf476761cbf10.
This was pushed by mistake
2018-04-22 10:40:19 -0300 Thibault Saunier <tsaunier@igalia.com>
* ext/jpeg/gstjpegenc.c:
jpegenc: Accept sof-marker=4
sof-marker is 4 when input is in the RGB colorspace.
https://bugzilla.gnome.org/show_bug.cgi?id=795463
2017-04-24 17:22:02 +0000 Enrique Ocaña González <eocanha@igalia.com>
* gst/isomp4/qtdemux.c:
qtdemux: also push buffers without encryption info instead of dropping them
2017-06-21 17:59:21 +0200 Xabier Rodriguez Calvar <calvaris@igalia.com>
* gst/isomp4/qtdemux.c:
* gst/isomp4/qtdemux.h:
qtdemux: add context for a preferred protection
qtdemux selected the first system corresponding to a working GStreamer
decryptor. With this change, before selecting that decryptor, qtdemux
will check if it has context (a preferred decryptor id) and if not, it
will request it.
The request includes track-id, available key system ids for the
available decryptors and even the events so that the init data is
accessible.
[eocanha@igalia.com: select the preferred protection system even if not available]
Test "4. ClearKeyVideo" in YouTube leanback EME conformance tests 2016 for
H.264[1] uses a media file[2] with cenc encryption which embeds 'pssh' boxes
with the init data for the Playready and Widevine encryption systems, but not
for the ClearKey encryption system (as defined by the EMEv0.1b spec[3] and with
the encryption system id defined in [4]).
Instead, the ClearKey encryption system is manually selected by the web page
code (even if not originally detected by qtdemux) and the proper decryption key
is dispatched to the decryptor, which can then decrypt the video successfully.
[1] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
[2] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/car_cenc-20120827-86.mp4
[3] https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1b/encrypted-media/encrypted-media.html#simple-decryption-clear-key
[4] https://www.w3.org/Bugs/Public/show_bug.cgi?id=24027#c2
https://bugzilla.gnome.org/show_bug.cgi?id=770107
2015-10-28 12:00:09 +0100 Philippe Normand <philn@igalia.com>
* ext/soup/gstsouphttpsrc.c:
* ext/soup/gstsouphttpsrc.h:
souphttpsrc: cookie jar and context query support
Use a volatile Cookie jar to store cookies and handle the context
query so that session data can be shared with other elements (like
adaptivedemux).
https://bugzilla.gnome.org/show_bug.cgi?id=726314
2017-08-25 11:59:00 +0200 Mikhail Fludkov <misha@pexip.com>
* gst/rtpmanager/rtpsession.c:
* tests/check/elements/rtpsession.c:
rtpsession: Fix on-feedback-rtcp race
If there is an external source which is about to timeout and be removed
from the source hashtable and we receive feedback RTCP packet with the
media ssrc of the source, we unlock the session in
rtp_session_process_feedback before emitting 'on-feedback-rtcp' signal
allowing rtcp timer to kick in and grab the lock. It will get rid of
the source and rtp_session_process_feedback will be left with RTPSource
with ref count 0.
The fix is to grab the ref to the RTPSource object in
rtp_session_process_feedback.
https://bugzilla.gnome.org/show_bug.cgi?id=795139
2017-11-27 10:56:47 +0100 Stian Selnes <stian@pexip.com>
* gst/rtpmanager/rtpsession.c:
rtpsession: Add missing lock around sess->ssrcs iteration
https://bugzilla.gnome.org/show_bug.cgi?id=795139
2014-10-05 15:51:18 +0200 Matej Knopp <matej.knopp@gmail.com>
* gst/audioparsers/gstdcaparse.c:
dcaparse: do not accept header with invalid channel count
https://bugzilla.gnome.org/show_bug.cgi?id=737928
2018-05-10 13:57:30 +0200 Edward Hervey <edward@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Initialize riff library
Avoids debugging message issues. Also just use the main riff header
2018-05-05 16:32:59 +0200 Tim-Philipp Müller <tim@centricular.com>
* gst/rtp/gstrtpvrawpay.c:
rtpvrawpay: don't use buffer lists if everything fits into one buffer
People might use very large mtu sizes where every payload
fits into a single output packet.
https://bugzilla.gnome.org/show_bug.cgi?id=795758
2018-04-23 11:26:12 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst/flv/gstflvmux.c:
flvmux: Don't wake up the muxer unless there is data
https://bugzilla.gnome.org/show_bug.cgi?id=795332
2018-04-23 11:19:18 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst/flv/gstflvmux.c:
flvmux: Save the current position in the output segment
https://bugzilla.gnome.org/show_bug.cgi?id=795332
2018-04-19 17:53:51 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst/flv/gstflvmux.c:
* tests/check/elements/flvmux.c:
flvmux: Wait for caps from both srcs before writing header
Wait for caps on all pads to start writing data even when source is live.
Includes unit test by Havard Graff that simulates it.
https://bugzilla.gnome.org/show_bug.cgi?id=794722
2018-04-16 21:27:47 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/audioparsers/gstflacparse.c:
flacparse: Drain the parser when a CAPS event is received
After a CAPS event, in theory a new stream can start and it might start
with the FLAC headers again. We can't detect FLAC headers in the middle
of the stream, so we drain the parser to be able to detect either FLAC
headers after the CAPS event or the continuation of the previous stream.
This fixes for example
gst-launch-1.0 audiotestsrc num-buffers=200 ! flacenc ! c. \
audiotestsrc num-buffers=200 freq=880 ! flacenc ! c. \
concat name=c ! rtpgstpay ! udpsink host=127.0.0.1 port=5000
gst-launch-1.0 udpsrc multicast-group=127.0.0.1 port=5000 \
caps=application/x-rtp,media=application,clock-rate=90000,encoding-name=X-GST ! \
rtpgstdepay ! flacparse ! flacdec ! audioconvert ! pulsesin
2018-04-04 15:50:55 +0200 Kirill Marinushkin <kmarinushkin@de.adit-jv.com>
* configure.ac:
configure: Fix hard-coded enabled v4l2 probe on Linux/ARM
Currently, enable_v4l2_probe is hard-coded to "yes" on linux, platforms
arm and aarch64. This even overrides the --disable-v4l2-probe argument.
As a result, it is impossible to disable v4l2_probe. It becomes a problem
for use-cases, when startup time is critical, because the v4l2_probe
feature increases the initialization time.
This commit makes the v4l2_probe feature configurable.
On linux, platforms arm and aarch64, the default value is still "yes".
But now it can be disabled by the --disable-v4l2-probe argument.
https://bugzilla.gnome.org/show_bug.cgi?id=795200
2018-04-13 13:29:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
* sys/v4l2/gstv4l2transform.c:
* sys/v4l2/gstv4l2videodec.c:
* sys/v4l2/gstv4l2videoenc.c:
* sys/v4l2/v4l2_calls.c:
v4l2: rely on gst_v4l2_dup() to set no_initial_format and keep_aspect
gst_v4l2_dup() will now take care of setting
v4l2capture->no_initial_format and keep_aspect instead of doing it
manually.
Fix a typo as keep_aspect was set twice on v4l2output but never on
v4l2capture.
https://bugzilla.gnome.org/show_bug.cgi?id=795028
2018-04-17 17:57:16 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/rtsp/gstrtspsrc.c:
* tests/examples/rtsp/test-onvif.c:
Revert "rtspsrc: Fix up sendonly/recvonly attribute handling"
This reverts commit af273b4de9eb292c0b6af63665e10ca015895902.
While RFC 3264 (SDP) says that sendonly/recvonly are from the point of view of
the requester, the actual RTSP RFCs (RFC 2326 / 7826) disagree and say
the opposite, just like the ONVIF standard.
Let's follow those RFCs as we're doing RTSP here, and add a property at
a later time if needed to switch to the SDP RFC behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=793964
2018-04-13 22:49:43 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst/isomp4/gstqtmux.c:
qtmux: Fix leak
gst_qt_mux_can_renegotiate () gets called everywhere following
that pattern:
return gst_qt_mux_can_renegotiate (ref(self));
This means the reference must be released both in the success
and failure cases, it was only done in the success case.
2018-04-13 22:44:14 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst/flv/gstflvmux.c:
flvmux: aggregate should not push EOS itself
Instead it is expected to return GST_FLOW_EOS, and let the
base class handle that.
2018-04-13 23:01:20 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst/flv/gstflvmux.c:
flvmux: unref return of aggregator_pad_peek_buffer
We ended up leaking every single buffer going through the
muxer, which is far from ideal
2018-04-11 20:28:00 +0000 Whoopie <whoopie79@gmx.com>
* sys/v4l2/gstv4l2object.c:
v4l2object: Disable DMABuf for emulated formats
libv4l2 does not prevent exporting DMABuf even when emulated formats are
in use. As a side effect, userspace ends up with buffers of the original
formats which will cause issues.
https://bugzilla.gnome.org/show_bug.cgi?id=795097
2018-04-08 20:42:16 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
v4l2object: Only use BT2020_12 for BT2020 v4l2 colorspace
BT2020_12 is not represented in V4L2, so drivers providing full colority
for BT2020 will set V4L2_XFER_FUNC_709 transfer function. To fix the
issue, we bump this to BT2020_12 if the resoltion is 4K, but we should
only do that if the colorspace is BT2020 to start with, otherwise it's
not possible to use normal BT709 for 4K 8bit formats.
2018-04-08 13:43:56 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2/gstv4l2object.c:
v4l2object: Always set the colorimetry in S_FMT
So far we were only setting colorimetry for OUTPUT devices (v4l2sink or
m2m sink pad). This prevented selecting through caps negotiation the
colorimetry for CAPTURE devices (v4l2src or m2m src pad). This is rarely
selectable, but trying is harmless.
2018-04-11 17:54:38 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
* gst/multifile/gstsplitmuxsink.c:
splitmuxsink: Don't send fragment-opened-closed message if the reference ctx is NULL
It can happen during teardown that the reference context becomes NULL.
In that case, trying to send the fragment-opened-closed message would
lead to a crash.
2018-04-11 21:41:58 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/monoscope/gstmonoscope.c:
monoscope: Only fixate pixel-aspect-ratio if the field exists
2018-04-10 21:15:48 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/monoscope/gstmonoscope.c:
monoscope: Fixate pixel-aspect-ratio too and make sure the final caps are completely fixated
Otherwise e.g. this fails with assertions:
gst-launch-1.0 audiotestsrc ! audioconvert ! monoscope ! videoconvert ! \
videoscale ! video/x-raw,width=800,height=600 ! ximagesink
2018-03-08 10:10:01 +0100 Edward Hervey <bilboed@bilboed.com>
* gst/isomp4/gstqtmux.c:
qtmux: Add comments and doc about prefill mode
2018-04-04 01:48:44 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst/rtpmanager/gstrtprtxsend.c:
rtxsend: fix wrong memory layout assumption
The code responsible for creating retransmitted buffers
assumed the stored buffer had been created with
rtp_buffer_new_allocate when copying the extension data,
which isn't necessarily the case, for example when
the rtp buffers come from a udpsrc.
https://bugzilla.gnome.org/show_bug.cgi?id=794958
2018-03-04 15:14:08 +0100 Carlos Rafael Giani <dv@pseudoterminal.org>
* configure.ac:
* ext/qt/gstqtglutility.cc:
qt: Get EGL native display from QPA if platform header is available
https://bugzilla.gnome.org/show_bug.cgi?id=792378
2018-03-21 00:19:37 +0900 Seungha Yang <pudding8757@gmail.com>
* sys/v4l2/gstv4l2object.c:
* sys/v4l2/gstv4l2object.h:
v4l2: Fix unknown type name ‘off_t’ error
Fix following build error
gstv4l2object.h:197:17: error: unknown type name ‘off_t’
gint fd, off_t offset);
^
https://bugzilla.gnome.org/show_bug.cgi?id=794533
2018-03-22 15:20:47 +0100 Edward Hervey <edward@centricular.com>
* gst/isomp4/qtdemux.c:
qtdemux: Check sample count is valid in PIFF parsing
The value stored in cenc_aux_sample_count wasn't in sync with the
parsing code that followed which checks whether all entries are
valid and present.
Only write the actual sample count when we know for sure.
CID #1427087
2018-03-20 11:36:32 +0200 Sebastian Dröge <sebastian@centricular.com>
* gst/rtp/gstrtpreddec.c:
* gst/rtp/gstrtpredenc.c:
* gst/rtp/gstrtpulpfecdec.c:
* gst/rtp/gstrtpulpfecenc.c:
* gst/rtp/rtpstoragestream.c:
* tests/check/elements/rtpred.c:
* tests/check/elements/rtpulpfec.c:
rtp: Fix compilation with non-C99 compilers
By moving variable declarations out of loop headers.
=== release 1.14.0 ===
2018-03-19 20:18:22 +0000 Tim-Philipp Müller <tim@centricular.com>
......@@ -3,19 +3,15 @@
GSTREAMER 1.14 RELEASE NOTES
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.
GStreamer 1.14.0 was originally released on 19 March 2018.
GStreamer 1.14.0 was released on 19 March 2018.
The latest bug-fix release in the 1.14 series is 1.14.3 and was released
on 16 September 2018.
See https://gstreamer.freedesktop.org/releases/1.14/ for the latest
version of this document.
_Last updated: Monday 19 March 2018, 12:00 UTC (log)_
_Last updated: Sunday 16 September 2018, 13:00 UTC (log)_
Introduction
......@@ -91,14 +87,14 @@ webrtcbin element and a webrtc support library. This allows you to build
applications that set up connections with and stream to and from other
WebRTC peers, whilst leveraging all of the usual GStreamer features such
as hardware-accelerated encoding and decoding, OpenGL integration,
zero-copy and embedded platform support. And it's easy to build and
zero-copy and embedded platform support. And its easy to build and
integrate into your application too!
WebRTC enables real-time communication of audio, video and data with web
browsers and native apps, and it is supported or about to be support by
recent versions of all major browsers and operating systems.
GStreamer's new WebRTC implementation uses libnice for Interactive
GStreamers new WebRTC implementation uses libnice for Interactive
Connectivity Establishment (ICE) to figure out the best way to
communicate with other peers, punch holes into firewalls, and traverse
NATs.
......@@ -108,9 +104,9 @@ the code sticks fairly close to the PeerConnection API. Where
functionality is missing it should be fairly obvious where it needs to
go.
For more details, background and example code, check out Nirbheek's blog
post _GStreamer has grown a WebRTC implementation_, as well as Matthew's
_GStreamer WebRTC_ talk from last year's GStreamer Conference in Prague.
For more details, background and example code, check out Nirbheeks blog
post _GStreamer has grown a WebRTC implementation_, as well as Matthews
_GStreamer WebRTC_ talk from last years GStreamer Conference in Prague.
New Elements
......@@ -121,7 +117,7 @@ New Elements
(SRT) video streaming protocol, which aims to be easy to use whilst
striking a new balance between reliability and latency for low
latency video streaming use cases. More details about SRT and the
implementation in GStreamer in Olivier's blog post _SRT in
implementation in GStreamer in Oliviers blog post _SRT in
GStreamer_.
- av1enc and av1dec elements providing experimental support for the
......@@ -142,7 +138,7 @@ New Elements
GStreamer-internal latency as well as latency added by external
components or circuits.
- 'fakevideosink is basically a null sink for video data and very
- fakevideosink is basically a null sink for video data and very
similar to fakesink, only that it will answer allocation queries and
will advertise support for various video-specific things such
GstVideoMeta, GstVideoCropMeta and GstVideoOverlayCompositionMeta
......@@ -153,22 +149,22 @@ New Elements
multiple processes. Usually a GStreamer pipeline runs in a single
process and parallelism is achieved by distributing workloads using
multiple threads. This means that all elements in the pipeline have
access to all the other elements' memory space however, including
access to all the other elements memory space however, including
that of any libraries used. For security reasons one might therefore
want to put sensitive parts of a pipeline such as DRM and decryption
handling into a separate process to isolate it from the rest of the
pipeline. This can now be achieved with the new ipcpipeline plugin.
Check out George's blog post _ipcpipeline: Splitting a GStreamer
Check out Georges blog post _ipcpipeline: Splitting a GStreamer
pipeline into multiple processes_ or his lightning talk from last
year's GStreamer Conference in Prague for all the gory details.
years GStreamer Conference in Prague for all the gory details.
- proxysink and proxysrc are new elements to pass data from one
pipeline to another within the same process, very similar to the
existing inter elements, but not limited to raw audio and video
data. These new proxy elements are very special in how they work
under the hood, which makes them extremely powerful, but also
dangerous if not used with care. The reason for this is that it's
not just data that's passed from sink to src, but these elements
dangerous if not used with care. The reason for this is that its
not just data thats passed from sink to src, but these elements
basically establish a two-way wormhole that passes through queries
and events in both directions, which means caps negotiation and
allocation query driven zero-copy can work through this wormhole.
......@@ -177,13 +173,13 @@ New Elements
streaming thread. There is a queue element inside proxysrc to
decouple the source thread from the sink thread, but that queue is
not unlimited, so it is entirely possible that the proxysink
pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
pipeline is paused or stops consuming data for some other reason.
This means that one should always shut down down the proxysrc
pipeline before shutting down the proxysink pipeline, for example.
Or at least take care when shutting down pipelines. Usually this is
not a problem though, especially not in live pipelines. For more
information see Nirbheek's blog post _Decoupling GStreamer
information see Nirbheeks blog post _Decoupling GStreamer
Pipelines_, and also check out out the new ipcpipeline plugin for
sending data from one process to another process (see above).
......@@ -208,13 +204,13 @@ Noteworthy new API
in the GStreamer WebRTC implementation.
- GstReferenceTimestampMeta is a new meta that allows you to attach
additional reference timestamps to a buffer. These timestamps don't
additional reference timestamps to a buffer. These timestamps dont
have to relate to the pipeline clock in any way. Examples of this
could be an NTP timestamp when the media was captured, a frame
counter on the capture side or the (local) UNIX timestamp when the
media was captured. The decklink elements make use of this.
- GstVideoRegionOfInterestMeta: it's now possible to attach generic
- GstVideoRegionOfInterestMeta: its now possible to attach generic
free-form element-specific parameters to a region of interest meta,
for example to tell a downstream encoder to use certain codec
parameters for a certain region.
......@@ -251,7 +247,7 @@ Noteworthy new API
- GstAudioStreamAlign is a new helper object for audio elements that
handles discontinuity detection and sample alignment. It will align
samples after the previous buffer's samples, but keep track of the
samples after the previous buffers samples, but keep track of the
divergence between buffer timestamps and sample position (jitter).
If it exceeds a configurable threshold the alignment will be reset.
This simply factors out code that was duplicated in a number of
......@@ -271,7 +267,7 @@ Noteworthy new API
installing and handling a "render-rectangle" property on elements
that implement this interface, so that this functionality can also
be used from the command line for testing and debugging purposes.
The property wasn't added to the interface itself as that would
The property wasnt added to the interface itself as that would
require all implementors to provide it which would not be
backwards-compatible.
......@@ -284,11 +280,11 @@ Noteworthy new API
element is based on this.
- Full list of API new in 1.14:
- GStreamer core API new in 1.14
- GStreamer base library API new in 1.14
- gst-plugins-base libraries API new in 1.14
- gst-plugins-bad: no list, mostly GstWebRTC library and new
non-stream audio decoder base class.
- GStreamer core API new in 1.14
- GStreamer base library API new in 1.14
- gst-plugins-base libraries API new in 1.14
- gst-plugins-bad: no list, mostly GstWebRTC library and new
non-stream audio decoder base class.
New RTP features and improvements
......@@ -305,7 +301,7 @@ New RTP features and improvements
packet loss using _retransmission (rtx)_. GStreamer has had
retransmission support for a long time, but Forward Error Correction
allows for different trade-offs: The advantage of Forward Error
Correction is that it doesn't add latency, whereas retransmission
Correction is that it doesnt add latency, whereas retransmission
requires at least one more roundtrip to request and hopefully
receive lost packets; Forward Error Correction increases the
required bandwidth however, even in situations where there is no
......@@ -321,7 +317,7 @@ New RTP features and improvements
- a few new buffer flags for FEC support:
GST_BUFFER_FLAG_NON_DROPPABLE can be used to mark important buffers,
e.g. to flag RTP packets carrying keyframes or codec setup data for
e.g. to flag RTP packets carrying keyframes or codec setup data for
RTP Forward Error Correction purposes, or to prevent still video
frames from being dropped by elements due to QoS. There already is a
GST_BUFFER_FLAG_DROPPABLE. GST_RTP_BUFFER_FLAG_REDUNDANT is used to
......@@ -341,8 +337,8 @@ New RTP features and improvements
- rtpjitterbuffer has a new fast start mode: in many scenarios the
jitter buffer will have to wait for the full configured latency
before it can start outputting packets. The reason for that is that
it often can't know what the sequence number of the first expected
RTP packet is, so it can't know whether a packet earlier than the
it often cant know what the sequence number of the first expected
RTP packet is, so it cant know whether a packet earlier than the
earliest packet received will still arrive in future. This behaviour
can now be bypassed by setting the "faststart-min-packets" property
to the number of consecutive packets needed to start, and the jitter
......@@ -371,10 +367,10 @@ New element features
- tee now does allocation query aggregation, which is important for
zero-copy and efficient data handling, especially for video. Those
who want to drop allocation queries on purpose can use the identity
element's new "drop-allocation" property for that instead.
elements new "drop-allocation" property for that instead.
- audioconvert now has a "mix-matrix" property, which obsoletes the
audiomixmatrix element. There's also mix matrix support in the audio
audiomixmatrix element. Theres also mix matrix support in the audio
conversion and channel mixing API.
- x264enc: new "insert-vui" property to disable VUI (Video Usability
......@@ -413,7 +409,7 @@ New element features
- rtspsrc now has support for RTSP protocol version 2.0 as well as
ONVIF audio backchannels (see below for more details). It also
sports a new "accept-certificate" signal for "manually" checking a
sports a new "accept-certificate" signal for “manually” checking a
TLS certificate for validity. It now also prints RTSP/SDP messages
to the gstreamer debug log instead of stdout.
......@@ -422,8 +418,8 @@ New element features
- splitmuxsink has gained a "split-now" action signal and new
"alignment-threshold" and "use-robust-muxing" properties. If robust
muxing is enabled, it will check and set the muxer's reserved space
properties if present. This is primarily for use with mp4mux's
muxing is enabled, it will check and set the muxers reserved space
properties if present. This is primarily for use with mp4muxs
robust muxing mode.
- qtmux has a new _prefill recording mode_ which sets up a moov header
......@@ -447,24 +443,24 @@ New element features
This allows for connection reuse, cookie sharing, etc. Applications
can also force a context to use. In other news, HTTP headers
received from the server are posted as element messages on the bus
now for easier diagnostics, and it's also possible now to use other
now for easier diagnostics, and its also possible now to use other
types of proxy servers such as SOCKS4 or SOCKS5 proxies, support for
which is implemented directly in gio. Before only HTTP proxies were
allowed.
- qtmux, mp4mux and matroskamux will now refuse caps changes of input
streams at runtime. This isn't really supported with these
streams at runtime. This isnt really supported with these
containers (or would have to be implemented differently with a
considerable effort) and doesn't produce valid and spec-compliant
files that will play everywhere. So if you can't guarantee that the
input caps won't change, use a container format that does support on
considerable effort) and doesnt produce valid and spec-compliant
files that will play everywhere. So if you cant guarantee that the
input caps wont change, use a container format that does support on
the fly caps changes for a stream such as MPEG-TS or use
splitmuxsink which can start a new file when the caps change. What
would happen before is that e.g. rtph264depay or rtph265depay would
simply send new SPS/PPS inband even for AVC format, which would then
get muxed into the container as if nothing changed. Some decoders
will handle this just fine, but that's often more luck than by
design. In any case, it's not right, so we disallow it now.
will handle this just fine, but thats often more luck than by
design. In any case, its not right, so we disallow it now.
- matroskamux has Table of Content (TOC) support now (chapters etc.)
and matroskademux TOC support has been improved. matroskademux has
......@@ -479,9 +475,12 @@ New element features
- The avwait element has a new "end-timecode" property and posts
"avwait-status" element messages now whenever avwait starts or stops
passing through data (e.g. because target-timecode and end-timecode
passing through data (e.g. because target-timecode and end-timecode
respectively have been reached).
- ‘alsamidisrc’ element has been broken for many many years and has
now been repaired allowing live capture from your MIDI HW.
- h265parse and h265parse will try harder to make upstream output the
same caps as downstream requires or prefers, thus avoiding
unnecessary conversion. The parsers also expose chroma format and
......@@ -501,7 +500,7 @@ New element features
- The NVIDIA NVENC hardware-accelerated video encoders now support
dynamic bitrate and preset reconfiguration and support the I420
4:2:0 video format. It's also possible to configure the gop size via
4:2:0 video format. Its also possible to configure the gop size via
the new "gop-size" property.
- The MPEG-TS muxer and demuxer (tsmux, tsdemux) now have support for
......@@ -516,25 +515,25 @@ New element features
- The decklink plugin for Blackmagic capture and playback cards have
seen numerous improvements:
- decklinkaudiosrc and decklinkvideosrc now put hardware reference
timestamp on buffers in form of GstReferenceTimestampMetas.
This can be useful to know on multi-channel cards which frames from
different channels were captured at the same time.
- decklinkaudiosrc and decklinkvideosrc now put hardware reference
timestamp on buffers in form of GstReferenceTimestampMetas.
This can be useful to know on multi-channel cards which frames
from different channels were captured at the same time.
- decklinkvideosink has gained support for Decklink hardware keying
with two new properties ("keyer-mode" and "keyer-level") to control
the built-in hardware keyer of Decklink cards.
- decklinkvideosink has gained support for Decklink hardware
keying with two new properties ("keyer-mode" and "keyer-level")
to control the built-in hardware keyer of Decklink cards.
- decklinkaudiosink has been re-implemented around GstBaseSink instead
of the GstAudioBaseSink base class, since the Decklink APIs don't
fit very well with the GstAudioBaseSink APIs, which used to cause
various problems due to inaccuracies in the clock calculations.
Problems were audio drop-outs and A/V sync going wrong after
pausing/seeking.
- decklinkaudiosink has been re-implemented around GstBaseSink
instead of the GstAudioBaseSink base class, since the Decklink
APIs don’t fit very well with the GstAudioBaseSink APIs, which
used to cause various problems due to inaccuracies in the clock
calculations. Problems were audio drop-outs and A/V sync going
wrong after pausing/seeking.
- support for more than 16 devices, without any artificial limit
- support for more than 16 devices, without any artificial limit
- work continued on the msdk plugin for Intel's Media SDK which
- work continued on the msdk plugin for Intels Media SDK which
enables hardware-accelerated video encoding and decoding on Intel
graphics hardware on Windows or Linux. Added the video memory,
buffer pool, and context/session sharing support which helps to
......@@ -553,7 +552,7 @@ New element features
streams, meaning it can do fast-forward/fast-rewind of normal (non-I
frame only) streams even at high speeds without saturating network
bandwidth or exceeding decoder capabilities. It will keep statistics
and skip keyframes or fragments as needed. See Sebastian's blog post
and skip keyframes or fragments as needed. See Sebastians blog post
_DASH trick-mode playback in GStreamer_ for more details. It also
supports webvtt subtitle streams now and has seen improvements when
seeking in live streams.
......@@ -561,13 +560,13 @@ New element features
- kmssink has seen lots of fixes and improvements in this cycle,
including:
- Raspberry Pi (vc4) and Xilinx DRM driver support
- Raspberry Pi (vc4) and Xilinx DRM driver support
- new "render-rectangle" property that can be used from the command
line as well as "display-width" and "display-height", and
"can-scale" properties
- new "render-rectangle" property that can be used from the
command line as well as "display-width" and "display-height",
and "can-scale" properties
- GstVideoCropMeta support
- GstVideoCropMeta support
Plugin and library moves
......@@ -597,7 +596,7 @@ handle multiple input pads and aggregate streams into one output stream.
It improves upon the existing GstCollectPads API in that it is a proper
base class which was also designed with live streaming in mind.
GstAggregator subclasses will operate in a mode with defined latency if
any of the inputs are live streams. This ensures that the pipeline won't
any of the inputs are live streams. This ensures that the pipeline wont
stall if any of the inputs stop producing data, and that the configured
maximum latency is never exceeded.
......@@ -605,19 +604,19 @@ GstAudioAggregator, audiomixer and audiointerleave moved from -bad to -base
GstAudioAggregator is a new base class for raw audio mixers and muxers
and is based on GstAggregator (see above). It provides defined-latency
mixing of raw audio inputs and ensures that the pipeline won't stall
mixing of raw audio inputs and ensures that the pipeline wont stall
even if one of the input streams stops producing data.
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.
It is used by the audiomixer element, which is a replacement for
'adder', which did not handle live inputs very well and did not align
‘adder’, which did not handle live inputs very well and did not align
input streams according to running time. audiomixer should behave much
better in that respect and generally behave as one would expected in
most scenarios.
Similarly, audiointerleave replaces the 'interleave' element which did
Similarly, audiointerleave replaces the ‘interleave’ element which did
not handle live inputs or non-aligned inputs very robustly.
GstAudioAggregator and its subclases have gained support for input
......@@ -626,7 +625,7 @@ as that would add additional latency. Furthermore, GAP events are now
handled correctly.
We hope to move the video equivalents (GstVideoAggregator and
compositor) to -base in the next cycle, i.e. for 1.16.
compositor) to -base in the next cycle, i.e. for 1.16.
GStreamer OpenGL integration library and plugin moved from -bad to -base
......@@ -647,7 +646,7 @@ The Qt QML-based qmlgl plugin has moved to -good and provides a
qmlglsink video sink element as well as a qmlglsrc element. qmlglsink
renders video into a QQuickItem, and qmlglsrc captures a window from a
QML view and feeds it as video into a pipeline for further processing.
Both elements leverage GStreamer's OpenGL integration. In addition to
Both elements leverage GStreamers OpenGL integration. In addition to
the move to -good the following features were added:
- A proxy object is now used for thread-safe access to the QML widget
......@@ -655,20 +654,20 @@ the move to -good the following features were added:
video widget at any time, so without this we might be left with a
dangling pointer.
- EGL is now supported with the X11 backend, which works e.g. on
- EGL is now supported with the X11 backend, which works e.g. on
Freescale imx6
The GTK+ plugin has also moved from -bad to -good. It includes gtksink
and gtkglsink which both render video into a GtkWidget. gtksink uses
Cairo for rendering the video, which will work everywhere in all
scenarios but involves an extra memory copy, whereas gtkglsink fully
leverages GStreamer's OpenGL integration, but might not work properly in
all scenarios, e.g. where the OpenGL driver does not properly support
leverages GStreamers OpenGL integration, but might not work properly in
all scenarios, e.g. where the OpenGL driver does not properly support
multiple sharing contexts in different threads; on Linux Nouveau is
known to be broken in this respect, whilst NVIDIA's proprietary drivers
known to be broken in this respect, whilst NVIDIAs proprietary drivers
and most other drivers generally work fine, and the experience with
Intel's driver seems to be mixed; some proprietary embedded Linux
drivers don't work; macOS works).
Intels driver seems to be mixed; some proprietary embedded Linux
drivers don’t work; macOS works.
GstPhysMemoryAllocator interface moved from -bad to -base
......@@ -677,13 +676,13 @@ physical address backed memory.
Plugin removals
- the sunaudio plugin was removed, since it couldn't ever have been
- the sunaudio plugin was removed, since it couldnt ever have been
built or used with GStreamer 1.0, but no one even noticed in all
these years.
- the schroedinger-based Dirac encoder/decoder plugin has been
removed, as there is no longer any upstream or anyone else
maintaining it. Seeing that it's quite a fringe codec it seemed best
maintaining it. Seeing that its quite a fringe codec it seemed best
to simply remove it.
API removals
......@@ -697,29 +696,28 @@ Miscellaneous changes
- The video support library has gained support for a few new pixel
formats:
- NV16_10LE32: 10-bit variant of NV16, packed into 32bit words (plus 2
bits padding)
- NV12_10LE32: 10-bit variant of NV12, packed into 32bit words (plus 2
bits padding)
- GRAY10_LE32: 10-bit grayscale, packed in 32bit words (plus 2 bits
padding)
- NV16_10LE32: 10-bit variant of NV16, packed into 32bit words
(plus 2 bits padding)