From 112f9f0abd22eda4ec7265808c7586c6a507b445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> Date: Fri, 18 May 2018 10:26:04 +0300 Subject: [PATCH] New upstream version 1.14.1 --- ChangeLog | 414 ++++++++++++++++++ NEWS | 163 ++++++- RELEASE | 11 +- config.h.in | 3 + configure | 50 ++- configure.ac | 17 +- docs/plugins/gst-plugins-good-plugins.args | 4 +- .../gst-plugins-good-plugins-jpegenc.html | 2 +- .../gst-plugins-good-plugins-plugin-1394.html | 2 +- ...st-plugins-good-plugins-plugin-aasink.html | 2 +- .../gst-plugins-good-plugins-plugin-alaw.html | 2 +- ...gst-plugins-good-plugins-plugin-alpha.html | 2 +- ...lugins-good-plugins-plugin-alphacolor.html | 2 +- ...st-plugins-good-plugins-plugin-apetag.html | 2 +- ...t-plugins-good-plugins-plugin-audiofx.html | 2 +- ...gins-good-plugins-plugin-audioparsers.html | 2 +- ...t-plugins-good-plugins-plugin-auparse.html | 2 +- ...lugins-good-plugins-plugin-autodetect.html | 2 +- .../gst-plugins-good-plugins-plugin-avi.html | 2 +- ...-plugins-good-plugins-plugin-cacasink.html | 2 +- ...gst-plugins-good-plugins-plugin-cairo.html | 2 +- ...st-plugins-good-plugins-plugin-cutter.html | 2 +- ...gst-plugins-good-plugins-plugin-debug.html | 2 +- ...ugins-good-plugins-plugin-deinterlace.html | 2 +- .../gst-plugins-good-plugins-plugin-dtmf.html | 2 +- .../gst-plugins-good-plugins-plugin-dv.html | 2 +- ...t-plugins-good-plugins-plugin-effectv.html | 2 +- ...plugins-good-plugins-plugin-equalizer.html | 2 +- .../gst-plugins-good-plugins-plugin-flac.html | 2 +- .../gst-plugins-good-plugins-plugin-flv.html | 2 +- ...st-plugins-good-plugins-plugin-flxdec.html | 2 +- ...plugins-good-plugins-plugin-gdkpixbuf.html | 2 +- .../gst-plugins-good-plugins-plugin-goom.html | 2 +- ...t-plugins-good-plugins-plugin-goom2k1.html | 2 +- .../gst-plugins-good-plugins-plugin-gtk.html | 2 +- ...-plugins-good-plugins-plugin-icydemux.html | 2 +- ...-plugins-good-plugins-plugin-id3demux.html | 2 +- ...ugins-good-plugins-plugin-imagefreeze.html | 2 +- ...lugins-good-plugins-plugin-interleave.html | 2 +- ...st-plugins-good-plugins-plugin-isomp4.html | 2 +- .../gst-plugins-good-plugins-plugin-jack.html | 2 +- .../gst-plugins-good-plugins-plugin-jpeg.html | 2 +- .../gst-plugins-good-plugins-plugin-lame.html | 2 +- ...gst-plugins-good-plugins-plugin-level.html | 2 +- ...-plugins-good-plugins-plugin-matroska.html | 2 +- ...st-plugins-good-plugins-plugin-mpg123.html | 2 +- ...gst-plugins-good-plugins-plugin-mulaw.html | 2 +- ...plugins-good-plugins-plugin-multifile.html | 2 +- ...plugins-good-plugins-plugin-multipart.html | 2 +- ...ns-good-plugins-plugin-navigationtest.html | 2 +- .../gst-plugins-good-plugins-plugin-oss4.html | 2 +- ...-plugins-good-plugins-plugin-ossaudio.html | 2 +- .../gst-plugins-good-plugins-plugin-png.html | 2 +- ...lugins-good-plugins-plugin-pulseaudio.html | 2 +- ...gst-plugins-good-plugins-plugin-qmlgl.html | 2 +- ...lugins-good-plugins-plugin-replaygain.html | 2 +- .../gst-plugins-good-plugins-plugin-rtp.html | 2 +- ...lugins-good-plugins-plugin-rtpmanager.html | 2 +- .../gst-plugins-good-plugins-plugin-rtsp.html | 2 +- ...plugins-good-plugins-plugin-shapewipe.html | 2 +- ...st-plugins-good-plugins-plugin-shout2.html | 2 +- ...gst-plugins-good-plugins-plugin-smpte.html | 2 +- .../gst-plugins-good-plugins-plugin-soup.html | 2 +- ...-plugins-good-plugins-plugin-spectrum.html | 2 +- ...gst-plugins-good-plugins-plugin-speex.html | 2 +- ...st-plugins-good-plugins-plugin-taglib.html | 2 +- ...t-plugins-good-plugins-plugin-twolame.html | 2 +- .../gst-plugins-good-plugins-plugin-udp.html | 2 +- ...gins-good-plugins-plugin-video4linux2.html | 2 +- ...-plugins-good-plugins-plugin-videobox.html | 2 +- ...plugins-good-plugins-plugin-videocrop.html | 2 +- ...ugins-good-plugins-plugin-videofilter.html | 2 +- ...lugins-good-plugins-plugin-videomixer.html | 2 +- .../gst-plugins-good-plugins-plugin-vpx.html | 2 +- ...st-plugins-good-plugins-plugin-wavenc.html | 2 +- ...t-plugins-good-plugins-plugin-wavpack.html | 2 +- ...-plugins-good-plugins-plugin-wavparse.html | 2 +- ...plugins-good-plugins-plugin-ximagesrc.html | 2 +- ...st-plugins-good-plugins-plugin-y4menc.html | 2 +- .../html/gst-plugins-good-plugins-qtmux.html | 16 +- .../gst-plugins-good-plugins-rtspsrc.html | 2 +- .../gst-plugins-good-plugins-souphttpsrc.html | 2 +- docs/plugins/html/index.html | 2 +- docs/plugins/inspect/plugin-1394.xml | 2 +- docs/plugins/inspect/plugin-aasink.xml | 2 +- docs/plugins/inspect/plugin-alaw.xml | 2 +- docs/plugins/inspect/plugin-alpha.xml | 2 +- docs/plugins/inspect/plugin-alphacolor.xml | 2 +- docs/plugins/inspect/plugin-apetag.xml | 2 +- docs/plugins/inspect/plugin-audiofx.xml | 2 +- docs/plugins/inspect/plugin-audioparsers.xml | 2 +- docs/plugins/inspect/plugin-auparse.xml | 2 +- docs/plugins/inspect/plugin-autodetect.xml | 2 +- docs/plugins/inspect/plugin-avi.xml | 2 +- docs/plugins/inspect/plugin-cacasink.xml | 2 +- docs/plugins/inspect/plugin-cairo.xml | 2 +- docs/plugins/inspect/plugin-cutter.xml | 2 +- docs/plugins/inspect/plugin-debug.xml | 2 +- docs/plugins/inspect/plugin-deinterlace.xml | 2 +- docs/plugins/inspect/plugin-dtmf.xml | 2 +- docs/plugins/inspect/plugin-dv.xml | 2 +- docs/plugins/inspect/plugin-effectv.xml | 2 +- docs/plugins/inspect/plugin-equalizer.xml | 2 +- docs/plugins/inspect/plugin-flac.xml | 2 +- docs/plugins/inspect/plugin-flv.xml | 2 +- docs/plugins/inspect/plugin-flxdec.xml | 2 +- docs/plugins/inspect/plugin-gdkpixbuf.xml | 2 +- docs/plugins/inspect/plugin-goom.xml | 2 +- docs/plugins/inspect/plugin-goom2k1.xml | 2 +- docs/plugins/inspect/plugin-gtk.xml | 2 +- docs/plugins/inspect/plugin-icydemux.xml | 2 +- docs/plugins/inspect/plugin-id3demux.xml | 2 +- docs/plugins/inspect/plugin-imagefreeze.xml | 2 +- docs/plugins/inspect/plugin-interleave.xml | 2 +- docs/plugins/inspect/plugin-isomp4.xml | 2 +- docs/plugins/inspect/plugin-jack.xml | 2 +- docs/plugins/inspect/plugin-jpeg.xml | 4 +- docs/plugins/inspect/plugin-lame.xml | 2 +- docs/plugins/inspect/plugin-level.xml | 2 +- docs/plugins/inspect/plugin-matroska.xml | 2 +- docs/plugins/inspect/plugin-mpg123.xml | 2 +- docs/plugins/inspect/plugin-mulaw.xml | 2 +- docs/plugins/inspect/plugin-multifile.xml | 2 +- docs/plugins/inspect/plugin-multipart.xml | 2 +- .../plugins/inspect/plugin-navigationtest.xml | 2 +- docs/plugins/inspect/plugin-oss4.xml | 2 +- docs/plugins/inspect/plugin-ossaudio.xml | 2 +- docs/plugins/inspect/plugin-png.xml | 2 +- docs/plugins/inspect/plugin-pulseaudio.xml | 2 +- docs/plugins/inspect/plugin-qmlgl.xml | 2 +- docs/plugins/inspect/plugin-replaygain.xml | 2 +- docs/plugins/inspect/plugin-rtp.xml | 2 +- docs/plugins/inspect/plugin-rtpmanager.xml | 2 +- docs/plugins/inspect/plugin-rtsp.xml | 2 +- docs/plugins/inspect/plugin-shapewipe.xml | 2 +- docs/plugins/inspect/plugin-shout2.xml | 2 +- docs/plugins/inspect/plugin-smpte.xml | 2 +- docs/plugins/inspect/plugin-soup.xml | 2 +- docs/plugins/inspect/plugin-spectrum.xml | 2 +- docs/plugins/inspect/plugin-speex.xml | 2 +- docs/plugins/inspect/plugin-taglib.xml | 2 +- docs/plugins/inspect/plugin-twolame.xml | 2 +- docs/plugins/inspect/plugin-udp.xml | 2 +- docs/plugins/inspect/plugin-video4linux2.xml | 2 +- docs/plugins/inspect/plugin-videobox.xml | 2 +- docs/plugins/inspect/plugin-videocrop.xml | 2 +- docs/plugins/inspect/plugin-videofilter.xml | 2 +- docs/plugins/inspect/plugin-videomixer.xml | 2 +- docs/plugins/inspect/plugin-vpx.xml | 2 +- docs/plugins/inspect/plugin-wavenc.xml | 2 +- docs/plugins/inspect/plugin-wavpack.xml | 2 +- docs/plugins/inspect/plugin-wavparse.xml | 2 +- docs/plugins/inspect/plugin-ximagesrc.xml | 2 +- docs/plugins/inspect/plugin-y4menc.xml | 2 +- ext/jpeg/gstjpegenc.c | 2 +- ext/qt/gstqtglutility.cc | 10 + gst-plugins-good.doap | 10 + gst/audiofx/audiopanoramaorc-dist.c | 4 +- gst/audioparsers/gstdcaparse.c | 2 +- gst/audioparsers/gstflacparse.c | 16 + gst/deinterlace/tvtime-dist.c | 16 +- gst/flv/gstflvmux.c | 28 +- gst/isomp4/gstqtmux.c | 32 +- gst/isomp4/qtdemux.c | 22 +- gst/monoscope/gstmonoscope.c | 4 + gst/multifile/gstsplitmuxsink.c | 16 +- gst/rtp/gstrtpreddec.c | 7 +- gst/rtp/gstrtpredenc.c | 3 +- gst/rtp/gstrtpulpfecdec.c | 16 +- gst/rtp/gstrtpulpfecenc.c | 9 +- gst/rtp/gstrtpvrawpay.c | 3 +- gst/rtp/rtpstoragestream.c | 11 +- gst/rtpmanager/gstrtprtxsend.c | 5 +- gst/rtpmanager/rtpsession.c | 12 +- gst/rtsp/gstrtspsrc.c | 14 +- gst/videobox/gstvideoboxorc-dist.c | 4 +- gst/videomixer/videomixerorc-dist.c | 36 +- meson.build | 2 +- po/af.po | 2 +- po/az.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/da.po | 2 +- po/de.po | 2 +- po/el.po | 2 +- po/en_GB.po | 2 +- po/eo.po | 2 +- po/es.po | 2 +- po/eu.po | 2 +- po/fi.po | 2 +- po/fr.po | 2 +- po/fur.po | 2 +- po/gl.po | 2 +- po/gst-plugins-good-1.0.pot | 92 ++-- po/hr.gmo | Bin 11929 -> 11879 bytes po/hr.po | 156 ++++--- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/ja.po | 2 +- po/lt.po | 2 +- po/lv.po | 2 +- po/mt.po | 2 +- po/nb.po | 2 +- po/nl.po | 2 +- po/or.po | 2 +- po/pl.po | 2 +- po/pt_BR.po | 2 +- po/ro.po | 2 +- po/ru.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sq.po | 2 +- po/sr.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 2 +- po/zh_HK.po | 2 +- po/zh_TW.po | 2 +- sys/v4l2/gstv4l2object.c | 253 +++++------ sys/v4l2/gstv4l2object.h | 1 + sys/v4l2/gstv4l2transform.c | 2 - sys/v4l2/gstv4l2videodec.c | 2 - sys/v4l2/gstv4l2videoenc.c | 2 - sys/v4l2/v4l2_calls.c | 1 + tests/check/elements/flvmux.c | 215 +++++++-- tests/check/elements/rtpred.c | 4 +- tests/check/elements/rtpsession.c | 84 +++- tests/check/elements/rtpulpfec.c | 6 +- tests/examples/rtsp/test-onvif.c | 2 +- 233 files changed, 1535 insertions(+), 623 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92e7186a4..bb8b56c58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,417 @@ +=== 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> diff --git a/NEWS b/NEWS index 64dcb91ea..ab0816426 100644 --- a/NEWS +++ b/NEWS @@ -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! +GStreamer 1.14.0 was originally released on 19 March 2018. -As always, this release is again packed with new features, bug fixes and -other improvements. - -GStreamer 1.14.0 was released on 19 March 2018. +The latest bug-fix release in the 1.14 series is 1.14.1 and was released +on 17 May 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: Thursday 17 May 2018, 12:00 UTC (log)_ Introduction @@ -482,6 +478,9 @@ New element features 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 @@ -668,7 +667,7 @@ multiple sharing contexts in different threads; on Linux Nouveau is known to be broken in this respect, whilst NVIDIA's 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). +drivers don't work; macOS works. GstPhysMemoryAllocator interface moved from -bad to -base @@ -763,7 +762,7 @@ Tracing framework and debugging improvements of GStreamer. - 'fakevideosink is a null sink for video data that advertises - video-specific metas ane behaves like a video sink. See above for + video-specific metas and behaves like a video sink. See above for more details. - gst_util_dump_buffer() prints the content of a buffer to stdout. @@ -925,6 +924,8 @@ GStreamer VAAPI - vaapisink was demoted to marginal rank on Wayland because COGL cannot display YUV surfaces. +More details in VÃctor's blog post _GStreamer VA-API 1.14: what’s new?_. + GStreamer Editing Services and NLE @@ -1045,7 +1046,7 @@ Android macOS and iOS -- this section will be filled in shortly {FIXME!} +- no major changes in macOS and iOS support, only bugfixes Windows @@ -1076,6 +1077,9 @@ Windows latency compared to shared mode where WASAPI's engine period is 10ms. This can be activated via the "exclusive" property. +- Also see Nirbheek's blog post _Low Latency Audio on Windows with + GStreamer_. + - There are now GstDeviceProvider implementations for the wasapi and directsound plugins, so it's now possible to discover both audio sources and audio sinks on Windows via the GstDeviceMonitor API @@ -1167,12 +1171,141 @@ the git 1.14 branch, which is a stable branch. 1.14.1 -The first 1.14 bug-fix release (1.14.1) is scheduled to be released -around the end of March or beginning of April. +The first 1.14 bug-fix release (1.14.1) was released on 17 May 2018. This release only contains bugfixes and it should be safe to update from 1.14.0. +Noteworthy bugfixes in 1.14.1 + +- GstPad: Fix race condition causing the same probe to be called + multiple times +- Fix occasional deadlocks on windows when outputting debug logging +- Fix debug levels being applied in the wrong order +- GIR annotation fixes for bindings +- audiomixer, audioaggregator: fix some negotiation issues +- gst-play-1.0: fix leaving stdin in non-blocking mode after exit +- flvmux: wait for caps on all input pads before writing header even + if source is live +- flvmux: don't wake up the muxer unless there is data, fixes busy + looping if there's no input data +- flvmux: fix major leak of input buffers +- rtspsrc, rtsp-server: revert to RTSP RFC handling of + sendonly/recvonly attributes +- rtpvrawpay: fix payloading with very large mtu sizes where + everything fits into a single RTP packet +- v4l2: Fix hard-coded enabled v4l2 probe on Linux/ARM +- v4l2: Disable DMABuf for emulated formats when using libv4l2 +- v4l2: Always set colorimetry in S_FMT +- asfdemux: Set stream-format field for H264 streams and handle H.264 + in bytestream format +- x265enc: Fix tagging of keyframes on output buffers +- ladspa: Fix critical during plugin load on Windows +- decklink: Fix COM initialisation on Windows +- h264parse: fix re-use across pipeline stop/restart +- mpegtsmux: fix force-keyframe event handling and PCR/PMT changes + that would confuse some players with generated HLS streams +- adaptivedemux: Support period change in live playlist +- rfbsrc: Fix support for applevncserver and support NULL pool in + decide_allocation +- jpegparse: Fix APP1 marker segment parsing +- h265parse: Make caps writable before modifying them, fixes criticals +- fakevideosink: request an extra buffer if enable-last-sample is + enabled +- wasapisrc: Don't provide a clock based on WASAPI's clock +- wasapi: Only use audioclient3 when low-latency, as it might + otherwise glitch with slow CPUs or VMs +- wasapi: Don't derive device period from latency time, should make it + more robust against glitches +- audiolatency: Fix wave detection in buffers and avoid bogus pts + values while starting +- msdk: fix plugin load on implementations with only HW support +- msdk: dec: set framerate to the driver only if provided, not in 0/1 + case +- msdk: Don't set extended coding options for JPEG encode +- rtponviftimestamp: fix state change function init/reset causing + races/crashes on shutdown +- decklink: fix initialization failure in windows binary +- ladspa: Fix critical warnings during plugin load on Windows and fix + dependencies in meson build +- gl: fix cross-compilation error with viv-fb +- qmlglsink: make work with eglfs_kms +- rtspclientsink: Don't deadlock in preroll on early close +- rtspclientsink: Fix client ports for the RTCP backchannel +- rtsp-server: Fix session timeout when streaming data to client over + TCP +- vaapiencode: h264: find best profile in those available, fixing + negotiation errors +- vaapi: remove custom GstGL context handling, use GstGL instead. + Fixes GL Context sharing with WebkitGtk on wayland +- gst-editing-services: various fixes +- gst-python: bump pygobject req to 3.8; fix + GstPad.set_query_function(); dist autogen.sh and configure.ac in + tarball +- g-i: pick up GstVideo-1.0.gir from local build directory in GstGL + build +- g-i: update constant values for bindings +- avoid duplicate symbols in plugins across modules in static builds +- ... and many, many more! + +Cerbero build tool and packaging changes in 1.14.1 + +Toolchain updates on iOS and Android necessitated a fairly large number +of changes in our cerbero build tool used to create our binary packages +for the various platforms we support: + +- Add support for Ubuntu 18.04 in cerbero +- Fix generation of fat shared libraries on macOS +- gnutls: also rename assembly functions on macos/ios to fix link + errors +- gnutls: fix assembly symbol names for windows x86 +- openssl: fix linking on android/armv7 +- openssl: fix linker issue with Android NDK's r16 binutils +- ffmpeg: disable asm for android x86 to fix issues when linking with + apps +- x264: disable asm for android x86 to fix issues when linking with + apps +- gnutls: rename private symbols for armv8, x86 to not conflict with + openssl +- mpg123: disable assembly on android/x86 to fix linker problems with + relocations +- Check built version while loading recipe and rebuild if needed +- Fix packaging of libgcc_s_sjlj which was missing in Windows packages +- Make not-found in library search fatal so we don't accidentally ship + broken packages +- ship the proxy plugin which was new in 1.14 +- Fix git commands accidentally pulling in locally built libraries and + failing + +Contributors to 1.14.1 + +Antonio Ospite, Aurélien Zanelli, Brendan Shanks, Carlos Rafael Giani, +Edward Hervey, Emilio Pozuelo Monfort, Enrique Ocaña González, Garima +Gaur, Georg Lippitsch, Guillaume Desmottes, Havard Graff, Hoonhee Lee, +Hyunjun Ko, James Stevenson, Jan Alexander Steffens (heftig), Jan +Schmidt, Joakim Johansson, Jun Xie, Kai Kang, Kirill Marinushkin, Mark +Nauwelaerts, Matej Knopp, Mathieu Duponchelle, Matthew Waters, Matthias +Fend, Michael Olbrich, Mikhail Fludkov, Nicolas Dufresne, Nirbheek +Chauhan, Olivier Crête, Omar Akkila, Patrik Nilsson, Philippe Normand, +Pierre Labastie, Sebastian Dröge, Seungha Yang, Sreerenj Balachandran, +Stian Selnes, Takeshi Sato, Thibault Saunier, Tim-Philipp Müller, U. +Artie Eoff, VÃctor Manuel Jáquez Leal, Vivia Nikolaidou, Whoopie, Xabier +Rodriguez Calvar, Xavier Claessens, Zeeshan Ali, and countless others. + +List of bugs fixed in 1.14.1 + +For a full list of bugfixes see Bugzilla. Note that this is not the full +list of changes. For the full list of changes please refer to the GIT +logs or ChangeLogs of the particular modules. + +1.14.2 + +The second 1.14 bug-fix release (1.14.2) is scheduled to be released +around mid-June 2018. + +This release only contains bugfixes and it should be safe to update from +1.14.x. + Known Issues @@ -1180,6 +1313,10 @@ Known Issues GStreamer webrtc support) is currently not shipped as part of the Windows binary packages due to a build system issue. +- The gst-libav module currently won't build against the + newly-released ffmpeg 4.0 (as in F28). Use the internal ffmpeg copy + instead, if you build using autotools. + Schedule for 1.16 diff --git a/RELEASE b/RELEASE index f287391e6..48fe85691 100644 --- a/RELEASE +++ b/RELEASE @@ -1,11 +1,8 @@ -This is GStreamer gst-plugins-good 1.14.0. +This is GStreamer gst-plugins-good 1.14.1. -The GStreamer team is thrilled to announce a new major feature release in the +The GStreamer team is pleased to announce a new bug-fix 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. - The 1.14 release series adds new features on top of the 1.12 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework. @@ -60,7 +57,7 @@ You can find source releases of gstreamer in the download directory: https://gstreamer.freedesktop.org/src/gstreamer/ The git repository and details how to clone it can be found at -http://cgit.freedesktop.org/gstreamer/gstreamer/ +https://cgit.freedesktop.org/gstreamer/gstreamer/ ==== Homepage ==== @@ -69,7 +66,7 @@ The project's website is https://gstreamer.freedesktop.org/ ==== Support and Bugs ==== We use GNOME's bugzilla for bug reports and feature requests: -http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer +https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer Please submit patches via bugzilla as well. diff --git a/config.h.in b/config.h.in index 9503a4e1d..56c27190b 100644 --- a/config.h.in +++ b/config.h.in @@ -302,6 +302,9 @@ /* Define if Qt Mac integration is installed */ #undef HAVE_QT_MAC +/* Define if the Qt QPA header is installed */ +#undef HAVE_QT_QPA_HEADER + /* Define if Qt Wayland integration is installed */ #undef HAVE_QT_WAYLAND diff --git a/configure b/configure index d430bffa1..409efc6fb 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.14.0. +# Generated by GNU Autoconf 2.69 for GStreamer Good Plug-ins 1.14.1. # # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>. # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GStreamer Good Plug-ins' PACKAGE_TARNAME='gst-plugins-good' -PACKAGE_VERSION='1.14.0' -PACKAGE_STRING='GStreamer Good Plug-ins 1.14.0' +PACKAGE_VERSION='1.14.1' +PACKAGE_STRING='GStreamer Good Plug-ins 1.14.1' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer' PACKAGE_URL='' @@ -2048,7 +2048,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GStreamer Good Plug-ins 1.14.0 to adapt to many kinds of systems. +\`configure' configures GStreamer Good Plug-ins 1.14.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2121,7 +2121,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.14.0:";; + short | recursive ) echo "Configuration of GStreamer Good Plug-ins 1.14.1:";; esac cat <<\_ACEOF @@ -2216,7 +2216,7 @@ Optional Features: --disable-osx_audio disable OSX audio: osxaudio --disable-osx_video disable OSX video: osxvideosink --disable-gst_v4l2 disable Video 4 Linux 2: video4linux2 - --enable-v4l2-probe enable V4L2 plugin to probe devices [default=no] + --enable-v4l2-probe enable V4L2 plugin to probe devices --disable-x disable X libraries and plugins: ximagesrc --disable-aalib disable aalib ASCII Art library: aasink --disable-aalibtest do not try to compile and run a test AALIB program @@ -2551,7 +2551,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GStreamer Good Plug-ins configure 1.14.0 +GStreamer Good Plug-ins configure 1.14.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3362,7 +3362,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GStreamer Good Plug-ins $as_me 1.14.0, which was +It was created by GStreamer Good Plug-ins $as_me 1.14.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4344,7 +4344,7 @@ fi # Define the identity of the package. PACKAGE='gst-plugins-good' - VERSION='1.14.0' + VERSION='1.14.1' cat >>confdefs.h <<_ACEOF @@ -4555,9 +4555,9 @@ fi - PACKAGE_VERSION_MAJOR=$(echo 1.14.0 | cut -d'.' -f1) - PACKAGE_VERSION_MINOR=$(echo 1.14.0 | cut -d'.' -f2) - PACKAGE_VERSION_MICRO=$(echo 1.14.0 | cut -d'.' -f3) + PACKAGE_VERSION_MAJOR=$(echo 1.14.1 | cut -d'.' -f1) + PACKAGE_VERSION_MINOR=$(echo 1.14.1 | cut -d'.' -f2) + PACKAGE_VERSION_MICRO=$(echo 1.14.1 | cut -d'.' -f3) @@ -4568,7 +4568,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5 $as_echo_n "checking nano version... " >&6; } - NANO=$(echo 1.14.0 | cut -d'.' -f4) + NANO=$(echo 1.14.1 | cut -d'.' -f4) if test x"$NANO" = x || test "x$NANO" = "x0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5 @@ -9411,10 +9411,10 @@ fi done - GST_CURRENT=1400 + GST_CURRENT=1401 GST_REVISION=0 - GST_AGE=1400 - GST_LIBVERSION=1400:0:1400 + GST_AGE=1401 + GST_LIBVERSION=1401:0:1401 @@ -14042,8 +14042,8 @@ CC=$lt_save_CC -GST_REQ=1.14.0 -GSTPB_REQ=1.14.0 +GST_REQ=1.14.1 +GSTPB_REQ=1.14.1 @@ -31459,15 +31459,16 @@ fi fi fi +default_v4l2_probe=no case $host in #( *-*linux*) : case $host_cpu in #( arm*) : - enable_v4l2_probe="yes" ;; #( + default_v4l2_probe=yes ;; #( aarch64*) : - enable_v4l2_probe="yes" ;; #( + default_v4l2_probe=yes ;; #( *) : ;; esac ;; #( @@ -31477,6 +31478,8 @@ esac # Check whether --enable-v4l2-probe was given. if test "${enable_v4l2_probe+set}" = set; then : enableval=$enable_v4l2_probe; +else + enable_v4l2_probe=$default_v4l2_probe fi if test "x$enable_v4l2_probe" = "xyes"; then @@ -35928,6 +35931,9 @@ $as_echo "$as_me: WARNING: One of the required qt build programs was not found" QT_CFLAGS="$QT_CFLAGS -I$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH" HAVE_QT_QPA_HEADER="yes" +$as_echo "#define HAVE_QT_QPA_HEADER /**/" >>confdefs.h + + else { $as_echo "$as_me:${as_lineno-$LINENO}: Cannot find QPA" >&5 $as_echo "$as_me: Cannot find QPA" >&6;} @@ -39890,7 +39896,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GStreamer Good Plug-ins $as_me 1.14.0, which was +This file was extended by GStreamer Good Plug-ins $as_me 1.14.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -39956,7 +39962,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GStreamer Good Plug-ins config.status 1.14.0 +GStreamer Good Plug-ins config.status 1.14.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 17717f0e3..890601426 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file dnl initialize autoconf dnl releases only do -Wall, git and prerelease does -Werror too dnl use a three digit version number for releases, and four for git/pre -AC_INIT([GStreamer Good Plug-ins],[1.14.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) +AC_INIT([GStreamer Good Plug-ins],[1.14.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-good]) AG_GST_INIT @@ -46,11 +46,11 @@ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION", [GStreamer API Version]) AG_GST_LIBTOOL_PREPARE -AS_LIBTOOL(GST, 1400, 0, 1400) +AS_LIBTOOL(GST, 1401, 0, 1401) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.14.0 -GSTPB_REQ=1.14.0 +GST_REQ=1.14.1 +GSTPB_REQ=1.14.1 dnl *** autotools stuff **** @@ -598,18 +598,20 @@ if test x$HAVE_GST_V4L2 = xyes; then fi dnl Allow enabling v4l2 device probing +default_v4l2_probe=no AS_CASE([$host], [*-*linux*], [AS_CASE([$host_cpu], [arm*], [ - enable_v4l2_probe="yes"], + default_v4l2_probe=yes], [aarch64*], [ - enable_v4l2_probe="yes"])]) + default_v4l2_probe=yes])]) AC_ARG_ENABLE( v4l2-probe, AC_HELP_STRING( [--enable-v4l2-probe], - [enable V4L2 plugin to probe devices @<:@default=no@:>@])) + [enable V4L2 plugin to probe devices]), + [], [enable_v4l2_probe=$default_v4l2_probe]) if test "x$enable_v4l2_probe" = "xyes"; then AC_DEFINE(GST_V4L2_ENABLE_PROBE, 1, [Define if Video4Linux probe shall be run at plugin load]) @@ -892,6 +894,7 @@ AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [ AS_IF([test -f "$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"], [ QT_CFLAGS="$QT_CFLAGS -I$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH" HAVE_QT_QPA_HEADER="yes" + AC_DEFINE([HAVE_QT_QPA_HEADER], [], [Define if the Qt QPA header is installed]) ], [AC_MSG_NOTICE([Cannot find QPA])]) if test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_GLX" = "x1" || test "x$GST_GL_HAVE_WINDOW_X11" = "x1" -a "x$GST_GL_HAVE_PLATFORM_EGL" = "x1"; then PKG_CHECK_MODULES(QT_X11, Qt5X11Extras, [ diff --git a/docs/plugins/gst-plugins-good-plugins.args b/docs/plugins/gst-plugins-good-plugins.args index 6f56076df..eada643a8 100644 --- a/docs/plugins/gst-plugins-good-plugins.args +++ b/docs/plugins/gst-plugins-good-plugins.args @@ -1015,7 +1015,7 @@ <FLAGS>rw</FLAGS> <NICK>User Agent</NICK> <BLURB>The User-Agent string to send to the server.</BLURB> -<DEFAULT>"GStreamer/1.14.0"</DEFAULT> +<DEFAULT>"GStreamer/1.14.1"</DEFAULT> </ARG> <ARG> @@ -3535,7 +3535,7 @@ <FLAGS>rw</FLAGS> <NICK>User-Agent</NICK> <BLURB>Value of the User-Agent HTTP request header field.</BLURB> -<DEFAULT>"GStreamer souphttpsrc 1.14.0 "</DEFAULT> +<DEFAULT>"GStreamer souphttpsrc 1.14.1 "</DEFAULT> </ARG> <ARG> diff --git a/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html b/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html index 01ff6c0cc..122288b8c 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-jpegenc.html @@ -182,7 +182,7 @@ avi. </tr> <tr> <td><p><span class="term">details</span></p></td> -<td>image/jpeg, width=(int)[ 16, 65535 ], height=(int)[ 16, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ], sof-marker=(int){ 0, 1, 2, 9 }</td> +<td>image/jpeg, width=(int)[ 16, 65535 ], height=(int)[ 16, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ], sof-marker=(int){ 0, 1, 2, 4, 9 }</td> </tr> </tbody> </table></div> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html index 9a1f33983..6b251570e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-1394.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html index a1803387e..a52c41fe7 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-aasink.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html index f1b6eb735..918c06322 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alaw.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html index 4be8a3e67..8efd77416 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alpha.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html index fd9a12cd3..778e0d39b 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-alphacolor.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html index 44c4da245..087634ec1 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-apetag.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html index 62e96c78f..84e381d7e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audiofx.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html index 0b6856a68..1c9c7429d 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-audioparsers.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html index 612cc96bf..42e8a3295 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-auparse.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html index dab8c5134..2c3e01d98 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-autodetect.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html index c6d74089f..e13656d71 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-avi.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html index 2bf309ffa..61033f1f7 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cacasink.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html index 7b865b80c..8d980a733 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cairo.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html index e5e193729..d1fc8f426 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-cutter.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html index 5c308c2ed..1872ac2e4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-debug.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html index 65c231144..ff51f78e4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-deinterlace.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html index 6d006ae63..373c4a003 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dtmf.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html index 550d0acec..e3007f758 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-dv.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html index 02fa17811..2689a03f3 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-effectv.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html index 61ca451ac..4bebb0288 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-equalizer.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html index 7cba66224..2c4f6eb7d 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flac.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html index abb5e6148..12a1eb9f3 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flv.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html index 04b4c91d5..79427f155 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-flxdec.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html index e7a3816a2..39827e758 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gdkpixbuf.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html index 3047e5816..52819348d 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html index 8472c9c37..d2ab9dd02 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-goom2k1.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-gtk.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-gtk.html index e90fa9922..25b830761 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-gtk.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-gtk.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html index 80604adcf..52107ecd5 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-icydemux.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html index 131ee84c7..9643b343f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-id3demux.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html index 9d6d95bdc..304ccc859 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-imagefreeze.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html index 6b5912312..207a97b8e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-interleave.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html index e5bdae089..37f483bf4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-isomp4.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html index 9ff0b6e72..77a029776 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jack.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html index 6029fb40a..ac4a46e58 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-jpeg.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-lame.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-lame.html index 70c696dbf..2ebc88754 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-lame.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-lame.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html index a7e60b276..c8f255644 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-level.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html index 4dcf3c7ec..b07c35d59 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-matroska.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mpg123.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mpg123.html index 7367d7c91..7a836fbd0 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mpg123.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mpg123.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html index 55683c048..a5717878e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-mulaw.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html index 1bb5f41a3..81bfed64e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multifile.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html index 3b837fe8a..d37169d05 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-multipart.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html index 39ad18307..4575413a2 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-navigationtest.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html index e9acec4bd..8420a88b2 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-oss4.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html index 1d3ea9db0..c98882ca0 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ossaudio.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html index 5f44a542b..04e652318 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-png.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html index 2d4fb4fc4..3ecd89786 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-pulseaudio.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-qmlgl.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-qmlgl.html index e8c7fdd2e..a64f553bd 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-qmlgl.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-qmlgl.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html index beda17bea..b303b3ad7 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-replaygain.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html index b7422137e..ea4a0773a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtp.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html index 74639f01b..c992b2e5e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtpmanager.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html index 618a43296..1559569ac 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-rtsp.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html index c56cfbb45..17c4ea661 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shapewipe.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2.html index 94609be7c..c2fc78f31 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-shout2.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html index 9fcf4c5de..d5e5d38f0 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-smpte.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html index bb050f4f9..3d75a8929 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-soup.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html index 52804d1a0..3538ac45e 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-spectrum.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html index 766d93bb9..e769c558f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-speex.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html index 22c475359..7236347da 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-taglib.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-twolame.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-twolame.html index f0ada6886..301d1c0ea 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-twolame.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-twolame.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html index abd404101..e83a75b7c 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-udp.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html index 2253d6c1b..a70caea9a 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-video4linux2.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html index 068b6b506..fd3af0db1 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videobox.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html index a21383e55..a972d6e94 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videocrop.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html index 8fb190be6..09e080196 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videofilter.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html index d9336e712..d5798aa71 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-videomixer.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html index dd60a5930..1caaad15f 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-vpx.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html index ddce85fe3..60601041d 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavenc.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html index 214c42509..e81ce737d 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavpack.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html index af329005d..3c4b09755 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-wavparse.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html index c514d8fc0..410c38ec3 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-ximagesrc.html @@ -42,7 +42,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html index cc9f911f6..cc1267ff3 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-plugin-y4menc.html @@ -41,7 +41,7 @@ </tr> <tr> <td><p><span class="term">version</span></p></td> -<td>1.14.0</td> +<td>1.14.1</td> </tr> <tr> <td><p><span class="term">run-time license</span></p></td> diff --git a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html index 4267b3a30..6722120b4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-qtmux.html +++ b/docs/plugins/html/gst-plugins-good-plugins-qtmux.html @@ -204,8 +204,18 @@ for some reason the default is not large enough and the initial reserved space for headers is too small. Applications can monitor the <span class="type">“reserved-duration-remainingâ€</span> property to see how close to full the reserved space is becoming.</p> +<p>Applications that wish to be able to use/edit a file while it is being +written to by live content, can use the "Robust Prefill Muxing" mode. That +mode is a variant of the "Robust Muxing" mode in that it will pre-allocate a +completely valid header from the start for all tracks (i.e. it appears as +though the file is "reserved-max-duration" long with all samples +present). This mode can be enabled by setting the +<span class="type">“reserved-moov-update-periodâ€</span> and <span class="type">“reserved-prefillâ€</span> +properties. Note that this mode is only possible with input streams that have +a fixed sample size (such as raw audio and Prores Video) and that don't +have reordered samples.</p> <div class="refsect2"> -<a name="id-1.2.123.8.9"></a><h3>Example pipelines</h3> +<a name="id-1.2.123.8.10"></a><h3>Example pipelines</h3> <div class="informalexample"> <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> <tbody> @@ -222,7 +232,7 @@ Records a video stream captured from a v4l2 device and muxes it into a qt file. <div class="refsynopsisdiv"> <h2>Synopsis</h2> <div class="refsect2"> -<a name="id-1.2.123.8.10.1"></a><h3>Element Information</h3> +<a name="id-1.2.123.8.11.1"></a><h3>Element Information</h3> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> @@ -248,7 +258,7 @@ Records a video stream captured from a v4l2 device and muxes it into a qt file. </div> <hr> <div class="refsect2"> -<a name="id-1.2.123.8.10.2"></a><h3>Element Pads</h3> +<a name="id-1.2.123.8.11.2"></a><h3>Element Pads</h3> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> diff --git a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html index 1a086ea68..16642f4d4 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-rtspsrc.html @@ -728,7 +728,7 @@ keep alive and then this property needs to be set to FALSE.</p> <pre class="programlisting"> “user-agent†<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> <p>The User-Agent string to send to the server.</p> <p>Flags: Read / Write</p> -<p>Default value: "GStreamer/1.14.0"</p> +<p>Default value: "GStreamer/1.14.1"</p> </div> <hr> <div class="refsect2"> diff --git a/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html b/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html index 5b6924766..19f05d6da 100644 --- a/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html +++ b/docs/plugins/html/gst-plugins-good-plugins-souphttpsrc.html @@ -397,7 +397,7 @@ multiplexer to timestamp the frames in the resulting file. <pre class="programlisting"> “user-agent†<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre> <p>Value of the User-Agent HTTP request header field.</p> <p>Flags: Read / Write</p> -<p>Default value: "GStreamer souphttpsrc 1.14.0 "</p> +<p>Default value: "GStreamer souphttpsrc 1.14.1 "</p> </div> <hr> <div class="refsect2"> diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html index f6600af81..4a089584f 100644 --- a/docs/plugins/html/index.html +++ b/docs/plugins/html/index.html @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Good Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - for GStreamer Good Plugins 1.0 (1.14.0) + for GStreamer Good Plugins 1.0 (1.14.1) The latest version of this documentation can be found on-line at <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good/html/</a>. </p></div> diff --git a/docs/plugins/inspect/plugin-1394.xml b/docs/plugins/inspect/plugin-1394.xml index e8bdb2798..addf10951 100644 --- a/docs/plugins/inspect/plugin-1394.xml +++ b/docs/plugins/inspect/plugin-1394.xml @@ -3,7 +3,7 @@ <description>Source for video data via IEEE1394 interface</description> <filename>../../ext/raw1394/.libs/libgst1394.so</filename> <basename>libgst1394.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-aasink.xml b/docs/plugins/inspect/plugin-aasink.xml index fc60fa380..c5aa9d836 100644 --- a/docs/plugins/inspect/plugin-aasink.xml +++ b/docs/plugins/inspect/plugin-aasink.xml @@ -3,7 +3,7 @@ <description>ASCII Art video sink</description> <filename>../../ext/aalib/.libs/libgstaasink.so</filename> <basename>libgstaasink.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-alaw.xml b/docs/plugins/inspect/plugin-alaw.xml index b83a4d749..516982d06 100644 --- a/docs/plugins/inspect/plugin-alaw.xml +++ b/docs/plugins/inspect/plugin-alaw.xml @@ -3,7 +3,7 @@ <description>ALaw audio conversion routines</description> <filename>../../gst/law/.libs/libgstalaw.so</filename> <basename>libgstalaw.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-alpha.xml b/docs/plugins/inspect/plugin-alpha.xml index 53abf96dd..b4105f07b 100644 --- a/docs/plugins/inspect/plugin-alpha.xml +++ b/docs/plugins/inspect/plugin-alpha.xml @@ -3,7 +3,7 @@ <description>adds an alpha channel to video - constant or via chroma-keying</description> <filename>../../gst/alpha/.libs/libgstalpha.so</filename> <basename>libgstalpha.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml index 122d2e3ad..221295528 100644 --- a/docs/plugins/inspect/plugin-alphacolor.xml +++ b/docs/plugins/inspect/plugin-alphacolor.xml @@ -3,7 +3,7 @@ <description>RGBA from/to AYUV colorspace conversion preserving the alpha channel</description> <filename>../../gst/alpha/.libs/libgstalphacolor.so</filename> <basename>libgstalphacolor.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-apetag.xml b/docs/plugins/inspect/plugin-apetag.xml index b5938d297..9153a1334 100644 --- a/docs/plugins/inspect/plugin-apetag.xml +++ b/docs/plugins/inspect/plugin-apetag.xml @@ -3,7 +3,7 @@ <description>APEv1/2 tag reader</description> <filename>../../gst/apetag/.libs/libgstapetag.so</filename> <basename>libgstapetag.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-audiofx.xml b/docs/plugins/inspect/plugin-audiofx.xml index 70d266915..3321101d7 100644 --- a/docs/plugins/inspect/plugin-audiofx.xml +++ b/docs/plugins/inspect/plugin-audiofx.xml @@ -3,7 +3,7 @@ <description>Audio effects plugin</description> <filename>../../gst/audiofx/.libs/libgstaudiofx.so</filename> <basename>libgstaudiofx.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-audioparsers.xml b/docs/plugins/inspect/plugin-audioparsers.xml index 539da736c..79ebe60cb 100644 --- a/docs/plugins/inspect/plugin-audioparsers.xml +++ b/docs/plugins/inspect/plugin-audioparsers.xml @@ -3,7 +3,7 @@ <description>Parsers for various audio formats</description> <filename>../../gst/audioparsers/.libs/libgstaudioparsers.so</filename> <basename>libgstaudioparsers.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-auparse.xml b/docs/plugins/inspect/plugin-auparse.xml index c6b237033..11044a0bb 100644 --- a/docs/plugins/inspect/plugin-auparse.xml +++ b/docs/plugins/inspect/plugin-auparse.xml @@ -3,7 +3,7 @@ <description>parses au streams</description> <filename>../../gst/auparse/.libs/libgstauparse.so</filename> <basename>libgstauparse.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-autodetect.xml b/docs/plugins/inspect/plugin-autodetect.xml index eabe8eeb5..9339465b4 100644 --- a/docs/plugins/inspect/plugin-autodetect.xml +++ b/docs/plugins/inspect/plugin-autodetect.xml @@ -3,7 +3,7 @@ <description>Plugin contains auto-detection plugins for video/audio in- and outputs</description> <filename>../../gst/autodetect/.libs/libgstautodetect.so</filename> <basename>libgstautodetect.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-avi.xml b/docs/plugins/inspect/plugin-avi.xml index 876db7d02..b9775b33b 100644 --- a/docs/plugins/inspect/plugin-avi.xml +++ b/docs/plugins/inspect/plugin-avi.xml @@ -3,7 +3,7 @@ <description>AVI stream handling</description> <filename>../../gst/avi/.libs/libgstavi.so</filename> <basename>libgstavi.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-cacasink.xml b/docs/plugins/inspect/plugin-cacasink.xml index 9b9dcf055..b1bcec68c 100644 --- a/docs/plugins/inspect/plugin-cacasink.xml +++ b/docs/plugins/inspect/plugin-cacasink.xml @@ -3,7 +3,7 @@ <description>Colored ASCII Art video sink</description> <filename>../../ext/libcaca/.libs/libgstcacasink.so</filename> <basename>libgstcacasink.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-cairo.xml b/docs/plugins/inspect/plugin-cairo.xml index 1ab6b4411..996289a73 100644 --- a/docs/plugins/inspect/plugin-cairo.xml +++ b/docs/plugins/inspect/plugin-cairo.xml @@ -3,7 +3,7 @@ <description>Cairo-based elements</description> <filename>../../ext/cairo/.libs/libgstcairo.so</filename> <basename>libgstcairo.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-cutter.xml b/docs/plugins/inspect/plugin-cutter.xml index ccf857558..db28a76ad 100644 --- a/docs/plugins/inspect/plugin-cutter.xml +++ b/docs/plugins/inspect/plugin-cutter.xml @@ -3,7 +3,7 @@ <description>Audio Cutter to split audio into non-silent bits</description> <filename>../../gst/cutter/.libs/libgstcutter.so</filename> <basename>libgstcutter.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-debug.xml b/docs/plugins/inspect/plugin-debug.xml index 846cf28b1..c990b49c7 100644 --- a/docs/plugins/inspect/plugin-debug.xml +++ b/docs/plugins/inspect/plugin-debug.xml @@ -3,7 +3,7 @@ <description>elements for testing and debugging</description> <filename>../../gst/debugutils/.libs/libgstdebug.so</filename> <basename>libgstdebug.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-deinterlace.xml b/docs/plugins/inspect/plugin-deinterlace.xml index f7689b724..7f162fe3c 100644 --- a/docs/plugins/inspect/plugin-deinterlace.xml +++ b/docs/plugins/inspect/plugin-deinterlace.xml @@ -3,7 +3,7 @@ <description>Deinterlacer</description> <filename>../../gst/deinterlace/.libs/libgstdeinterlace.so</filename> <basename>libgstdeinterlace.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml index 269756355..0b6f0d815 100644 --- a/docs/plugins/inspect/plugin-dtmf.xml +++ b/docs/plugins/inspect/plugin-dtmf.xml @@ -3,7 +3,7 @@ <description>DTMF plugins</description> <filename>../../gst/dtmf/.libs/libgstdtmf.so</filename> <basename>libgstdtmf.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-dv.xml b/docs/plugins/inspect/plugin-dv.xml index e46db8cf4..5f77e2962 100644 --- a/docs/plugins/inspect/plugin-dv.xml +++ b/docs/plugins/inspect/plugin-dv.xml @@ -3,7 +3,7 @@ <description>DV demuxer and decoder based on libdv (libdv.sf.net)</description> <filename>../../ext/dv/.libs/libgstdv.so</filename> <basename>libgstdv.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-effectv.xml b/docs/plugins/inspect/plugin-effectv.xml index 72cd052f1..53af6f7ca 100644 --- a/docs/plugins/inspect/plugin-effectv.xml +++ b/docs/plugins/inspect/plugin-effectv.xml @@ -3,7 +3,7 @@ <description>effect plugins from the effectv project</description> <filename>../../gst/effectv/.libs/libgsteffectv.so</filename> <basename>libgsteffectv.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-equalizer.xml b/docs/plugins/inspect/plugin-equalizer.xml index 0eb114241..792731b8c 100644 --- a/docs/plugins/inspect/plugin-equalizer.xml +++ b/docs/plugins/inspect/plugin-equalizer.xml @@ -3,7 +3,7 @@ <description>GStreamer audio equalizers</description> <filename>../../gst/equalizer/.libs/libgstequalizer.so</filename> <basename>libgstequalizer.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-flac.xml b/docs/plugins/inspect/plugin-flac.xml index b4e46cf12..e7830b8ba 100644 --- a/docs/plugins/inspect/plugin-flac.xml +++ b/docs/plugins/inspect/plugin-flac.xml @@ -3,7 +3,7 @@ <description>The FLAC Lossless compressor Codec</description> <filename>../../ext/flac/.libs/libgstflac.so</filename> <basename>libgstflac.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-flv.xml b/docs/plugins/inspect/plugin-flv.xml index 23988ed85..955a9e76f 100644 --- a/docs/plugins/inspect/plugin-flv.xml +++ b/docs/plugins/inspect/plugin-flv.xml @@ -3,7 +3,7 @@ <description>FLV muxing and demuxing plugin</description> <filename>../../gst/flv/.libs/libgstflv.so</filename> <basename>libgstflv.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-flxdec.xml b/docs/plugins/inspect/plugin-flxdec.xml index 38e68ca7b..19fe0236e 100644 --- a/docs/plugins/inspect/plugin-flxdec.xml +++ b/docs/plugins/inspect/plugin-flxdec.xml @@ -3,7 +3,7 @@ <description>FLC/FLI/FLX video decoder</description> <filename>../../gst/flx/.libs/libgstflxdec.so</filename> <basename>libgstflxdec.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-gdkpixbuf.xml b/docs/plugins/inspect/plugin-gdkpixbuf.xml index fdbc7e401..d47d31788 100644 --- a/docs/plugins/inspect/plugin-gdkpixbuf.xml +++ b/docs/plugins/inspect/plugin-gdkpixbuf.xml @@ -3,7 +3,7 @@ <description>GdkPixbuf-based image decoder, overlay and sink</description> <filename>../../ext/gdk_pixbuf/.libs/libgstgdkpixbuf.so</filename> <basename>libgstgdkpixbuf.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-goom.xml b/docs/plugins/inspect/plugin-goom.xml index 0363b75aa..efcfd9113 100644 --- a/docs/plugins/inspect/plugin-goom.xml +++ b/docs/plugins/inspect/plugin-goom.xml @@ -3,7 +3,7 @@ <description>GOOM visualization filter</description> <filename>../../gst/goom/.libs/libgstgoom.so</filename> <basename>libgstgoom.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-goom2k1.xml b/docs/plugins/inspect/plugin-goom2k1.xml index 5cfcedd17..daadcb0f8 100644 --- a/docs/plugins/inspect/plugin-goom2k1.xml +++ b/docs/plugins/inspect/plugin-goom2k1.xml @@ -3,7 +3,7 @@ <description>GOOM 2k1 visualization filter</description> <filename>../../gst/goom2k1/.libs/libgstgoom2k1.so</filename> <basename>libgstgoom2k1.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-gtk.xml b/docs/plugins/inspect/plugin-gtk.xml index 2e94fc19e..837fa7d56 100644 --- a/docs/plugins/inspect/plugin-gtk.xml +++ b/docs/plugins/inspect/plugin-gtk.xml @@ -3,7 +3,7 @@ <description>Gtk+ sink</description> <filename>../../ext/gtk/.libs/libgstgtk.so</filename> <basename>libgstgtk.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-icydemux.xml b/docs/plugins/inspect/plugin-icydemux.xml index 7d339db11..9824d22e3 100644 --- a/docs/plugins/inspect/plugin-icydemux.xml +++ b/docs/plugins/inspect/plugin-icydemux.xml @@ -3,7 +3,7 @@ <description>Demux ICY tags from a stream</description> <filename>../../gst/icydemux/.libs/libgsticydemux.so</filename> <basename>libgsticydemux.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-id3demux.xml b/docs/plugins/inspect/plugin-id3demux.xml index a3e0d161d..71f2affbc 100644 --- a/docs/plugins/inspect/plugin-id3demux.xml +++ b/docs/plugins/inspect/plugin-id3demux.xml @@ -3,7 +3,7 @@ <description>Demux ID3v1 and ID3v2 tags from a file</description> <filename>../../gst/id3demux/.libs/libgstid3demux.so</filename> <basename>libgstid3demux.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-imagefreeze.xml b/docs/plugins/inspect/plugin-imagefreeze.xml index 4a7787c6d..41111ac77 100644 --- a/docs/plugins/inspect/plugin-imagefreeze.xml +++ b/docs/plugins/inspect/plugin-imagefreeze.xml @@ -3,7 +3,7 @@ <description>Still frame stream generator</description> <filename>../../gst/imagefreeze/.libs/libgstimagefreeze.so</filename> <basename>libgstimagefreeze.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-interleave.xml b/docs/plugins/inspect/plugin-interleave.xml index ee4f9f4ed..881640e1c 100644 --- a/docs/plugins/inspect/plugin-interleave.xml +++ b/docs/plugins/inspect/plugin-interleave.xml @@ -3,7 +3,7 @@ <description>Audio interleaver/deinterleaver</description> <filename>../../gst/interleave/.libs/libgstinterleave.so</filename> <basename>libgstinterleave.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-isomp4.xml b/docs/plugins/inspect/plugin-isomp4.xml index 3f257526c..af691fb54 100644 --- a/docs/plugins/inspect/plugin-isomp4.xml +++ b/docs/plugins/inspect/plugin-isomp4.xml @@ -3,7 +3,7 @@ <description>ISO base media file format support (mp4, 3gpp, qt, mj2)</description> <filename>../../gst/isomp4/.libs/libgstisomp4.so</filename> <basename>libgstisomp4.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-jack.xml b/docs/plugins/inspect/plugin-jack.xml index f7b0ed68b..fb5506e53 100644 --- a/docs/plugins/inspect/plugin-jack.xml +++ b/docs/plugins/inspect/plugin-jack.xml @@ -3,7 +3,7 @@ <description>JACK audio elements</description> <filename>../../ext/jack/.libs/libgstjack.so</filename> <basename>libgstjack.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-jpeg.xml b/docs/plugins/inspect/plugin-jpeg.xml index 663bd8478..dd829a80f 100644 --- a/docs/plugins/inspect/plugin-jpeg.xml +++ b/docs/plugins/inspect/plugin-jpeg.xml @@ -3,7 +3,7 @@ <description>JPeg plugin library</description> <filename>../../ext/jpeg/.libs/libgstjpeg.so</filename> <basename>libgstjpeg.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> @@ -47,7 +47,7 @@ <name>src</name> <direction>source</direction> <presence>always</presence> - <details>image/jpeg, width=(int)[ 16, 65535 ], height=(int)[ 16, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ], sof-marker=(int){ 0, 1, 2, 9 }</details> + <details>image/jpeg, width=(int)[ 16, 65535 ], height=(int)[ 16, 65535 ], framerate=(fraction)[ 0/1, 2147483647/1 ], sof-marker=(int){ 0, 1, 2, 4, 9 }</details> </caps> </pads> </element> diff --git a/docs/plugins/inspect/plugin-lame.xml b/docs/plugins/inspect/plugin-lame.xml index 1491c3584..3a2589027 100644 --- a/docs/plugins/inspect/plugin-lame.xml +++ b/docs/plugins/inspect/plugin-lame.xml @@ -3,7 +3,7 @@ <description>Encode MP3s with LAME</description> <filename>../../ext/lame/.libs/libgstlame.so</filename> <basename>libgstlame.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-level.xml b/docs/plugins/inspect/plugin-level.xml index 8df87d2e7..b503476a3 100644 --- a/docs/plugins/inspect/plugin-level.xml +++ b/docs/plugins/inspect/plugin-level.xml @@ -3,7 +3,7 @@ <description>Audio level plugin</description> <filename>../../gst/level/.libs/libgstlevel.so</filename> <basename>libgstlevel.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-matroska.xml b/docs/plugins/inspect/plugin-matroska.xml index c94a604a3..e598a53f2 100644 --- a/docs/plugins/inspect/plugin-matroska.xml +++ b/docs/plugins/inspect/plugin-matroska.xml @@ -3,7 +3,7 @@ <description>Matroska and WebM stream handling</description> <filename>../../gst/matroska/.libs/libgstmatroska.so</filename> <basename>libgstmatroska.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml index e8c8b4cf7..4826da9b1 100644 --- a/docs/plugins/inspect/plugin-mpg123.xml +++ b/docs/plugins/inspect/plugin-mpg123.xml @@ -3,7 +3,7 @@ <description>mp3 decoding based on the mpg123 library</description> <filename>../../ext/mpg123/.libs/libgstmpg123.so</filename> <basename>libgstmpg123.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-mulaw.xml b/docs/plugins/inspect/plugin-mulaw.xml index 34f8b7c9a..8d24ce95b 100644 --- a/docs/plugins/inspect/plugin-mulaw.xml +++ b/docs/plugins/inspect/plugin-mulaw.xml @@ -3,7 +3,7 @@ <description>MuLaw audio conversion routines</description> <filename>../../gst/law/.libs/libgstmulaw.so</filename> <basename>libgstmulaw.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-multifile.xml b/docs/plugins/inspect/plugin-multifile.xml index d8e4c68e1..01fd2d73b 100644 --- a/docs/plugins/inspect/plugin-multifile.xml +++ b/docs/plugins/inspect/plugin-multifile.xml @@ -3,7 +3,7 @@ <description>Reads/Writes buffers from/to sequentially named files</description> <filename>../../gst/multifile/.libs/libgstmultifile.so</filename> <basename>libgstmultifile.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-multipart.xml b/docs/plugins/inspect/plugin-multipart.xml index 2c2b97803..02c2095e9 100644 --- a/docs/plugins/inspect/plugin-multipart.xml +++ b/docs/plugins/inspect/plugin-multipart.xml @@ -3,7 +3,7 @@ <description>multipart stream manipulation</description> <filename>../../gst/multipart/.libs/libgstmultipart.so</filename> <basename>libgstmultipart.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-navigationtest.xml b/docs/plugins/inspect/plugin-navigationtest.xml index 0a17ec634..63e5e3af6 100644 --- a/docs/plugins/inspect/plugin-navigationtest.xml +++ b/docs/plugins/inspect/plugin-navigationtest.xml @@ -3,7 +3,7 @@ <description>Template for a video filter</description> <filename>../../gst/debugutils/.libs/libgstnavigationtest.so</filename> <basename>libgstnavigationtest.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-oss4.xml b/docs/plugins/inspect/plugin-oss4.xml index e8306aa94..da023f3ac 100644 --- a/docs/plugins/inspect/plugin-oss4.xml +++ b/docs/plugins/inspect/plugin-oss4.xml @@ -3,7 +3,7 @@ <description>Open Sound System (OSS) version 4 support for GStreamer</description> <filename>../../sys/oss4/.libs/libgstoss4.so</filename> <basename>libgstoss4.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-ossaudio.xml b/docs/plugins/inspect/plugin-ossaudio.xml index 8781a942a..b9841a2c2 100644 --- a/docs/plugins/inspect/plugin-ossaudio.xml +++ b/docs/plugins/inspect/plugin-ossaudio.xml @@ -3,7 +3,7 @@ <description>OSS (Open Sound System) support for GStreamer</description> <filename>../../sys/oss/.libs/libgstossaudio.so</filename> <basename>libgstossaudio.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-png.xml b/docs/plugins/inspect/plugin-png.xml index 77aac2b00..f1353d6b7 100644 --- a/docs/plugins/inspect/plugin-png.xml +++ b/docs/plugins/inspect/plugin-png.xml @@ -3,7 +3,7 @@ <description>PNG plugin library</description> <filename>../../ext/libpng/.libs/libgstpng.so</filename> <basename>libgstpng.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-pulseaudio.xml b/docs/plugins/inspect/plugin-pulseaudio.xml index 3e65d4e97..6381c29ec 100644 --- a/docs/plugins/inspect/plugin-pulseaudio.xml +++ b/docs/plugins/inspect/plugin-pulseaudio.xml @@ -3,7 +3,7 @@ <description>PulseAudio plugin library</description> <filename>../../ext/pulse/.libs/libgstpulseaudio.so</filename> <basename>libgstpulseaudio.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-qmlgl.xml b/docs/plugins/inspect/plugin-qmlgl.xml index bbf736c57..fe278c4f0 100644 --- a/docs/plugins/inspect/plugin-qmlgl.xml +++ b/docs/plugins/inspect/plugin-qmlgl.xml @@ -3,7 +3,7 @@ <description>Qt gl plugin</description> <filename>../../ext/qt/.libs/libgstqmlgl.so</filename> <basename>libgstqmlgl.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-replaygain.xml b/docs/plugins/inspect/plugin-replaygain.xml index 3eb3b8a96..730b2d443 100644 --- a/docs/plugins/inspect/plugin-replaygain.xml +++ b/docs/plugins/inspect/plugin-replaygain.xml @@ -3,7 +3,7 @@ <description>ReplayGain volume normalization</description> <filename>../../gst/replaygain/.libs/libgstreplaygain.so</filename> <basename>libgstreplaygain.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-rtp.xml b/docs/plugins/inspect/plugin-rtp.xml index 7f7c0f925..00e970163 100644 --- a/docs/plugins/inspect/plugin-rtp.xml +++ b/docs/plugins/inspect/plugin-rtp.xml @@ -3,7 +3,7 @@ <description>Real-time protocol plugins</description> <filename>../../gst/rtp/.libs/libgstrtp.so</filename> <basename>libgstrtp.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-rtpmanager.xml b/docs/plugins/inspect/plugin-rtpmanager.xml index d0d8a1c05..b3641ddb8 100644 --- a/docs/plugins/inspect/plugin-rtpmanager.xml +++ b/docs/plugins/inspect/plugin-rtpmanager.xml @@ -3,7 +3,7 @@ <description>RTP session management plugin library</description> <filename>../../gst/rtpmanager/.libs/libgstrtpmanager.so</filename> <basename>libgstrtpmanager.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-rtsp.xml b/docs/plugins/inspect/plugin-rtsp.xml index 561d65519..131fe34d3 100644 --- a/docs/plugins/inspect/plugin-rtsp.xml +++ b/docs/plugins/inspect/plugin-rtsp.xml @@ -3,7 +3,7 @@ <description>transfer data via RTSP</description> <filename>../../gst/rtsp/.libs/libgstrtsp.so</filename> <basename>libgstrtsp.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-shapewipe.xml b/docs/plugins/inspect/plugin-shapewipe.xml index 3afd0ec54..0c79a0d3a 100644 --- a/docs/plugins/inspect/plugin-shapewipe.xml +++ b/docs/plugins/inspect/plugin-shapewipe.xml @@ -3,7 +3,7 @@ <description>Shape Wipe transition filter</description> <filename>../../gst/shapewipe/.libs/libgstshapewipe.so</filename> <basename>libgstshapewipe.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-shout2.xml b/docs/plugins/inspect/plugin-shout2.xml index 273e4f54f..ab2188b7d 100644 --- a/docs/plugins/inspect/plugin-shout2.xml +++ b/docs/plugins/inspect/plugin-shout2.xml @@ -3,7 +3,7 @@ <description>Sends data to an icecast server using libshout2</description> <filename>../../ext/shout2/.libs/libgstshout2.so</filename> <basename>libgstshout2.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-smpte.xml b/docs/plugins/inspect/plugin-smpte.xml index bc2fb4ebd..ad179b831 100644 --- a/docs/plugins/inspect/plugin-smpte.xml +++ b/docs/plugins/inspect/plugin-smpte.xml @@ -3,7 +3,7 @@ <description>Apply the standard SMPTE transitions on video images</description> <filename>../../gst/smpte/.libs/libgstsmpte.so</filename> <basename>libgstsmpte.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-soup.xml b/docs/plugins/inspect/plugin-soup.xml index 372e2604c..d5be038e1 100644 --- a/docs/plugins/inspect/plugin-soup.xml +++ b/docs/plugins/inspect/plugin-soup.xml @@ -3,7 +3,7 @@ <description>libsoup HTTP client src/sink</description> <filename>../../ext/soup/.libs/libgstsoup.so</filename> <basename>libgstsoup.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-spectrum.xml b/docs/plugins/inspect/plugin-spectrum.xml index 785766bef..902ff9dc1 100644 --- a/docs/plugins/inspect/plugin-spectrum.xml +++ b/docs/plugins/inspect/plugin-spectrum.xml @@ -3,7 +3,7 @@ <description>Run an FFT on the audio signal, output spectrum data</description> <filename>../../gst/spectrum/.libs/libgstspectrum.so</filename> <basename>libgstspectrum.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-speex.xml b/docs/plugins/inspect/plugin-speex.xml index 6e0b890fb..96c8855c6 100644 --- a/docs/plugins/inspect/plugin-speex.xml +++ b/docs/plugins/inspect/plugin-speex.xml @@ -3,7 +3,7 @@ <description>Speex plugin library</description> <filename>../../ext/speex/.libs/libgstspeex.so</filename> <basename>libgstspeex.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-taglib.xml b/docs/plugins/inspect/plugin-taglib.xml index a14bb5c45..1345047bb 100644 --- a/docs/plugins/inspect/plugin-taglib.xml +++ b/docs/plugins/inspect/plugin-taglib.xml @@ -3,7 +3,7 @@ <description>Tag writing plug-in based on taglib</description> <filename>../../ext/taglib/.libs/libgsttaglib.so</filename> <basename>libgsttaglib.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-twolame.xml b/docs/plugins/inspect/plugin-twolame.xml index 74b237348..390050554 100644 --- a/docs/plugins/inspect/plugin-twolame.xml +++ b/docs/plugins/inspect/plugin-twolame.xml @@ -3,7 +3,7 @@ <description>Encode MP2s with TwoLAME</description> <filename>../../ext/twolame/.libs/libgsttwolame.so</filename> <basename>libgsttwolame.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-udp.xml b/docs/plugins/inspect/plugin-udp.xml index a351d668a..ca3a52fcd 100644 --- a/docs/plugins/inspect/plugin-udp.xml +++ b/docs/plugins/inspect/plugin-udp.xml @@ -3,7 +3,7 @@ <description>transfer data via UDP</description> <filename>../../gst/udp/.libs/libgstudp.so</filename> <basename>libgstudp.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-video4linux2.xml b/docs/plugins/inspect/plugin-video4linux2.xml index 6390a49df..2798e8e5c 100644 --- a/docs/plugins/inspect/plugin-video4linux2.xml +++ b/docs/plugins/inspect/plugin-video4linux2.xml @@ -3,7 +3,7 @@ <description>elements for Video 4 Linux</description> <filename>../../sys/v4l2/.libs/libgstvideo4linux2.so</filename> <basename>libgstvideo4linux2.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videobox.xml b/docs/plugins/inspect/plugin-videobox.xml index ba0282184..7a4d12642 100644 --- a/docs/plugins/inspect/plugin-videobox.xml +++ b/docs/plugins/inspect/plugin-videobox.xml @@ -3,7 +3,7 @@ <description>resizes a video by adding borders or cropping</description> <filename>../../gst/videobox/.libs/libgstvideobox.so</filename> <basename>libgstvideobox.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videocrop.xml b/docs/plugins/inspect/plugin-videocrop.xml index 5c7803e3b..c4d07dfd5 100644 --- a/docs/plugins/inspect/plugin-videocrop.xml +++ b/docs/plugins/inspect/plugin-videocrop.xml @@ -3,7 +3,7 @@ <description>Crops video into a user-defined region</description> <filename>../../gst/videocrop/.libs/libgstvideocrop.so</filename> <basename>libgstvideocrop.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videofilter.xml b/docs/plugins/inspect/plugin-videofilter.xml index 16667cb32..8f38e8915 100644 --- a/docs/plugins/inspect/plugin-videofilter.xml +++ b/docs/plugins/inspect/plugin-videofilter.xml @@ -3,7 +3,7 @@ <description>Video filters plugin</description> <filename>../../gst/videofilter/.libs/libgstvideofilter.so</filename> <basename>libgstvideofilter.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-videomixer.xml b/docs/plugins/inspect/plugin-videomixer.xml index a035bdb5a..529eee9e6 100644 --- a/docs/plugins/inspect/plugin-videomixer.xml +++ b/docs/plugins/inspect/plugin-videomixer.xml @@ -3,7 +3,7 @@ <description>Video mixer</description> <filename>../../gst/videomixer/.libs/libgstvideomixer.so</filename> <basename>libgstvideomixer.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-vpx.xml b/docs/plugins/inspect/plugin-vpx.xml index 32dc6fe67..f31063e85 100644 --- a/docs/plugins/inspect/plugin-vpx.xml +++ b/docs/plugins/inspect/plugin-vpx.xml @@ -3,7 +3,7 @@ <description>VP8 plugin</description> <filename>../../ext/vpx/.libs/libgstvpx.so</filename> <basename>libgstvpx.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-wavenc.xml b/docs/plugins/inspect/plugin-wavenc.xml index 9bba1ed09..d92185634 100644 --- a/docs/plugins/inspect/plugin-wavenc.xml +++ b/docs/plugins/inspect/plugin-wavenc.xml @@ -3,7 +3,7 @@ <description>Encode raw audio into WAV</description> <filename>../../gst/wavenc/.libs/libgstwavenc.so</filename> <basename>libgstwavenc.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-wavpack.xml b/docs/plugins/inspect/plugin-wavpack.xml index 25251a6fb..cfe75c367 100644 --- a/docs/plugins/inspect/plugin-wavpack.xml +++ b/docs/plugins/inspect/plugin-wavpack.xml @@ -3,7 +3,7 @@ <description>Wavpack lossless/lossy audio format handling</description> <filename>../../ext/wavpack/.libs/libgstwavpack.so</filename> <basename>libgstwavpack.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-wavparse.xml b/docs/plugins/inspect/plugin-wavparse.xml index 336900f73..a53c390af 100644 --- a/docs/plugins/inspect/plugin-wavparse.xml +++ b/docs/plugins/inspect/plugin-wavparse.xml @@ -3,7 +3,7 @@ <description>Parse a .wav file into raw audio</description> <filename>../../gst/wavparse/.libs/libgstwavparse.so</filename> <basename>libgstwavparse.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-ximagesrc.xml b/docs/plugins/inspect/plugin-ximagesrc.xml index 3c4d0913c..de1ffeedb 100644 --- a/docs/plugins/inspect/plugin-ximagesrc.xml +++ b/docs/plugins/inspect/plugin-ximagesrc.xml @@ -3,7 +3,7 @@ <description>X11 video input plugin using standard Xlib calls</description> <filename>../../sys/ximage/.libs/libgstximagesrc.so</filename> <basename>libgstximagesrc.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/docs/plugins/inspect/plugin-y4menc.xml b/docs/plugins/inspect/plugin-y4menc.xml index f0881eb72..10b6a4b56 100644 --- a/docs/plugins/inspect/plugin-y4menc.xml +++ b/docs/plugins/inspect/plugin-y4menc.xml @@ -3,7 +3,7 @@ <description>Encodes a YUV frame into the yuv4mpeg format (mjpegtools)</description> <filename>../../gst/y4m/.libs/libgsty4menc.so</filename> <basename>libgsty4menc.so</basename> - <version>1.14.0</version> + <version>1.14.1</version> <license>LGPL</license> <source>gst-plugins-good</source> <package>GStreamer Good Plug-ins source release</package> diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c index 3f4be0649..504f1953b 100644 --- a/ext/jpeg/gstjpegenc.c +++ b/ext/jpeg/gstjpegenc.c @@ -113,7 +113,7 @@ GST_STATIC_PAD_TEMPLATE ("src", "width = (int) [ 16, 65535 ], " "height = (int) [ 16, 65535 ], " "framerate = (fraction) [ 0/1, MAX ], " - "sof-marker = (int) { 0, 1, 2, 9 }") + "sof-marker = (int) { 0, 1, 2, 4, 9 }") ); static void diff --git a/ext/qt/gstqtglutility.cc b/ext/qt/gstqtglutility.cc index ee9d04b8f..cc84c8340 100644 --- a/ext/qt/gstqtglutility.cc +++ b/ext/qt/gstqtglutility.cc @@ -42,6 +42,9 @@ #else #include <gst/gl/egl/gstegl.h> #include <gst/gl/egl/gstgldisplay_egl.h> +#ifdef HAVE_QT_QPA_HEADER +#include <qpa/qplatformnativeinterface.h> +#endif #endif #endif @@ -110,6 +113,13 @@ gst_qt_get_gl_display () } display = (GstGLDisplay *) gst_gl_display_viv_fb_new (disp_idx); +#elif defined(HAVE_QT_QPA_HEADER) + QPlatformNativeInterface *native = + QGuiApplication::platformNativeInterface(); + EGLDisplay egl_display = (EGLDisplay) + native->nativeResourceForWindow("egldisplay", NULL); + if (egl_display != EGL_NO_DISPLAY) + display = (GstGLDisplay *) gst_gl_display_egl_new_with_egl_display (egl_display); #else EGLDisplay egl_display = (EGLDisplay) gst_gl_display_egl_get_from_native (GST_GL_DISPLAY_TYPE_ANY, 0); display = (GstGLDisplay *) gst_gl_display_egl_new_with_egl_display (egl_display); diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap index 27b6a28c3..c0b0399f7 100644 --- a/gst-plugins-good.doap +++ b/gst-plugins-good.doap @@ -32,6 +32,16 @@ the plug-in code, LGPL or LGPL-compatible for the supporting library). </GitRepository> </repository> + <release> + <Version> + <revision>1.14.1</revision> + <branch>1.14</branch> + <name></name> + <created>2018-05-17</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.14.1.tar.xz" /> + </Version> + </release> + <release> <Version> <revision>1.14.0</revision> diff --git a/gst/audiofx/audiopanoramaorc-dist.c b/gst/audiofx/audiopanoramaorc-dist.c index 12d6aa0e8..0e44eb9a3 100644 --- a/gst/audiofx/audiopanoramaorc-dist.c +++ b/gst/audiofx/audiopanoramaorc-dist.c @@ -140,11 +140,11 @@ void audiopanoramam_orc_process_f32_ch2_sim_left (gfloat * ORC_RESTRICT d1, #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b)) #define ORC_SB_MAX 127 #define ORC_SB_MIN (-1-ORC_SB_MAX) -#define ORC_UB_MAX 255 +#define ORC_UB_MAX (orc_uint8) 255 #define ORC_UB_MIN 0 #define ORC_SW_MAX 32767 #define ORC_SW_MIN (-1-ORC_SW_MAX) -#define ORC_UW_MAX 65535 +#define ORC_UW_MAX (orc_uint16)65535 #define ORC_UW_MIN 0 #define ORC_SL_MAX 2147483647 #define ORC_SL_MIN (-1-ORC_SL_MAX) diff --git a/gst/audioparsers/gstdcaparse.c b/gst/audioparsers/gstdcaparse.c index 1ea40acda..dbb0b5e27 100644 --- a/gst/audioparsers/gstdcaparse.c +++ b/gst/audioparsers/gstdcaparse.c @@ -245,7 +245,7 @@ gst_dca_parse_parse_header (GstDcaParse * dcaparse, if (chans < G_N_ELEMENTS (channels_table)) *channels = channels_table[chans] + ((lfe) ? 1 : 0); else - *channels = 0; + return FALSE; if (depth) *depth = (marker == 0x1FFFE800 || marker == 0xFF1F00E8) ? 14 : 16; diff --git a/gst/audioparsers/gstflacparse.c b/gst/audioparsers/gstflacparse.c index 69a69280a..90176af9a 100644 --- a/gst/audioparsers/gstflacparse.c +++ b/gst/audioparsers/gstflacparse.c @@ -212,6 +212,8 @@ static gboolean gst_flac_parse_src_event (GstBaseParse * parse, GstEvent * event); static GstCaps *gst_flac_parse_get_sink_caps (GstBaseParse * parse, GstCaps * filter); +static gboolean gst_flac_parse_set_sink_caps (GstBaseParse * parse, + GstCaps * caps); #define gst_flac_parse_parent_class parent_class G_DEFINE_TYPE (GstFlacParse, gst_flac_parse, GST_TYPE_BASE_PARSE); @@ -246,6 +248,8 @@ gst_flac_parse_class_init (GstFlacParseClass * klass) baseparse_class->src_event = GST_DEBUG_FUNCPTR (gst_flac_parse_src_event); baseparse_class->get_sink_caps = GST_DEBUG_FUNCPTR (gst_flac_parse_get_sink_caps); + baseparse_class->set_sink_caps = + GST_DEBUG_FUNCPTR (gst_flac_parse_set_sink_caps); gst_element_class_add_static_pad_template (element_class, &src_factory); gst_element_class_add_static_pad_template (element_class, &sink_factory); @@ -1875,3 +1879,15 @@ gst_flac_parse_get_sink_caps (GstBaseParse * parse, GstCaps * filter) return res; } + +static gboolean +gst_flac_parse_set_sink_caps (GstBaseParse * parse, GstCaps * caps) +{ + /* If caps are changing, drain any pending frames we have so that afterwards + * we can potentially accept a new stream that is starting with the FLAC + * headers again. If headers appear in the middle of the stream we can't + * detect them + */ + gst_base_parse_drain (parse); + return TRUE; +} diff --git a/gst/deinterlace/tvtime-dist.c b/gst/deinterlace/tvtime-dist.c index d92ce306f..2e22e445f 100644 --- a/gst/deinterlace/tvtime-dist.c +++ b/gst/deinterlace/tvtime-dist.c @@ -117,11 +117,11 @@ void deinterlace_line_greedy (orc_uint8 * ORC_RESTRICT d1, #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b)) #define ORC_SB_MAX 127 #define ORC_SB_MIN (-1-ORC_SB_MAX) -#define ORC_UB_MAX 255 +#define ORC_UB_MAX (orc_uint8) 255 #define ORC_UB_MIN 0 #define ORC_SW_MAX 32767 #define ORC_SW_MIN (-1-ORC_SW_MAX) -#define ORC_UW_MAX 65535 +#define ORC_UW_MAX (orc_uint16)65535 #define ORC_UW_MIN 0 #define ORC_SL_MAX 2147483647 #define ORC_SL_MIN (-1-ORC_SL_MAX) @@ -201,7 +201,7 @@ deinterlace_line_vfir (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, ptr8 = (orc_int8 *) s5; /* 16: loadpw */ - var40.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ + var40.i = 0x00000004; /* 4 or 1.97626e-323f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -293,7 +293,7 @@ _backup_deinterlace_line_vfir (OrcExecutor * ORC_RESTRICT ex) ptr8 = (orc_int8 *) ex->arrays[8]; /* 16: loadpw */ - var40.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ + var40.i = 0x00000004; /* 4 or 1.97626e-323f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -594,7 +594,7 @@ deinterlace_line_linear_blend (guint8 * ORC_RESTRICT d1, ptr6 = (orc_int8 *) s3; /* 9: loadpw */ - var38.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ + var38.i = 0x00000002; /* 2 or 9.88131e-324f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -661,7 +661,7 @@ _backup_deinterlace_line_linear_blend (OrcExecutor * ORC_RESTRICT ex) ptr6 = (orc_int8 *) ex->arrays[6]; /* 9: loadpw */ - var38.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ + var38.i = 0x00000002; /* 2 or 9.88131e-324f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -829,7 +829,7 @@ deinterlace_line_greedy (orc_uint8 * ORC_RESTRICT d1, ptr7 = (orc_int8 *) s4; /* 11: loadpb */ - var44 = (int) 0x00000080; /* 128 or 6.32404e-322f */ + var44 = 0x00000080; /* 128 or 6.32404e-322f */ /* 20: loadpb */ var45 = p1; @@ -934,7 +934,7 @@ _backup_deinterlace_line_greedy (OrcExecutor * ORC_RESTRICT ex) ptr7 = (orc_int8 *) ex->arrays[7]; /* 11: loadpb */ - var44 = (int) 0x00000080; /* 128 or 6.32404e-322f */ + var44 = 0x00000080; /* 128 or 6.32404e-322f */ /* 20: loadpb */ var45 = ex->params[24]; diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c index 2efb3d210..516d45c1d 100644 --- a/gst/flv/gstflvmux.c +++ b/gst/flv/gstflvmux.c @@ -656,6 +656,12 @@ gst_flv_mux_release_pad (GstElement * element, GstPad * pad) static GstFlowReturn gst_flv_mux_push (GstFlvMux * mux, GstBuffer * buffer) { + GstAggregator *agg = GST_AGGREGATOR (mux); + GstAggregatorPad *srcpad = GST_AGGREGATOR_PAD (agg->srcpad); + + if (GST_BUFFER_PTS_IS_VALID (buffer)) + srcpad->segment.position = GST_BUFFER_PTS (buffer); + /* pushing the buffer that rewrites the header will make it no longer be the * total output size in bytes, but it doesn't matter at that point */ mux->byte_count += gst_buffer_get_size (buffer); @@ -1639,6 +1645,7 @@ gst_flv_mux_find_best_pad (GstAggregator * aggregator, GstClockTime * ts) best_ts = t; } } + gst_buffer_unref (buffer); } GST_DEBUG_OBJECT (aggregator, "Best pad found with %" GST_TIME_FORMAT ": %" GST_PTR_FORMAT, @@ -1729,7 +1736,7 @@ gst_flv_mux_aggregate (GstAggregator * aggregator, gboolean timeout) if (gst_flv_mux_are_all_pads_eos (mux)) { gst_flv_mux_write_eos (mux); gst_flv_mux_rewrite_header (mux); - gst_pad_push_event (mux->srcpad, gst_event_new_eos ()); + return GST_FLOW_EOS; } return GST_FLOW_OK; } @@ -1811,6 +1818,25 @@ gst_flv_mux_get_next_time_for_segment (GstAggregator * aggregator, static GstClockTime gst_flv_mux_get_next_time (GstAggregator * aggregator) { + GstFlvMux *mux = GST_FLV_MUX (aggregator); + GstAggregatorPad *agg_audio_pad = GST_AGGREGATOR_PAD_CAST (mux->audio_pad); + GstAggregatorPad *agg_video_pad = GST_AGGREGATOR_PAD_CAST (mux->video_pad); + + GST_OBJECT_LOCK (aggregator); + if (mux->state == GST_FLV_MUX_STATE_HEADER && + ((mux->audio_pad && mux->audio_pad->codec == G_MAXUINT) || + (mux->video_pad && mux->video_pad->codec == G_MAXUINT))) + goto wait_for_data; + + if (!((agg_audio_pad && gst_aggregator_pad_has_buffer (agg_audio_pad)) || + (agg_video_pad && gst_aggregator_pad_has_buffer (agg_video_pad)))) + goto wait_for_data; + GST_OBJECT_UNLOCK (aggregator); + return gst_flv_mux_get_next_time_for_segment (aggregator, &GST_AGGREGATOR_PAD (aggregator->srcpad)->segment); + +wait_for_data: + GST_OBJECT_UNLOCK (aggregator); + return GST_CLOCK_TIME_NONE; } diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index 74e177c3d..195fa2f01 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -97,6 +97,17 @@ * #GstQTMux::reserved-duration-remaining property to see how close to full * the reserved space is becoming. * + * Applications that wish to be able to use/edit a file while it is being + * written to by live content, can use the "Robust Prefill Muxing" mode. That + * mode is a variant of the "Robust Muxing" mode in that it will pre-allocate a + * completely valid header from the start for all tracks (i.e. it appears as + * though the file is "reserved-max-duration" long with all samples + * present). This mode can be enabled by setting the + * #GstQTMux::reserved-moov-update-period and #GstQTMux::reserved-prefill + * properties. Note that this mode is only possible with input streams that have + * a fixed sample size (such as raw audio and Prores Video) and that don't + * have reordered samples. + * * <refsect2> * <title>Example pipelines</title> * |[ @@ -2505,12 +2516,17 @@ prefill_update_sample_size (GstQTMux * qtmux, GstQTPad * qpad) } } +/* Only called at startup when doing the "fake" iteration of all tracks in order + * to prefill the sample tables in the header. */ static GstQTPad * -find_best_pad_prefill (GstQTMux * qtmux) +find_best_pad_prefill_start (GstQTMux * qtmux) { GSList *walk; GstQTPad *best_pad = NULL; + /* If interleave limits have been specified and the current pad is within + * those interleave limits, pick that one, otherwise let's try to figure out + * the next best one. */ if (qtmux->current_pad && (qtmux->interleave_bytes != 0 || qtmux->interleave_time != 0) && (qtmux->interleave_bytes == 0 @@ -2524,9 +2540,13 @@ find_best_pad_prefill (GstQTMux * qtmux) best_pad = qtmux->current_pad; } } else if (qtmux->collect->data->next) { + /* Attempt to try another pad if we have one. Otherwise use the only pad + * present */ best_pad = qtmux->current_pad = NULL; } + /* The next best pad is the one which has the lowest timestamp and hasn't + * exceeded the reserved max duration */ if (!best_pad) { GstClockTime best_time = GST_CLOCK_TIME_NONE; @@ -2551,6 +2571,11 @@ find_best_pad_prefill (GstQTMux * qtmux) return best_pad; } +/* Called when starting the file in prefill_mode to figure out all the entries + * of the header based on the input stream and reserved maximum duration. + * + * The _actual_ header (i.e. with the proper duration and trimmed sample tables) + * will be updated and written on EOS. */ static gboolean gst_qt_mux_prefill_samples (GstQTMux * qtmux) { @@ -2608,7 +2633,7 @@ gst_qt_mux_prefill_samples (GstQTMux * qtmux) } } - while ((qpad = find_best_pad_prefill (qtmux))) { + while ((qpad = find_best_pad_prefill_start (qtmux))) { GstClockTime timestamp, next_timestamp, duration; guint nsamples, sample_size; guint64 chunk_offset; @@ -4832,6 +4857,7 @@ gst_qt_mux_audio_sink_set_caps (GstQTPad * qtpad, GstCaps * caps) "pad %s accepted renegotiation to %" GST_PTR_FORMAT " from %" GST_PTR_FORMAT, GST_PAD_NAME (pad), caps, current_caps); gst_caps_unref (current_caps); + gst_object_unref (qtmux); return TRUE; } @@ -5208,6 +5234,7 @@ gst_qt_mux_video_sink_set_caps (GstQTPad * qtpad, GstCaps * caps) "pad %s accepted renegotiation to %" GST_PTR_FORMAT " from %" GST_PTR_FORMAT, GST_PAD_NAME (pad), caps, current_caps); gst_caps_unref (current_caps); + gst_object_unref (qtmux); return TRUE; } @@ -5750,6 +5777,7 @@ gst_qt_mux_subtitle_sink_set_caps (GstQTPad * qtpad, GstCaps * caps) "pad %s accepted renegotiation to %" GST_PTR_FORMAT " from %" GST_PTR_FORMAT, GST_PAD_NAME (pad), caps, current_caps); gst_caps_unref (current_caps); + gst_object_unref (qtmux); return TRUE; } diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index a6f870f03..705bdf7ca 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -56,6 +56,8 @@ #include <gst/tag/tag.h> #include <gst/audio/audio.h> #include <gst/video/video.h> +#include <gst/riff/riff.h> +#include <gst/pbutils/pbutils.h> #include "qtatomparser.h" #include "qtdemux_types.h" @@ -66,11 +68,6 @@ #include "qtdemux.h" #include "qtpalette.h" -#include "gst/riff/riff-media.h" -#include "gst/riff/riff-read.h" - -#include <gst/pbutils/pbutils.h> - #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -620,7 +617,7 @@ gst_qtdemux_class_init (GstQTDemuxClass * klass) "David Schleef <ds@schleef.org>, Wim Taymans <wim@fluendo.com>"); GST_DEBUG_CATEGORY_INIT (qtdemux_debug, "qtdemux", 0, "qtdemux plugin"); - + gst_riff_init (); } static void @@ -2664,6 +2661,7 @@ qtdemux_parse_piff (GstQTDemux * qtdemux, const guint8 * buffer, gint length, QtDemuxCencSampleSetInfo *ss_info = NULL; const gchar *system_id; gboolean uses_sub_sample_encryption = FALSE; + guint32 sample_count; if (qtdemux->n_streams == 0) return; @@ -2759,16 +2757,16 @@ qtdemux_parse_piff (GstQTDemux * qtdemux, const guint8 * buffer, gint length, uses_sub_sample_encryption = TRUE; } - if (!gst_byte_reader_get_uint32_be (&br, &qtdemux->cenc_aux_sample_count)) { + if (!gst_byte_reader_get_uint32_be (&br, &sample_count)) { GST_ERROR_OBJECT (qtdemux, "Error getting box's sample count field"); return; } ss_info->crypto_info = - g_ptr_array_new_full (qtdemux->cenc_aux_sample_count, + g_ptr_array_new_full (sample_count, (GDestroyNotify) qtdemux_gst_structure_free); - for (i = 0; i < qtdemux->cenc_aux_sample_count; ++i) { + for (i = 0; i < sample_count; ++i) { GstStructure *properties; guint8 *data; GstBuffer *buf; @@ -2776,12 +2774,14 @@ qtdemux_parse_piff (GstQTDemux * qtdemux, const guint8 * buffer, gint length, properties = qtdemux_get_cenc_sample_properties (qtdemux, stream, i); if (properties == NULL) { GST_ERROR_OBJECT (qtdemux, "failed to get properties for sample %u", i); + qtdemux->cenc_aux_sample_count = i; return; } if (!gst_byte_reader_dup_data (&br, iv_size, &data)) { GST_ERROR_OBJECT (qtdemux, "IV data not present for sample %u", i); gst_structure_free (properties); + qtdemux->cenc_aux_sample_count = i; return; } buf = gst_buffer_new_wrapped (data, iv_size); @@ -2796,6 +2796,7 @@ qtdemux_parse_piff (GstQTDemux * qtdemux, const guint8 * buffer, gint length, GST_ERROR_OBJECT (qtdemux, "failed to get subsample count for sample %u", i); gst_structure_free (properties); + qtdemux->cenc_aux_sample_count = i; return; } GST_LOG_OBJECT (qtdemux, "subsample count: %u", n_subsamples); @@ -2803,6 +2804,7 @@ qtdemux_parse_piff (GstQTDemux * qtdemux, const guint8 * buffer, gint length, GST_ERROR_OBJECT (qtdemux, "failed to get subsample data for sample %u", i); gst_structure_free (properties); + qtdemux->cenc_aux_sample_count = i; return; } buf = gst_buffer_new_wrapped (data, n_subsamples * 6); @@ -2816,6 +2818,8 @@ qtdemux_parse_piff (GstQTDemux * qtdemux, const guint8 * buffer, gint length, g_ptr_array_add (ss_info->crypto_info, properties); } + + qtdemux->cenc_aux_sample_count = sample_count; } static void diff --git a/gst/monoscope/gstmonoscope.c b/gst/monoscope/gstmonoscope.c index e06196b1e..26c433886 100644 --- a/gst/monoscope/gstmonoscope.c +++ b/gst/monoscope/gstmonoscope.c @@ -255,6 +255,10 @@ gst_monoscope_src_negotiate (GstMonoscope * monoscope) gst_structure_fixate_field_nearest_int (structure, "width", 320); gst_structure_fixate_field_nearest_int (structure, "height", 240); gst_structure_fixate_field_nearest_fraction (structure, "framerate", 25, 1); + if (gst_structure_has_field (structure, "pixel-aspect-ratio")) + gst_structure_fixate_field_nearest_fraction (structure, + "pixel-aspect-ratio", 1, 1); + target = gst_caps_fixate (target); gst_monoscope_src_setcaps (monoscope, target); diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c index 6ec436c29..ae7104a08 100644 --- a/gst/multifile/gstsplitmuxsink.c +++ b/gst/multifile/gstsplitmuxsink.c @@ -673,12 +673,16 @@ send_fragment_opened_closed_msg (GstSplitMuxSink * splitmux, gboolean opened) g_object_get (splitmux->sink, "location", &location, NULL); - msg = gst_message_new_element (GST_OBJECT (splitmux), - gst_structure_new (msg_name, - "location", G_TYPE_STRING, location, - "running-time", GST_TYPE_CLOCK_TIME, - splitmux->reference_ctx->out_running_time, NULL)); - gst_element_post_message (GST_ELEMENT_CAST (splitmux), msg); + /* If it's in the middle of a teardown, the reference_ctc might have become + * NULL */ + if (splitmux->reference_ctx) { + msg = gst_message_new_element (GST_OBJECT (splitmux), + gst_structure_new (msg_name, + "location", G_TYPE_STRING, location, + "running-time", GST_TYPE_CLOCK_TIME, + splitmux->reference_ctx->out_running_time, NULL)); + gst_element_post_message (GST_ELEMENT_CAST (splitmux), msg); + } g_free (location); } diff --git a/gst/rtp/gstrtpreddec.c b/gst/rtp/gstrtpreddec.c index 5f769ba3f..bc9c0eab5 100644 --- a/gst/rtp/gstrtpreddec.c +++ b/gst/rtp/gstrtpreddec.c @@ -218,7 +218,7 @@ gst_red_history_lost_seq_num_for_timestamp (GstRtpRedDec * self, RTPHistItem *older; RTPHistItem *newer; guint32 timestamp_diff; - gint seq_diff; + gint seq_diff, lost_packet_idx; if (NULL == older_sibling) { if (self->rtp_history->length == RTP_HISTORY_MAX_SIZE) @@ -260,7 +260,7 @@ gst_red_history_lost_seq_num_for_timestamp (GstRtpRedDec * self, } timestamp_diff = newer->timestamp - older->timestamp; - for (gint lost_packet_idx = 1; lost_packet_idx < seq_diff; ++lost_packet_idx) { + for (lost_packet_idx = 1; lost_packet_idx < seq_diff; ++lost_packet_idx) { guint32 lost_timestamp = older->timestamp + lost_packet_idx * timestamp_diff / seq_diff; if (lost_timestamp == timestamp) { @@ -283,6 +283,7 @@ gst_rtp_red_create_packet (GstRtpRedDec * self, GstRTPBuffer * red_rtp, guint csrc_count = gst_rtp_buffer_get_csrc_count (red_rtp); GstBuffer *ret = gst_rtp_buffer_new_allocate (0, 0, csrc_count); GstRTPBuffer ret_rtp = GST_RTP_BUFFER_INIT; + guint i; if (!gst_rtp_buffer_map (ret, GST_MAP_WRITE, &ret_rtp)) g_assert_not_reached (); @@ -291,7 +292,7 @@ gst_rtp_red_create_packet (GstRtpRedDec * self, GstRTPBuffer * red_rtp, gst_rtp_buffer_set_seq (&ret_rtp, seq_num); gst_rtp_buffer_set_timestamp (&ret_rtp, timestamp); gst_rtp_buffer_set_ssrc (&ret_rtp, gst_rtp_buffer_get_ssrc (red_rtp)); - for (guint i = 0; i < csrc_count; ++i) + for (i = 0; i < csrc_count; ++i) gst_rtp_buffer_set_csrc (&ret_rtp, i, gst_rtp_buffer_get_csrc (red_rtp, i)); gst_rtp_buffer_unmap (&ret_rtp); diff --git a/gst/rtp/gstrtpredenc.c b/gst/rtp/gstrtpredenc.c index f1bf72c88..1bbc9a92d 100644 --- a/gst/rtp/gstrtpredenc.c +++ b/gst/rtp/gstrtpredenc.c @@ -143,6 +143,7 @@ _alloc_red_packet_and_fill_headers (GstRtpRedEnc * self, GstBuffer *red = gst_rtp_buffer_new_allocate (red_header_size, 0, csrc_count); guint8 *red_block_header; GstRTPBuffer red_rtp = GST_RTP_BUFFER_INIT; + guint i; if (!gst_rtp_buffer_map (red, GST_MAP_WRITE, &red_rtp)) g_assert_not_reached (); @@ -156,7 +157,7 @@ _alloc_red_packet_and_fill_headers (GstRtpRedEnc * self, gst_rtp_buffer_set_seq (&red_rtp, gst_rtp_buffer_get_seq (inp_rtp)); gst_rtp_buffer_set_timestamp (&red_rtp, timestmap); gst_rtp_buffer_set_ssrc (&red_rtp, gst_rtp_buffer_get_ssrc (inp_rtp)); - for (guint i = 0; i != csrc_count; ++i) + for (i = 0; i != csrc_count; ++i) gst_rtp_buffer_set_csrc (&red_rtp, i, gst_rtp_buffer_get_csrc ((inp_rtp), i)); diff --git a/gst/rtp/gstrtpulpfecdec.c b/gst/rtp/gstrtpulpfecdec.c index a24dd5138..9cb4997d4 100644 --- a/gst/rtp/gstrtpulpfecdec.c +++ b/gst/rtp/gstrtpulpfecdec.c @@ -105,6 +105,7 @@ gst_rtp_ulpfec_dec_start (GstRtpUlpFecDec * self, GstBufferList * buflist, guint8 fec_pt, guint16 lost_seq) { guint fec_packets = 0; + gsize i; g_assert (NULL == self->info_media); g_assert (0 == self->info_fec->len); @@ -112,7 +113,7 @@ gst_rtp_ulpfec_dec_start (GstRtpUlpFecDec * self, GstBufferList * buflist, g_array_set_size (self->info_arr, gst_buffer_list_length (buflist)); - for (gsize i = 0; + for (i = 0; i < gst_buffer_list_length (buflist) && !self->lost_packet_from_storage; ++i) { GstBuffer *buffer = gst_buffer_list_get (buflist, i); @@ -165,7 +166,9 @@ gst_rtp_ulpfec_dec_get_media_buffers_mask (GstRtpUlpFecDec * self, guint16 fec_seq_base) { guint64 mask = 0; - for (GList * it = self->info_media; it; it = it->next) { + GList *it; + + for (it = self->info_media; it; it = it->next) { RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (self, it->data); mask |= rtp_ulpfec_packet_mask_from_seqnum (gst_rtp_buffer_get_seq (&info->rtp), @@ -178,10 +181,11 @@ static gboolean gst_rtp_ulpfec_dec_is_recovered_pt_valid (GstRtpUlpFecDec * self, gint media_pt, guint8 recovered_pt) { + GList *it; if (media_pt == recovered_pt) return TRUE; - for (GList * it = self->info_media; it; it = it->next) { + for (it = self->info_media; it; it = it->next) { RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (self, it->data); if (gst_rtp_buffer_get_payload_type (&info->rtp) == recovered_pt) return TRUE; @@ -198,12 +202,13 @@ gst_rtp_ulpfec_dec_recover_from_fec (GstRtpUlpFecDec * self, gboolean fec_mask_long = rtp_ulpfec_buffer_get_fechdr (&info_fec->rtp)->L; guint16 fec_seq_base = rtp_ulpfec_buffer_get_seq_base (&info_fec->rtp); GstBuffer *ret; + GList *it; g_array_set_size (self->scratch_buf, 0); rtp_buffer_to_ulpfec_bitstring (&info_fec->rtp, self->scratch_buf, TRUE, fec_mask_long); - for (GList * it = self->info_media; it; it = it->next) { + for (it = self->info_media; it; it = it->next) { RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (self, it->data); guint64 packet_mask = rtp_ulpfec_packet_mask_from_seqnum (gst_rtp_buffer_get_seq (&info->rtp), @@ -305,12 +310,13 @@ gst_rtp_ulpfec_dec_recover (GstRtpUlpFecDec * self, guint32 ssrc, gint media_pt, { guint64 media_mask = 0; gint media_mask_seq_base = -1; + gsize i; if (self->lost_packet_from_storage) return gst_rtp_ulpfec_dec_recover_from_storage (self, dst_pt, dst_seq); /* Looking for a FEC packet which can be used for recovery */ - for (gsize i = 0; i < self->info_fec->len; ++i) { + for (i = 0; i < self->info_fec->len; ++i) { RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (self, g_ptr_array_index (self->info_fec, i)); guint16 seq_base = rtp_ulpfec_buffer_get_seq_base (&info->rtp); diff --git a/gst/rtp/gstrtpulpfecenc.c b/gst/rtp/gstrtpulpfecenc.c index c06b4232d..f29acd5af 100644 --- a/gst/rtp/gstrtpulpfecenc.c +++ b/gst/rtp/gstrtpulpfecenc.c @@ -120,10 +120,11 @@ gst_rtp_ulpfec_enc_stream_ctx_start (GstRtpUlpFecEncStreamCtx * ctx, GQueue * packets, guint fec_packets) { GList *it = packets->tail; + guint i; g_array_set_size (ctx->info_arr, packets->length); - for (guint i = 0; i < packets->length; ++i) { + for (i = 0; i < packets->length; ++i) { GstBuffer *buffer = it->data; RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (ctx, i); @@ -162,11 +163,12 @@ static void guint len = end - start + 1; guint64 mask = 0; guint16 seq_base = 0; + guint i; len = MIN (len, RTP_ULPFEC_PROTECTED_PACKETS_MAX (TRUE)); end = start + len - 1; - for (guint i = start; i <= end; ++i) { + for (i = start; i <= end; ++i) { RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (ctx, i); guint16 seq = gst_rtp_buffer_get_seq (&info->rtp); @@ -200,6 +202,7 @@ gst_rtp_ulpfec_enc_stream_ctx_protect (GstRtpUlpFecEncStreamCtx * ctx, GstBuffer *ret; guint64 tmp_mask; gboolean fec_mask_long; + guint i; if (ctx->fec_packet_idx >= ctx->fec_packets) return NULL; @@ -210,7 +213,7 @@ gst_rtp_ulpfec_enc_stream_ctx_protect (GstRtpUlpFecEncStreamCtx * ctx, tmp_mask = fec_mask; fec_mask_long = rtp_ulpfec_mask_is_long (fec_mask); - for (guint i = start; i <= end; ++i) { + for (i = start; i <= end; ++i) { RtpUlpFecMapInfo *info = RTP_FEC_MAP_INFO_NTH (ctx, i); guint64 packet_mask = rtp_ulpfec_packet_mask_from_seqnum (gst_rtp_buffer_get_seq (&info->rtp), diff --git a/gst/rtp/gstrtpvrawpay.c b/gst/rtp/gstrtpvrawpay.c index 50a482066..d7d66b551 100644 --- a/gst/rtp/gstrtpvrawpay.c +++ b/gst/rtp/gstrtpvrawpay.c @@ -325,7 +325,8 @@ gst_rtp_vraw_pay_handle_buffer (GstRTPBasePayload * payload, GstBuffer * buffer) buffers_per_list = packlines_per_list * packets_per_packline; buffers_per_list = GST_ROUND_UP_8 (buffers_per_list); - use_buffer_lists = (rtpvrawpay->chunks_per_frame < (height / yinc)); + use_buffer_lists = buffers_per_list > 1 && + (rtpvrawpay->chunks_per_frame < (height / yinc)); fields = 1 + interlaced; diff --git a/gst/rtp/rtpstoragestream.c b/gst/rtp/rtpstoragestream.c index 9b5d72472..d556e6ebc 100644 --- a/gst/rtp/rtpstoragestream.c +++ b/gst/rtp/rtpstoragestream.c @@ -72,7 +72,7 @@ rtp_storage_stream_resize (RtpStorageStream * stream, GstClockTime size_time) } } - for (guint i = 0; i < too_old_buffers_num; ++i) { + for (i = 0; i < too_old_buffers_num; ++i) { RtpStorageItem *item = g_queue_pop_tail (&stream->queue); rtp_storage_item_free (item); } @@ -137,6 +137,7 @@ rtp_storage_stream_get_packets_for_recovery (RtpStorageStream * stream, GList *end = NULL; GList *start = NULL; gboolean saw_fec = TRUE; /* To initialize the start pointer in the loop below */ + GList *it; /* Looking for media stream chunk with FEC packets at the end, which could * can have the lost packet. For example: @@ -151,7 +152,7 @@ rtp_storage_stream_get_packets_for_recovery (RtpStorageStream * stream, * - it could have arrived right after it was considered lost (more of a corner case) * - it was recovered together with the other lost packet (most likely) */ - for (GList * it = stream->queue.tail; it; it = it->prev) { + for (it = stream->queue.tail; it; it = it->prev) { RtpStorageItem *item = it->data; gboolean found_end = FALSE; @@ -193,8 +194,9 @@ rtp_storage_stream_get_packets_for_recovery (RtpStorageStream * stream, if (start && end) { GstBufferList *ret = gst_buffer_list_new_sized (ret_length); + GList *it; - for (GList * it = start; it != end->prev; it = it->prev) + for (it = start; it != end->prev; it = it->prev) gst_buffer_list_add (ret, gst_buffer_ref (((RtpStorageItem *) it->data)->buffer)); return ret; @@ -207,7 +209,8 @@ GstBuffer * rtp_storage_stream_get_redundant_packet (RtpStorageStream * stream, guint16 lost_seq) { - for (GList * it = stream->queue.head; it; it = it->next) { + GList *it; + for (it = stream->queue.head; it; it = it->next) { RtpStorageItem *item = it->data; if (item->seq == lost_seq) return gst_buffer_ref (item->buffer); diff --git a/gst/rtpmanager/gstrtprtxsend.c b/gst/rtpmanager/gstrtprtxsend.c index 4329d8496..58892f3cf 100644 --- a/gst/rtpmanager/gstrtprtxsend.c +++ b/gst/rtpmanager/gstrtprtxsend.c @@ -400,7 +400,10 @@ gst_rtp_rtx_buffer_new (GstRtpRtxSend * rtx, GstBuffer * buffer) /* copy extension if any */ if (rtp.size[1]) { - mem = gst_memory_copy (rtp.map[1].memory, 0, rtp.size[1]); + mem = gst_allocator_alloc (NULL, rtp.size[1], NULL); + gst_memory_map (mem, &map, GST_MAP_WRITE); + memcpy (map.data, rtp.data[1], rtp.size[1]); + gst_memory_unmap (mem, &map); gst_buffer_append_memory (new_buffer, mem); } diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 0b99d2383..7d76703b8 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -2731,6 +2731,9 @@ rtp_session_process_feedback (RTPSession * sess, GstRTCPPacket * packet, if (sess->scheduled_bye && src && RTP_SOURCE_IS_MARKED_BYE (src)) return; + if (src) + g_object_ref (src); + fci_data = gst_rtcp_packet_fb_get_fci (packet); fci_length = gst_rtcp_packet_fb_get_fci_length (packet) * sizeof (guint32); @@ -2798,6 +2801,9 @@ rtp_session_process_feedback (RTPSession * sess, GstRTCPPacket * packet, break; } } + + if (src) + g_object_unref (src); } /** @@ -3973,11 +3979,15 @@ rtp_session_are_all_sources_bye (RTPSession * sess) GHashTableIter iter; RTPSource *src; + RTP_SESSION_LOCK (sess); g_hash_table_iter_init (&iter, sess->ssrcs[sess->mask_idx]); while (g_hash_table_iter_next (&iter, NULL, (gpointer *) & src)) { - if (src->internal && !src->sent_bye) + if (src->internal && !src->sent_bye) { + RTP_SESSION_UNLOCK (sess); return FALSE; + } } + RTP_SESSION_UNLOCK (sess); return TRUE; } diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index ce17a0e4d..facdbb443 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -1772,10 +1772,10 @@ gst_rtspsrc_collect_payloads (GstRTSPSrc * src, const GstSDPMessage * sdp, else goto unknown_proto; - if (gst_sdp_media_get_attribute_val (media, "recvonly") != NULL && + if (gst_sdp_media_get_attribute_val (media, "sendonly") != NULL && /* We want to setup caps for streams configured as backchannel */ !stream->is_backchannel && src->backchannel != BACKCHANNEL_NONE) - goto recvonly_media; + goto sendonly_media; /* Parse global SDP attributes once */ global_caps = gst_caps_new_empty_simple ("application/x-unknown"); @@ -1846,9 +1846,9 @@ unknown_proto: GST_ERROR_OBJECT (src, "unknown proto in media: '%s'", proto); return; } -recvonly_media: +sendonly_media: { - GST_WARNING_OBJECT (src, "recvonly media ignored, no backchannel"); + GST_DEBUG_OBJECT (src, "sendonly media ignored, no backchannel"); return; } } @@ -1913,8 +1913,8 @@ gst_rtspsrc_create_stream (GstRTSPSrc * src, GstSDPMessage * sdp, gint idx, g_mutex_init (&stream->conninfo.recv_lock); g_array_set_clear_func (stream->ptmap, (GDestroyNotify) clear_ptmap_item); - /* stream is recvonly and onvif backchannel is requested */ - if (gst_sdp_media_get_attribute_val (media, "recvonly") != NULL && + /* stream is sendonly and onvif backchannel is requested */ + if (gst_sdp_media_get_attribute_val (media, "sendonly") != NULL && src->backchannel != BACKCHANNEL_NONE) stream->is_backchannel = TRUE; @@ -3038,7 +3038,7 @@ new_manager_pad (GstElement * manager, GstPad * pad, GstRTSPSrc * src) gst_pad_set_active (stream->srcpad, TRUE); gst_pad_sticky_events_foreach (pad, copy_sticky_events, stream->srcpad); - /* don't add the srcpad if this is a recvonly stream */ + /* don't add the srcpad if this is a sendonly stream */ if (stream->is_backchannel) add_backchannel_fakesink (src, stream, stream->srcpad); else diff --git a/gst/videobox/gstvideoboxorc-dist.c b/gst/videobox/gstvideoboxorc-dist.c index 8fef7a049..098b4908e 100644 --- a/gst/videobox/gstvideoboxorc-dist.c +++ b/gst/videobox/gstvideoboxorc-dist.c @@ -105,11 +105,11 @@ void video_box_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n); #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b)) #define ORC_SB_MAX 127 #define ORC_SB_MIN (-1-ORC_SB_MAX) -#define ORC_UB_MAX 255 +#define ORC_UB_MAX (orc_uint8) 255 #define ORC_UB_MIN 0 #define ORC_SW_MAX 32767 #define ORC_SW_MIN (-1-ORC_SW_MAX) -#define ORC_UW_MAX 65535 +#define ORC_UW_MAX (orc_uint16)65535 #define ORC_UW_MIN 0 #define ORC_SL_MAX 2147483647 #define ORC_SL_MIN (-1-ORC_SL_MAX) diff --git a/gst/videomixer/videomixerorc-dist.c b/gst/videomixer/videomixerorc-dist.c index 7ddc1b080..9216a8acd 100644 --- a/gst/videomixer/videomixerorc-dist.c +++ b/gst/videomixer/videomixerorc-dist.c @@ -117,11 +117,11 @@ void video_mixer_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b)) #define ORC_SB_MAX 127 #define ORC_SB_MIN (-1-ORC_SB_MAX) -#define ORC_UB_MAX 255 +#define ORC_UB_MAX (orc_uint8) 255 #define ORC_UB_MIN 0 #define ORC_SW_MAX 32767 #define ORC_SW_MIN (-1-ORC_SW_MAX) -#define ORC_UW_MAX 65535 +#define ORC_UW_MAX (orc_uint16)65535 #define ORC_UW_MIN 0 #define ORC_SL_MAX 2147483647 #define ORC_SL_MIN (-1-ORC_SL_MAX) @@ -595,7 +595,7 @@ video_mixer_orc_blend_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var39.x4[2] = p1; var39.x4[3] = p1; /* 16: loadpl */ - var40.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ + var40.i = 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -721,7 +721,7 @@ _backup_video_mixer_orc_blend_argb (OrcExecutor * ORC_RESTRICT ex) var39.x4[2] = ex->params[24]; var39.x4[3] = ex->params[24]; /* 16: loadpl */ - var40.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ + var40.i = 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -954,7 +954,7 @@ video_mixer_orc_blend_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var40.x4[2] = p1; var40.x4[3] = p1; /* 17: loadpl */ - var41.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */ + var41.i = 0xff000000; /* -16777216 or 2.11371e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -1083,7 +1083,7 @@ _backup_video_mixer_orc_blend_bgra (OrcExecutor * ORC_RESTRICT ex) var40.x4[2] = ex->params[24]; var40.x4[3] = ex->params[24]; /* 17: loadpl */ - var41.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */ + var41.i = 0xff000000; /* -16777216 or 2.11371e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -1340,11 +1340,11 @@ video_mixer_orc_overlay_argb (guint8 * ORC_RESTRICT d1, int d1_stride, var41.x4[2] = p1; var41.x4[3] = p1; /* 10: loadpl */ - var53.i = (int) 0xffffffff; /* -1 or 2.122e-314f */ + var53.i = 0xffffffff; /* -1 or 2.122e-314f */ /* 26: loadpl */ - var42.i = (int) 0xffffff00; /* -256 or 2.122e-314f */ + var42.i = 0xffffff00; /* -256 or 2.122e-314f */ /* 29: loadpl */ - var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ + var43.i = 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -1548,11 +1548,11 @@ _backup_video_mixer_orc_overlay_argb (OrcExecutor * ORC_RESTRICT ex) var41.x4[2] = ex->params[24]; var41.x4[3] = ex->params[24]; /* 10: loadpl */ - var53.i = (int) 0xffffffff; /* -1 or 2.122e-314f */ + var53.i = 0xffffffff; /* -1 or 2.122e-314f */ /* 26: loadpl */ - var42.i = (int) 0xffffff00; /* -256 or 2.122e-314f */ + var42.i = 0xffffff00; /* -256 or 2.122e-314f */ /* 29: loadpl */ - var43.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */ + var43.i = 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -1900,11 +1900,11 @@ video_mixer_orc_overlay_bgra (guint8 * ORC_RESTRICT d1, int d1_stride, var42.x4[2] = p1; var42.x4[3] = p1; /* 11: loadpl */ - var55.i = (int) 0xffffffff; /* -1 or 2.122e-314f */ + var55.i = 0xffffffff; /* -1 or 2.122e-314f */ /* 28: loadpl */ - var43.i = (int) 0x00ffffff; /* 16777215 or 8.28905e-317f */ + var43.i = 0x00ffffff; /* 16777215 or 8.28905e-317f */ /* 31: loadpl */ - var44.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */ + var44.i = 0xff000000; /* -16777216 or 2.11371e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ @@ -2114,11 +2114,11 @@ _backup_video_mixer_orc_overlay_bgra (OrcExecutor * ORC_RESTRICT ex) var42.x4[2] = ex->params[24]; var42.x4[3] = ex->params[24]; /* 11: loadpl */ - var55.i = (int) 0xffffffff; /* -1 or 2.122e-314f */ + var55.i = 0xffffffff; /* -1 or 2.122e-314f */ /* 28: loadpl */ - var43.i = (int) 0x00ffffff; /* 16777215 or 8.28905e-317f */ + var43.i = 0x00ffffff; /* 16777215 or 8.28905e-317f */ /* 31: loadpl */ - var44.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */ + var44.i = 0xff000000; /* -16777216 or 2.11371e-314f */ for (i = 0; i < n; i++) { /* 0: loadl */ diff --git a/meson.build b/meson.build index 1e4772daf..8c78752b7 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-good', 'c', - version : '1.14.0', + version : '1.14.1', meson_version : '>= 0.36.0', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff --git a/po/af.po b/po/af.po index 12f209b13..56f6adc47 100644 --- a/po/af.po +++ b/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.7.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2004-03-18 14:16+0200\n" "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n" "Language-Team: Afrikaans <i18n@af.org.za>\n" diff --git a/po/az.po b/po/az.po index 0e61b7272..83926502d 100644 --- a/po/az.po +++ b/po/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2004-03-19 18:29+0200\n" "Last-Translator: Metin Amiroff <metin@karegen.com>\n" "Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n" diff --git a/po/bg.po b/po/bg.po index 17f3732ff..99a727066 100644 --- a/po/bg.po +++ b/po/bg.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-07 22:46+0200\n" "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" "Language-Team: Bulgarian <dict@ludost.net>\n" diff --git a/po/ca.po b/po/ca.po index 8eea80093..097b0da01 100644 --- a/po/ca.po +++ b/po/ca.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2012-01-01 14:19+0100\n" "Last-Translator: Gil Forcada <gforcada@gnome.org>\n" "Language-Team: Catalan <ca@dodds.net>\n" diff --git a/po/cs.po b/po/cs.po index 7ba7e9a61..087a8acd9 100644 --- a/po/cs.po +++ b/po/cs.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-09-13 15:00+0200\n" "Last-Translator: Marek ÄŒernocký <marek@manet.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" diff --git a/po/da.po b/po/da.po index ba4b432bf..b64e94b42 100644 --- a/po/da.po +++ b/po/da.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-21 23:54+0200\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" diff --git a/po/de.po b/po/de.po index fd848b3da..e7608d93b 100644 --- a/po/de.po +++ b/po/de.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-26 19:59+0200\n" "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" diff --git a/po/el.po b/po/el.po index 2bb44c5fa..0e4c63c6d 100644 --- a/po/el.po +++ b/po/el.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2012-05-05 19:05+0100\n" "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n" "Language-Team: Greek <team@lists.gnome.gr>\n" diff --git a/po/en_GB.po b/po/en_GB.po index 8f768e0b0..3eddc55b5 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2004-04-26 10:41-0400\n" "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n" "Language-Team: English (British) <en_gb@li.org>\n" diff --git a/po/eo.po b/po/eo.po index 8fcc7cd6d..be2e1ac9e 100644 --- a/po/eo.po +++ b/po/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.28.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2011-06-04 21:48+0100\n" "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n" "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" diff --git a/po/es.po b/po/es.po index ddc999e38..ee4a99902 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.26.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2011-02-12 18:30+0100\n" "Last-Translator: Jorge González González <aloriel@gmail.com>\n" "Language-Team: Spanish <es@li.org>\n" diff --git a/po/eu.po b/po/eu.po index 8cc53dcad..7abc34f0c 100644 --- a/po/eu.po +++ b/po/eu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.18.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2010-03-25 12:37+0100\n" "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n" "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" diff --git a/po/fi.po b/po/fi.po index 7ee95b380..0e8cda2e7 100644 --- a/po/fi.po +++ b/po/fi.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.25.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2010-11-17 23:03+0200\n" "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" diff --git a/po/fr.po b/po/fr.po index dacab767d..96645bb8d 100644 --- a/po/fr.po +++ b/po/fr.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-05 22:27+0200\n" "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" "Language-Team: French <traduc@traduc.org>\n" diff --git a/po/fur.po b/po/fur.po index ed7cbc463..4ab774c55 100644 --- a/po/fur.po +++ b/po/fur.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.10.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-02-17 10:54+0100\n" "Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n" "Language-Team: Friulian <f.t.public@gmail.com>\n" diff --git a/po/gl.po b/po/gl.po index 490bfb5a8..e1198d9aa 100644 --- a/po/gl.po +++ b/po/gl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2012-12-15 03:46+0200\n" "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n" "Language-Team: Galician <proxecto@trasno.net>\n" diff --git a/po/gst-plugins-good-1.0.pot b/po/gst-plugins-good-1.0.pot index 26d782594..ee74645cb 100644 --- a/po/gst-plugins-good-1.0.pot +++ b/po/gst-plugins-good-1.0.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-good 1.14.0\n" +"Project-Id-Version: gst-plugins-good 1.14.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -86,39 +86,39 @@ msgstr "" msgid "No or invalid input audio, AVI stream will be corrupt." msgstr "" -#: gst/isomp4/qtdemux.c:699 gst/isomp4/qtdemux.c:703 +#: gst/isomp4/qtdemux.c:696 gst/isomp4/qtdemux.c:700 msgid "This file contains no playable streams." msgstr "" -#: gst/isomp4/qtdemux.c:749 gst/isomp4/qtdemux.c:6472 gst/isomp4/qtdemux.c:6540 -#: gst/isomp4/qtdemux.c:6854 gst/isomp4/qtdemux.c:8066 +#: gst/isomp4/qtdemux.c:746 gst/isomp4/qtdemux.c:6476 gst/isomp4/qtdemux.c:6544 +#: gst/isomp4/qtdemux.c:6858 gst/isomp4/qtdemux.c:8070 msgid "This file is invalid and cannot be played." msgstr "" -#: gst/isomp4/qtdemux.c:2878 +#: gst/isomp4/qtdemux.c:2882 msgid "Cannot play stream because it is encrypted with PlayReady DRM." msgstr "" -#: gst/isomp4/qtdemux.c:4059 gst/isomp4/qtdemux.c:7617 -#: gst/isomp4/qtdemux.c:7624 gst/isomp4/qtdemux.c:8538 -#: gst/isomp4/qtdemux.c:8975 gst/isomp4/qtdemux.c:8982 -#: gst/isomp4/qtdemux.c:11693 +#: gst/isomp4/qtdemux.c:4063 gst/isomp4/qtdemux.c:7621 +#: gst/isomp4/qtdemux.c:7628 gst/isomp4/qtdemux.c:8542 +#: gst/isomp4/qtdemux.c:8979 gst/isomp4/qtdemux.c:8986 +#: gst/isomp4/qtdemux.c:11697 msgid "This file is corrupt and cannot be played." msgstr "" -#: gst/isomp4/qtdemux.c:4301 +#: gst/isomp4/qtdemux.c:4305 msgid "Invalid atom size." msgstr "" -#: gst/isomp4/qtdemux.c:4380 +#: gst/isomp4/qtdemux.c:4384 msgid "This file is incomplete and cannot be played." msgstr "" -#: gst/isomp4/qtdemux.c:9988 +#: gst/isomp4/qtdemux.c:9992 msgid "The video in this file might not play correctly." msgstr "" -#: gst/isomp4/qtdemux.c:11734 +#: gst/isomp4/qtdemux.c:11738 #, c-format msgid "This file contains too many streams. Only playing first %d" msgstr "" @@ -197,100 +197,100 @@ msgstr "" msgid "Error reading %d bytes from device '%s'." msgstr "" -#: sys/v4l2/gstv4l2object.c:1219 +#: sys/v4l2/gstv4l2object.c:1218 #, c-format msgid "Failed to enumerate possible video formats device '%s' can work with" msgstr "" -#: sys/v4l2/gstv4l2object.c:2948 +#: sys/v4l2/gstv4l2object.c:2953 #, c-format msgid "Could not map buffers from device '%s'" msgstr "" -#: sys/v4l2/gstv4l2object.c:2956 +#: sys/v4l2/gstv4l2object.c:2961 #, c-format msgid "The driver of device '%s' does not support the IO method %d" msgstr "" -#: sys/v4l2/gstv4l2object.c:2963 +#: sys/v4l2/gstv4l2object.c:2968 #, c-format msgid "The driver of device '%s' does not support any known IO method." msgstr "" -#: sys/v4l2/gstv4l2object.c:3685 sys/v4l2/gstv4l2object.c:3709 +#: sys/v4l2/gstv4l2object.c:3688 sys/v4l2/gstv4l2object.c:3712 #, c-format msgid "Device '%s' has no supported format" msgstr "" -#: sys/v4l2/gstv4l2object.c:3691 sys/v4l2/gstv4l2object.c:3715 +#: sys/v4l2/gstv4l2object.c:3694 sys/v4l2/gstv4l2object.c:3718 #, c-format msgid "Device '%s' failed during initialization" msgstr "" -#: sys/v4l2/gstv4l2object.c:3703 +#: sys/v4l2/gstv4l2object.c:3706 #, c-format msgid "Device '%s' is busy" msgstr "" -#: sys/v4l2/gstv4l2object.c:3726 +#: sys/v4l2/gstv4l2object.c:3729 #, c-format msgid "Device '%s' cannot capture at %dx%d" msgstr "" -#: sys/v4l2/gstv4l2object.c:3735 +#: sys/v4l2/gstv4l2object.c:3738 #, c-format msgid "Device '%s' cannot capture in the specified format" msgstr "" -#: sys/v4l2/gstv4l2object.c:3746 +#: sys/v4l2/gstv4l2object.c:3749 #, c-format msgid "Device '%s' does support non-contiguous planes" msgstr "" -#: sys/v4l2/gstv4l2object.c:3761 +#: sys/v4l2/gstv4l2object.c:3764 #, c-format msgid "Device '%s' does not support %s interlacing" msgstr "" -#: sys/v4l2/gstv4l2object.c:3775 +#: sys/v4l2/gstv4l2object.c:3778 #, c-format msgid "Device '%s' does not support %s colorimetry" msgstr "" -#: sys/v4l2/gstv4l2object.c:3787 +#: sys/v4l2/gstv4l2object.c:3790 #, c-format msgid "Could not get parameters on device '%s'" msgstr "" -#: sys/v4l2/gstv4l2object.c:3795 +#: sys/v4l2/gstv4l2object.c:3798 msgid "Video device did not accept new frame rate setting." msgstr "" -#: sys/v4l2/gstv4l2object.c:3921 +#: sys/v4l2/gstv4l2object.c:3924 msgid "Video device did not provide output format." msgstr "" -#: sys/v4l2/gstv4l2object.c:3927 +#: sys/v4l2/gstv4l2object.c:3930 msgid "Video device returned invalid dimensions." msgstr "" -#: sys/v4l2/gstv4l2object.c:3935 +#: sys/v4l2/gstv4l2object.c:3938 msgid "Video device uses an unsupported interlacing method." msgstr "" -#: sys/v4l2/gstv4l2object.c:3942 +#: sys/v4l2/gstv4l2object.c:3945 msgid "Video device uses an unsupported pixel format." msgstr "" -#: sys/v4l2/gstv4l2object.c:4405 +#: sys/v4l2/gstv4l2object.c:4408 msgid "Failed to configure internal buffer pool." msgstr "" -#: sys/v4l2/gstv4l2object.c:4411 +#: sys/v4l2/gstv4l2object.c:4414 msgid "Video device did not suggest any buffer size." msgstr "" -#: sys/v4l2/gstv4l2object.c:4426 +#: sys/v4l2/gstv4l2object.c:4429 msgid "No downstream pool to import from." msgstr "" @@ -314,7 +314,7 @@ msgstr "" msgid "Failed to get radio input on device '%s'. " msgstr "" -#: sys/v4l2/gstv4l2radio.c:207 sys/v4l2/v4l2_calls.c:1078 +#: sys/v4l2/gstv4l2radio.c:207 sys/v4l2/v4l2_calls.c:1079 #, c-format msgid "Failed to set input %d on device %s." msgstr "" @@ -422,53 +422,53 @@ msgstr "" msgid "Device '%s' is not a M2M device." msgstr "" -#: sys/v4l2/v4l2_calls.c:704 +#: sys/v4l2/v4l2_calls.c:705 #, c-format msgid "Could not dup device '%s' for reading and writing." msgstr "" -#: sys/v4l2/v4l2_calls.c:788 +#: sys/v4l2/v4l2_calls.c:789 #, c-format msgid "Failed to set norm for device '%s'." msgstr "" -#: sys/v4l2/v4l2_calls.c:826 +#: sys/v4l2/v4l2_calls.c:827 #, c-format msgid "Failed to get current tuner frequency for device '%s'." msgstr "" -#: sys/v4l2/v4l2_calls.c:868 +#: sys/v4l2/v4l2_calls.c:869 #, c-format msgid "Failed to set current tuner frequency for device '%s' to %lu Hz." msgstr "" -#: sys/v4l2/v4l2_calls.c:902 +#: sys/v4l2/v4l2_calls.c:903 #, c-format msgid "Failed to get signal strength for device '%s'." msgstr "" -#: sys/v4l2/v4l2_calls.c:938 +#: sys/v4l2/v4l2_calls.c:939 #, c-format msgid "Failed to get value for control %d on device '%s'." msgstr "" -#: sys/v4l2/v4l2_calls.c:973 +#: sys/v4l2/v4l2_calls.c:974 #, c-format msgid "Failed to set value %d for control %d on device '%s'." msgstr "" -#: sys/v4l2/v4l2_calls.c:1053 +#: sys/v4l2/v4l2_calls.c:1054 #, c-format msgid "Failed to get current input on device '%s'. May be it is a radio device" msgstr "" -#: sys/v4l2/v4l2_calls.c:1110 +#: sys/v4l2/v4l2_calls.c:1111 #, c-format msgid "" "Failed to get current output on device '%s'. May be it is a radio device" msgstr "" -#: sys/v4l2/v4l2_calls.c:1135 +#: sys/v4l2/v4l2_calls.c:1136 #, c-format msgid "Failed to set output %d on device %s." msgstr "" diff --git a/po/hr.gmo b/po/hr.gmo index 3da1500d53f9fc2d1ce118b8ef14797633f18ffa..35afecfa606cf6d7b2012f9fb699d95d5db85e8c 100644 GIT binary patch delta 2681 zcmbW2Ux-vy9LLYPxN4MHo1(j}duC>5|IUmvyW9FF%Uy-mRn*OO{R2v!*?V?5bMM?c z-anH~)L0NwV6+?`G%{GQpq`X{h%zK{mxQ3~#d@$Fe2L0H5Q0La@0mMyMsdmr20mxb z`JLbY^Sh@H|9t4&?FGeW2_eUu2x$So0b}3|a5cE9nUEde05}M~4n7H90tdi9!45D9 zVG14qTfvvWE#PUe8@vXt1sB1{25=qN2Oeo5MKX!S2iVAh53eEQFjxT9g&)9!;9_VU z0@GkScotNOzXqQI{{RQUUP=gjCk_|}-v*W3c~ITE2I5ERLxiNjwonn5u-J!<r@=SD zcfha80tcWaivMqco4|9RQuuqBD<g#L#s96~I`9;TBXR}Y58eWw19!9$vIjf^ZUb+E z>%k30Xjg`9a5H!gRH?lQZUsBwb|<KVDrF}@<@sfB9Q+H6gQKW}a`06!0bT${z+XY- za6go^fX{;}L$8!sJcWg-=`6Sf`~^G@#<~bO0saK4o-m*VN8~h!E%GIZ;K&US*(b|- z2-yWD!9lPHs=&SgRVnX)!(al+R3Lc}ncqS_#zHypBd9!UL^w(y0jfyS;4|Pfs7iIE z%z7Lq@qb|U(}hbKA6Xwy_Qz8LG}X5;**p8~$`9+7y&rY1AA65>UO(oq<Qq-x4Gy>S z+?Jm-z0m9LCde+4;WTSad2`1(wV5VdLDRfI9p*B!J8x0PwY>~8GhA+OjyyC!BPMNO zGt-*QH!rVC_!_BsmliT^^SNo3p@C`tG%XBE&a7E3zgykc!Ki=H$|lGtvssqAHm9C{ zkyUQWWJ@@fWjPpxTUn^}oSe<GrqDSRg&G$^Yx-wDYq?zas2^X+uZrcF*4{DSE=$z# zQsrU(BBzcivMLQGqfzZ>RC|!9+(g@p<$Rl*<}A&gzsT~8>Q**qncQ@t(-6AaK(bBY zc+~Nn4A)G4zivnrm{;KL{YRx}cJ}TJ;=U`0MM0Ub(r81u;&q`=Q{a}WPtFz@rgE1c zJ1k9JX--KI8rHV5oI^YP7BDTx6<O95Sg4jFL56KUKZ78khH6$?<k1w2-gmnT?g!Va zg?ucWT*`Ed!VTA=`F<lMTf-})7H$dEs^dM@<eBhj5Yw&jM!6u;Blkxd`-Gz#8E@`{ zSnHJ+2*YzZJjh?Vpx5+cIudCR)X}}1{5*0r(7LfL9A>)fF~bzpGgv{@zTAyoHHg>R zl97s-DEyn8QI_-Qq|Nm_Hz!2Kt5$&3at=?yM)L90N)OR;#FWVlR?`>%P2n|UIG$B& z`-;vSO2_he7nL%r_6?$_7E%d!|ATNf>T1vsmv^GgL8@BY+tA@9Q=Zaay>eHgCfZ+q zqUOP|j#YjCBQtVahZQ&g74mAw;DenQ=!~W`o4a|QAp5u>&?xYUxmFe_Rqr9s3=B4m zg6(WVr(^zXe77@REa|o~s?A?CG5<KrV#_kr$Wc#t3e&4RE4;i_z^uR=<xtB!O<1J{ zVpJHIAXPIWMu+x|sA;OSsbQN|Gsc>qaXJ2(N(H1fxCmRN34*0Re0@DR+cMeQG&h+% z+%>T~XLwV>RDHB(@7O4+4pqYDs(XgVN>;dy*aD>w)LGvh9{Nu@OC~upXx1|@EVw2z z4%)8dsyx(P*j4_TB#56<de2OBbW4xBHp8HWs}&h|jjl47MGeGJ8lueAaXv0X;l{^n zwDEY)NYD~zdxjcvHp>e`{?^mI!pm8RKW$_%qAH&+CO5~z_4ty>BeB%tAnkHloXXp= zrSkh&?~+Qfu-g~t9*Ot2qJM<Ot@1$dtKsDMgqRc)_%z9n;^x9qGs%|3!PO=YaxLhj PWoMa7b3%8xfol8>US4E- delta 2647 zcmbW2ZD<@t7{@1C(-u^Mv9)b-$>c7V+~r=HruMzHiB-}!V%nzFiq%fClXmX*X4ic= z%L%<INTS%<I#{frAW}d0L6lHbiYaO$^n(cEN1;#<(UzhW5u{T8b9<LNn_5LU_|4wV zJoA74^USk9JaKB@2iI;ZZYP9{Eg>WXehVhSt6(eG+C<1^a3k0Yj)N<}^WaMGI@k%W zY$k+)Pl8df2yO&VgG<5h%Upm>`tbZPxEve{ks=wz;4J>gf#DWH_JPMiz3>XS7i@u= z_23~;3p@j^1uuf@zz`)Q4ekY@os5HF@Ex!V{1WT{e*vL|ENUZU8MvaYNJtL`2k?hh z_69f(eg}4g98oYNCqXUXV^9bD4UB^{5;(LKT!Uu?;uZM{d=&f{90E7D6S5n86YK|n z1y_UXittM>^gx}-`=GY=CvX$k2H7!?gW9rVpce8ur~_XIQ{WKJLI3|esGT?mZUL`= zI@8q%0y9Ylq~MF7cB=Ru271CY*a!X&o(9(-J(xo-fZFn>kTzbCmqDHR84yX33m|@E zPJ)mDa4Fae9tJmn=RlpvpP&}phhW<AlK~$j=P}TkT?4hEZlt3ZYy+`|yaGM|o(1*1 zKR_KIjWkz*Y~qtU<~QE8D%HIr)qOu*wsLLvnu)I$y<6Atdepsm<P?ovJQ9r53rjlg zv@O^4rzeHS&5ZhR$^PZRyEGZ#G-n;~slyE62|COR)MHtX(U{9T7AKG7S%$iv!&y#k zYKqLyI>PpZ!{mhBw4koHHZGMS6GWRD<7BtPr%qsPMMmvQYWTJ(Mi555)Y_?jY`!N+ zYa{VonhY|B<v2E`eh`Vxgi_&9xWRU~Yl<v`=va=~akV|vQXgbBVTZ2OmB;FEXt6rp z+Ec8J&(gExQK_X*Pjc!?k<(FKcv3L^siPuqxp=k=8Z{0@jsLLJr>@OM#Aqo+Y31ms zr4qDZNBL;5m2DZ$^d!qOiafGH`X0x2c`4*<=O|n)Fu%aPSzD{OXsD9tXEa(FUZ!me zD|_iP@qEdhG}&euuQs=-OHB>xv9^8&4LIT~qgJT|rpBbsGsk8do+kYcpMD!tZAVbU z8WwpbGpu$Q6js(%&*}DX_dJ79Qy>MkKD@fwt<0$&=1gq$T6nOMz@_lodQmX)Rz}rD z+SOpBu`{PFiannH;%t`247ODA_)Ygb8HvpE@x~MfeRVE!s1kBRdpL?}g41m3s1(#U zS%JzK(SB9+bM4(7wKGNGR#SVbQ++y$!_0FzA~JqpI=iVxJG!u4U$~5$y@il8RZmA- zno5VqP<ykzQ+Bj9RDEB~rkV`4Qgb?*DlX{9bscxptR+3iGJPGkx~#?o(eZ3+%=MTw zm}A6mK4+kF@&C#Gp-!tJ2NBdaoxT4qrzaNOD0PF1c?Z#pjCh*t;ikalgnH&#s9Myy z<ifS}HNpiStm$}kD;vqG@mQ*ec`nyiS&FQW()9CO-)%H0!+J&reNK1JQvD#x0LKdE z8^S6T45Ok{%riSNnWTMtwv;<0MdPExTBdNbd4_631YAIa$>7G{H_1?X!8Sp=lx*q* zmue_JvZ;R;N(nvBp*x3m4dR;NdSbS1`Uk{~f&M8@eOGwZE#v5V+{u|qbG%f4=y#=E zt-KOlg#q8SGu*Upu<vgT%X1joq|EReCc%H*W0^H$j#SY^qH@%G5?d<6(}}+N;Gopy zL|2#oGH8c<+k%u~Gb8dd9>qK>tF0?Fs<=uf!ws;=Lf=GjYPa0D+L2r~x9qq2G?`K# zC6~`F7XqHCYD_g&cHW=5SM{c71C8l(v~dAS-;lV%i+Sk8hJ}h!#gwe*yPDb?8MPdI V5U4G(E;ku!H6wzvD>reR&0j(+SNQ+{ diff --git a/po/hr.po b/po/hr.po index 8cde9f09f..c598b8128 100644 --- a/po/hr.po +++ b/po/hr.po @@ -2,13 +2,13 @@ # This file is put in the public domain. # # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012. -# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017. +# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2017, 2018. msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" -"PO-Revision-Date: 2017-05-04 16:09-0800\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" +"PO-Revision-Date: 2018-04-16 13:02-0800\n" "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n" "Language-Team: Croatian <lokalizacija@linux.hr>\n" "Language: hr\n" @@ -21,7 +21,7 @@ msgstr "" "X-Generator: Lokalize 2.0\n" msgid "Jack server not found" -msgstr "Poslužitelj Jack nije pronaÄ‘en" +msgstr "Jack Server nije pronaÄ‘en" msgid "Failed to decode JPEG image" msgstr "Nije uspjelo dekodirati JPEG sliku" @@ -39,84 +39,81 @@ msgstr "" #. TRANSLATORS: 'song title' by 'artist name' #, c-format msgid "'%s' by '%s'" -msgstr "‘%s’ (‘%s’)" +msgstr "„%s“ („%s“)" msgid "Could not connect to server" -msgstr "Spajanje na poslužitelj nije moguće" +msgstr "Spajanje na server nije moguće" msgid "No URL set." msgstr "URL adresa nije imenovana." msgid "Could not resolve server name." -msgstr "Nije moguće razrijeÅ¡iti ime poslužitelja." +msgstr "Nije moguće razrijeÅ¡iti ime servera." msgid "Could not establish connection to server." -msgstr "Nije moguće uspostaviti vezu s poslužiteljem." +msgstr "Nije moguće uspostaviti vezu sa serverom." msgid "Secure connection setup failed." -msgstr "Uspostavljanje sigurne veze nije uspjelo." +msgstr "Uspostavljanje sigurne veze nije moguće." msgid "" "A network error occurred, or the server closed the connection unexpectedly." -msgstr "" -"Dogodila se mrežna greÅ¡ka, ili je poslužitelj neoÄekivano zatvorio vezu." +msgstr "Dogodila se mrežna greÅ¡ka, ili je server neoÄekivano zatvorio vezu." msgid "Server sent bad data." -msgstr "Poslužitelj je poslao neispravne podatke." +msgstr "Server je poslao loÅ¡e podatke." msgid "Server does not support seeking." -msgstr "Poslužitelj ne podržava traženje." +msgstr "Server ne podržava skok-traženje." msgid "Failed to configure TwoLAME encoder. Check your encoding parameters." msgstr "" msgid "No or invalid input audio, AVI stream will be corrupt." -msgstr "Nema audio ulaza ili je neispravan, AVI stream će biti iskvaren." +msgstr "Nema audio ulaza ili nije valjani, AVI stream će biti oÅ¡tećeni." msgid "This file contains no playable streams." -msgstr "Ova datoteka ne sadrži nijedan upotrebljivi stream (tok podataka)." +msgstr "Ova datoteka ne sadrži upotrebljiva strujanja." msgid "This file is invalid and cannot be played." -msgstr "Datoteka je neispravna i ne može se reproducirati." +msgstr "Datoteka je nije valjana i ne može se reproducirati." msgid "Cannot play stream because it is encrypted with PlayReady DRM." msgstr "" -"Ovaj stream nije moguće reproducirati jer je kriptiran s PlayReady DRM." +"Ovo strujanje nije moguće reproducirati jer je Å¡ifrirano s PlayReady DRM." msgid "This file is corrupt and cannot be played." -msgstr "Datoteka je iskvarena i ne može se reproducirati." +msgstr "Datoteka je oÅ¡tećena i ne može se reproducirati." msgid "Invalid atom size." -msgstr "VeliÄina atoma je neispravna." +msgstr "VeliÄina atoma nije valjana." msgid "This file is incomplete and cannot be played." msgstr "Datoteka je nepotpuna i ne može se reproducirati." msgid "The video in this file might not play correctly." -msgstr "Video iz ove datoteke se možda neće ispravno reproducirati." +msgstr "Video iz ove datoteke se možda neće pravilno reproducirati." #, c-format msgid "This file contains too many streams. Only playing first %d" -msgstr "" -"U ovoj datoteci ima previÅ¡e streamova (streams). Samo prvih %d će se " -"reproducirati" +msgstr "U ovoj datoteci ima previÅ¡e struja. Samo prvih %d će se reproducirati" # https://gstreamer.freedesktop.org/documentation/rtp.html msgid "" "No supported stream was found. You might need to install a GStreamer RTSP " "extension plugin for Real media streams." msgstr "" -"Nijedan podržani stream nije naÄ‘en. Možda ćete morati instalirati GStreamer " -"RTSP dodatni plugin za Real medijske streamove." +"Nijedna podržana struja nije pronaÄ‘ena. Možda ćete morati instalirati plugin " +"za RTSP proÅ¡irenje GStreamera za Real multimedijske struje." msgid "" "No supported stream was found. You might need to allow more transport " "protocols or may otherwise be missing the right GStreamer RTSP extension " "plugin." msgstr "" -"Nijedan podržani stream nije naÄ‘en. Možda ćete morati dopustiti viÅ¡e " -"prijenosnih protokola ili možda vam nedostaje odgovarajući GStreamer RTSP " -"dodatni plugin." +"Nijedna podržana struja nije pronaÄ‘ena. Možda ćete morati dopustiti viÅ¡e " +"prijenosnih protokola ili možda vam nedostaje odgovarajući plugin za RTSP " +"proÅ¡irenje GStreamera." msgid "" "Could not open audio device for playback. Device is being used by another " @@ -152,7 +149,7 @@ msgid "Recording is not supported by this audio device." msgstr "Ovaj audioureÄ‘aj ne podržava snimanje." msgid "Error recording from audio device." -msgstr "GreÅ¡ka snimanja s audioureÄ‘aja." +msgstr "GreÅ¡ka pri snimanja s audioureÄ‘aja." msgid "" "Could not open audio device for recording. You don't have permission to open " @@ -172,26 +169,26 @@ msgstr "CoreAudio ureÄ‘aj nije moguće otvoriti" #, c-format msgid "Error reading %d bytes from device '%s'." -msgstr "GreÅ¡ka Äitanja %d bajtova s ureÄ‘aja ‘%s’." +msgstr "GreÅ¡ka Äitanja %d bajtova iz ureÄ‘aja „%s“." #, c-format msgid "Failed to enumerate possible video formats device '%s' can work with" msgstr "" -"Nije uspjelo nabrojati sve moguće video formate s kojima ureÄ‘aj ‘%s’ može " +"Nije uspjelo nabrojati sve moguće video formate s kojima ureÄ‘aj „%s“ može " "raditi" #, c-format msgid "Could not map buffers from device '%s'" -msgstr "Nije moguće preslikati (map) meÄ‘uspremnike iz ureÄ‘aja ‘%s’" +msgstr "Nije moguće mapirati meÄ‘uspremnike iz ureÄ‘aja „%s“" #, c-format msgid "The driver of device '%s' does not support the IO method %d" -msgstr "UpravljaÄki program ureÄ‘aja ‘%s’ ne podržava IO metodu %d" +msgstr "UpravljaÄki program ureÄ‘aja „%s“ ne podržava IO metodu %d" #, c-format msgid "The driver of device '%s' does not support any known IO method." msgstr "" -"UpravljaÄki program ureÄ‘aja ‘%s’ ne podržava nijednu poznatu IO metodu." +"UpravljaÄki program ureÄ‘aja „%s“ ne podržava nijednu poznatu IO metodu." #, fuzzy, c-format msgid "Device '%s' has no supported format" @@ -203,72 +200,72 @@ msgstr "" #, c-format msgid "Device '%s' is busy" -msgstr "UreÄ‘aj ‘%s’ je zauzet" +msgstr "UreÄ‘aj „%s“ je zauzet" #, c-format msgid "Device '%s' cannot capture at %dx%d" -msgstr "UreÄ‘aj ‘%s’ ne može snimati s razluÄivosti od %dx%d" +msgstr "UreÄ‘aj „%s“ ne može snimiti na %dx%d" #, c-format msgid "Device '%s' cannot capture in the specified format" -msgstr "UreÄ‘aj ‘%s’ ne može snimati u specificiranom formatu." +msgstr "UreÄ‘aj „%s“ ne može snimiti u specificiranom formatu." #, c-format msgid "Device '%s' does support non-contiguous planes" -msgstr "Device ‘%s’ ne podržava prekinute ravnine" +msgstr "Device „%s“ ne podržava komponente slika koje nisu susjedne" #, fuzzy, c-format msgid "Device '%s' does not support %s interlacing" -msgstr "Poslužitelj ne podržava traženje." +msgstr "Server ne podržava skok-traženje." #, fuzzy, c-format msgid "Device '%s' does not support %s colorimetry" -msgstr "Device ‘%s’ ne podržava prekinute ravnine" +msgstr "Device „%s“ ne podržava komponente slika koje nisu susjedne" #, c-format msgid "Could not get parameters on device '%s'" -msgstr "Parametre ureÄ‘aja ‘%s’ nije moguće dobiti" +msgstr "Parametre ureÄ‘aja „%s“ nije moguće dobiti" msgid "Video device did not accept new frame rate setting." -msgstr "VideoureÄ‘aj nije prihvatio novu frekvenciju slika (ili poluslika)." +msgstr "VideoureÄ‘aj nije prihvatio novu frekvenciju slika." msgid "Video device did not provide output format." -msgstr "VideoureÄ‘aj nije predoÄio izlazni format." +msgstr "VideoureÄ‘aj nije specificirao izlazni format." msgid "Video device returned invalid dimensions." -msgstr "VideoureÄ‘aj je uzvratio s neispravnim dimenzijama." +msgstr "VideoureÄ‘aj je uzvratio s nevaljanim dimenzijama." msgid "Video device uses an unsupported interlacing method." msgstr "VideoureÄ‘aj koristi nepodržanu metodu poluslika." msgid "Video device uses an unsupported pixel format." -msgstr "VideoureÄ‘aj koristi format piksela koji nije podržan." +msgstr "VideoureÄ‘aj koristi nepodržani format piksela." msgid "Failed to configure internal buffer pool." -msgstr "Nije uspjelo konfigurirati internu zalihu meÄ‘uspremnika." +msgstr "Nije uspjelo konfigurirati interni skup meÄ‘uspremnika." msgid "Video device did not suggest any buffer size." msgstr "VideoureÄ‘aj nije predložio nijednu veliÄinu meÄ‘uspremnika." msgid "No downstream pool to import from." -msgstr "Nema se od nikuda uvesti ‘downstream’ zaliha." +msgstr "Ne postoji downstream pool iz kojeg se može uvoziti." # tuner > Å¡telanje frekvencije, mijenjanje (biranje) kanala #, c-format msgid "Failed to get settings of tuner %d on device '%s'." -msgstr "Nije uspjelo dobiti postavke tunera %d na ureÄ‘aj ‘%s’." +msgstr "Nije uspjelo dobiti postavke prijamnika %d na ureÄ‘aj „%s“." #, c-format msgid "Error getting capabilities for device '%s'." -msgstr "GreÅ¡ka pri dobivanju podataka o mogućnostima ureÄ‘aja ‘%s’." +msgstr "GreÅ¡ka pri dobivanju Caps (mogućnostima) ureÄ‘aja „%s“." #, c-format msgid "Device '%s' is not a tuner." -msgstr "UreÄ‘aj ‘%s’ nije tuner." +msgstr "UreÄ‘aj „%s“ nije prijamnik." #, c-format msgid "Failed to get radio input on device '%s'. " -msgstr "Nije uspjelo dobiti radijski ulaz na ureÄ‘aju ‘%s’. " +msgstr "Primanje radiosignala na ureÄ‘aju „%s“ nije uspjelo." #, c-format msgid "Failed to set input %d on device %s." @@ -276,10 +273,11 @@ msgstr "Nije uspjelo postaviti ulaz %d na ureÄ‘aj %s." #, c-format msgid "Failed to change mute state for device '%s'." -msgstr "Nije uspjelo promijeniti status mute (Zvûk (da/ne) za ureÄ‘aj ‘%s’." +msgstr "" +"Nije uspjelo promijeniti status iskljuÄi/ukljuÄi (mute) zvûk za ureÄ‘aj „%s“." msgid "Failed to allocated required memory." -msgstr "Nije uspjelo izdvojiti potrebnu memoriju." +msgstr "Nije uspjelo dodijeliti potrebnu memoriju." msgid "Failed to allocate required memory." msgstr "Nije uspjelo dodijeliti potrebnu memoriju." @@ -301,22 +299,22 @@ msgid "Encoder on device %s has no supported output format" msgstr "Koder na ureÄ‘aju %s nema podržani izlazni format" msgid "Failed to start decoding thread." -msgstr "Nije uspjelo zapoÄeti dekodiranje niti (thread)." +msgstr "Nije uspjelo zapoÄeti dekodiranje dretve." msgid "Failed to process frame." msgstr "Nije uspjelo obraditi sliku (polusliku)." #, fuzzy msgid "Failed to start encoding thread." -msgstr "Nije uspjelo zapoÄeti dekodiranje niti (thread)." +msgstr "Nije uspjelo zapoÄeti dekodiranje dretve." #, c-format msgid "" "Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if " "it is a v4l1 driver." msgstr "" -"GreÅ¡ka pri dobivanja mogućnosti za ureÄ‘aj ‘%s’: To nije v4l2 upravljaÄki " -"program. Provjerite da li je v4l1 upravljaÄki program." +"GreÅ¡ka pri dobivanja Caps (mogućnosti) za ureÄ‘aj „%s“: To nije v4l2 " +"upravljaÄki program. Provjerite ako je to v4l1 upravljaÄki program." #, c-format msgid "Failed to query attributes of input %d in device %s" @@ -324,80 +322,80 @@ msgstr "Nije uspjelo ispitati svojstva ulaza %d ureÄ‘aja %s" #, c-format msgid "Failed to get setting of tuner %d on device '%s'." -msgstr "Nije uspjelo dobiti postavke tunera %d ureÄ‘aja ‘%s’." +msgstr "Nije uspjelo dobiti postavke prijamnika %d ureÄ‘aja „%s“." #, c-format msgid "Failed to query norm on device '%s'." -msgstr "Nije uspjelo ispitati normu (standard) na ureÄ‘aju ‘%s’." +msgstr "Nije uspjelo ispitati normu na ureÄ‘aju „%s“." #, c-format msgid "Failed getting controls attributes on device '%s'." -msgstr "Nije uspjelo dobiti upravljaÄka svojstva ureÄ‘aja ‘%s’." +msgstr "Nije uspjelo dobiti upravljaÄka svojstva ureÄ‘aja „%s“." #, c-format msgid "Cannot identify device '%s'." -msgstr "Ne može se identificirati ureÄ‘aj ‘%s’." +msgstr "Ne može se identificirati ureÄ‘aj „%s“." #, c-format msgid "This isn't a device '%s'." -msgstr "Ovo nije ureÄ‘aj ‘%s’." +msgstr "Ovo nije ureÄ‘aj „%s“." #, c-format msgid "Could not open device '%s' for reading and writing." -msgstr "UreÄ‘aj ‘%s’nije moguće otvoriti za Äitanje i pisanje." +msgstr "UreÄ‘aj „%s“nije bilo moguće otvoriti za Äitanje i pisanje." #, c-format msgid "Device '%s' is not a capture device." -msgstr "UreÄ‘aj ‘%s’ nije ureÄ‘aj za snimanje." +msgstr "UreÄ‘aj „%s“ nije ureÄ‘aj za snimanje." #, c-format msgid "Device '%s' is not a output device." -msgstr "UreÄ‘aj ‘%s’ nije izlazni ureÄ‘aj." +msgstr "UreÄ‘aj „%s“ nije izlazni ureÄ‘aj." #, c-format msgid "Device '%s' is not a M2M device." -msgstr "UreÄ‘aj ‘%s’ nije M2M ureÄ‘aj." +msgstr "UreÄ‘aj „%s“ nije M2M ureÄ‘aj." #, c-format msgid "Could not dup device '%s' for reading and writing." -msgstr "UreÄ‘aj ‘%s’nije moguće duplicirati za Äitanje i pisanje." +msgstr "UreÄ‘aj „%s“ nije bilo moguće otvoriti za Äitanje i pisanje." #, c-format msgid "Failed to set norm for device '%s'." -msgstr "Nije uspjelo postaviti normu (standard) za ureÄ‘aj ‘%s’." +msgstr "Nije uspjelo postaviti normu (standard) za ureÄ‘aj „%s“." #, c-format msgid "Failed to get current tuner frequency for device '%s'." -msgstr "Nije uspjelo dobiti trenutaÄnu frekvenciju tunera za ureÄ‘aj ‘%s’." +msgstr "Nije uspjelo dobiti aktualnu frekvenciju prijamnika za ureÄ‘aj „%s“." #, c-format msgid "Failed to set current tuner frequency for device '%s' to %lu Hz." msgstr "" -"Nije uspjelo postaviti trenutaÄnu frekvenciju tunera za ureÄ‘aj ‘%s’ na %lu " +"Nije uspjelo postaviti aktualnu frekvenciju prijamnika za ureÄ‘aj „%s“ na %lu " "Hz." #, c-format msgid "Failed to get signal strength for device '%s'." -msgstr "Nije uspjelo dobiti snagu signala za ureÄ‘aj ‘%s’." +msgstr "Nije uspjelo dobiti snagu signala za ureÄ‘aj „%s“." #, c-format msgid "Failed to get value for control %d on device '%s'." -msgstr "Nije uspjelo dobiti vrijednost za kontrolu %d na ureÄ‘aju ‘%s’." +msgstr "Nije uspjelo dobiti vrijednost za postavku %d na ureÄ‘aju „%s“." #, c-format msgid "Failed to set value %d for control %d on device '%s'." -msgstr "Nije uspjelo postaviti vrijednost %d za kontrolu %d na ureÄ‘aju ‘%s’." +msgstr "Nije uspjelo postaviti vrijednost %d za postavku %d na ureÄ‘aju „%s“." #, c-format msgid "Failed to get current input on device '%s'. May be it is a radio device" msgstr "" -"Nije uspjelo dobiti trenutaÄni ulaz na ureÄ‘aju ‘%s’. Možda je to radioureÄ‘aj" +"Nije uspjelo dobiti aktualni ulaz na ureÄ‘aju „%s“. Možda je to radioureÄ‘aj" #, c-format msgid "" "Failed to get current output on device '%s'. May be it is a radio device" msgstr "" -"Nije uspjelo dobiti trenutaÄni izlaz na ureÄ‘aju ‘%s’. Možda je to radioureÄ‘aj" +"Nije uspjelo dobiti aktualni izlaz na ureÄ‘aju „%s“. Možda je to radioureÄ‘aj" #, c-format msgid "Failed to set output %d on device %s." @@ -407,7 +405,7 @@ msgid "Changing resolution at runtime is not yet supported." msgstr "Promjena rezolucije u tijeku rada (runtime) joÅ¡ nije podržana." msgid "Cannot operate without a clock" -msgstr "Ne mogu raditi bez takta (sata)" +msgstr "Nije moguće raditi bez sata" #~ msgid "Record Source" #~ msgstr "Izvor snimanja" @@ -431,10 +429,10 @@ msgstr "Ne mogu raditi bez takta (sata)" #~ msgstr "AUX 2 ulaz" #~ msgid "Codec Loopback" -#~ msgstr "Kodek-povratna petlja" +#~ msgstr "Kodekova povratna petlja" #~ msgid "SunVTS Loopback" -#~ msgstr "SunVTS-povratna petlja" +#~ msgstr "SunVTS povratna petlja" #~ msgid "Volume" #~ msgstr "Glasnoća" @@ -443,7 +441,7 @@ msgstr "Ne mogu raditi bez takta (sata)" #~ msgstr "PojaÄanje" #~ msgid "Monitor" -#~ msgstr "Nadzor" +#~ msgstr "Monitor" #~ msgid "Built-in Speaker" #~ msgstr "UgraÄ‘eni zvuÄnik" diff --git a/po/hu.po b/po/hu.po index e9c47acff..4714d5b1b 100644 --- a/po/hu.po +++ b/po/hu.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-05 20:11+0200\n" "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" diff --git a/po/id.po b/po/id.po index 7aba73813..5f56fbc08 100644 --- a/po/id.po +++ b/po/id.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.10.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2016-11-10 22:06+0700\n" "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" diff --git a/po/it.po b/po/it.po index 8167dbfa5..1511f4b5c 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.25.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2010-10-25 10:11+0200\n" "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n" diff --git a/po/ja.po b/po/ja.po index ee75ff895..3e313a826 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.0.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2012-12-22 20:13+0900\n" "Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" diff --git a/po/lt.po b/po/lt.po index e0e4ad6df..e5281823c 100644 --- a/po/lt.po +++ b/po/lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2010-07-16 19:34+0300\n" "Last-Translator: Žygimantas BeruÄka <uid0@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" diff --git a/po/lv.po b/po/lv.po index 502fbc452..d9b4fdfbb 100644 --- a/po/lv.po +++ b/po/lv.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.2.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2014-04-20 16:38+0300\n" "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n" "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n" diff --git a/po/mt.po b/po/mt.po index 4d32d37cf..2f16b2c29 100644 --- a/po/mt.po +++ b/po/mt.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.10.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2008-10-26 19:09+0100\n" "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n" "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n" diff --git a/po/nb.po b/po/nb.po index 462a2ef8a..6ffaef82f 100644 --- a/po/nb.po +++ b/po/nb.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-23 23:04+0200\n" "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n" "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n" diff --git a/po/nl.po b/po/nl.po index f35361a23..cb721f9ba 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-10-23 23:59+0100\n" "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" diff --git a/po/or.po b/po/or.po index bf9f58e4b..f821c4163 100644 --- a/po/or.po +++ b/po/or.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2004-09-27 13:32+0530\n" "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n" "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n" diff --git a/po/pl.po b/po/pl.po index 36fc45def..869603c55 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-04 19:05+0200\n" "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index f16d16e5f..f6d0edfed 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.7.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2016-05-06 17:49-0300\n" "Last-Translator: FabrÃcio Godoy <skarllot@gmail.com>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." diff --git a/po/ro.po b/po/ro.po index 39536148d..5e3a8716d 100644 --- a/po/ro.po +++ b/po/ro.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2010-08-16 03:22+0300\n" "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" diff --git a/po/ru.po b/po/ru.po index bf41d0011..594599014 100644 --- a/po/ru.po +++ b/po/ru.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-05 19:23+0300\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <gnu@d07.ru>\n" diff --git a/po/sk.po b/po/sk.po index 6338ea280..6aca9827c 100644 --- a/po/sk.po +++ b/po/sk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.7.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2016-05-20 12:31+0100\n" "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" diff --git a/po/sl.po b/po/sl.po index 1820a3a05..379f3c33d 100644 --- a/po/sl.po +++ b/po/sl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.2.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2014-04-09 22:52+0100\n" "Last-Translator: Klemen KoÅ¡ir <klemen913@gmail.com>\n" "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" diff --git a/po/sq.po b/po/sq.po index d8c1c112f..5b139182f 100644 --- a/po/sq.po +++ b/po/sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2004-08-07 20:29+0200\n" "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n" "Language-Team: Albanian <begraj@hotmail.com>\n" diff --git a/po/sr.po b/po/sr.po index 5a9b2c373..30c9b5b30 100644 --- a/po/sr.po +++ b/po/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-07 12:21+0200\n" "Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n" "Language-Team: Serbian <(nothing)>\n" diff --git a/po/sv.po b/po/sv.po index 3d8509b9b..e8f5a5711 100644 --- a/po/sv.po +++ b/po/sv.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-21 19:00+0800\n" "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" diff --git a/po/tr.po b/po/tr.po index 7a19d30a7..387fd58cf 100644 --- a/po/tr.po +++ b/po/tr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-05 10:55+0300\n" "Last-Translator: Mehmet Kececi <mkececi@mehmetkececi.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" diff --git a/po/uk.po b/po/uk.po index 04438ca40..a3b01da9a 100644 --- a/po/uk.po +++ b/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-04 22:20+0300\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" diff --git a/po/vi.po b/po/vi.po index 283ecae90..228a2cb02 100644 --- a/po/vi.po +++ b/po/vi.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-05 06:52+0700\n" "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index 82e8ea56e..fc6b937bd 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 1.12.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2017-05-05 22:54+0800\n" "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" diff --git a/po/zh_HK.po b/po/zh_HK.po index 58654df5f..b2b3f2bce 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2006-08-29 01:08+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n" diff --git a/po/zh_TW.po b/po/zh_TW.po index 22a208b85..6fb02279f 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2018-03-19 20:18+0000\n" +"POT-Creation-Date: 2018-05-17 13:25+0100\n" "PO-Revision-Date: 2006-08-29 01:08+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c index 1f14cd607..f0f8d0b22 100644 --- a/sys/v4l2/gstv4l2object.c +++ b/sys/v4l2/gstv4l2object.c @@ -25,7 +25,6 @@ #include <sys/stat.h> #include <fcntl.h> #include <errno.h> -#include <unistd.h> #include <string.h> #include <sys/mman.h> #include <sys/ioctl.h> @@ -2084,7 +2083,7 @@ gst_v4l2_object_get_colorspace (struct v4l2_format *fmt, switch (transfer) { case V4L2_XFER_FUNC_709: - if (fmt->fmt.pix.height >= 2160) + if (colorspace == V4L2_COLORSPACE_BT2020 && fmt->fmt.pix.height >= 2160) cinfo->transfer = GST_VIDEO_TRANSFER_BT2020_12; else cinfo->transfer = GST_VIDEO_TRANSFER_BT709; @@ -2879,6 +2878,12 @@ gst_v4l2_object_is_dmabuf_supported (GstV4l2Object * v4l2object) .flags = O_CLOEXEC | O_RDWR, }; + if (v4l2object->fmtdesc->flags & V4L2_FMT_FLAG_EMULATED) { + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "libv4l2 converter detected, disabling DMABuf"); + ret = FALSE; + } + /* Expected to fail, but ENOTTY tells us that it is not implemented. */ v4l2object->ioctl (v4l2object->video_fd, VIDIOC_EXPBUF, &expbuf); if (errno == ENOTTY) @@ -3250,135 +3255,133 @@ gst_v4l2_object_set_format_full (GstV4l2Object * v4l2object, GstCaps * caps, field = V4L2_FIELD_NONE; } - if (V4L2_TYPE_IS_OUTPUT (v4l2object->type)) { - /* We first pick th main colorspace from the primaries */ - switch (info.colorimetry.primaries) { - case GST_VIDEO_COLOR_PRIMARIES_BT709: - /* There is two colorspaces using these primaries, use the range to - * differentiate */ - if (info.colorimetry.range == GST_VIDEO_COLOR_RANGE_16_235) - colorspace = V4L2_COLORSPACE_REC709; - else - colorspace = V4L2_COLORSPACE_SRGB; - break; - case GST_VIDEO_COLOR_PRIMARIES_BT2020: - colorspace = V4L2_COLORSPACE_BT2020; - break; - case GST_VIDEO_COLOR_PRIMARIES_BT470M: - colorspace = V4L2_COLORSPACE_470_SYSTEM_M; - break; - case GST_VIDEO_COLOR_PRIMARIES_BT470BG: - colorspace = V4L2_COLORSPACE_470_SYSTEM_BG; - break; - case GST_VIDEO_COLOR_PRIMARIES_SMPTE170M: - colorspace = V4L2_COLORSPACE_SMPTE170M; - break; - case GST_VIDEO_COLOR_PRIMARIES_SMPTE240M: - colorspace = V4L2_COLORSPACE_SMPTE240M; - break; + /* We first pick th main colorspace from the primaries */ + switch (info.colorimetry.primaries) { + case GST_VIDEO_COLOR_PRIMARIES_BT709: + /* There is two colorspaces using these primaries, use the range to + * differentiate */ + if (info.colorimetry.range == GST_VIDEO_COLOR_RANGE_16_235) + colorspace = V4L2_COLORSPACE_REC709; + else + colorspace = V4L2_COLORSPACE_SRGB; + break; + case GST_VIDEO_COLOR_PRIMARIES_BT2020: + colorspace = V4L2_COLORSPACE_BT2020; + break; + case GST_VIDEO_COLOR_PRIMARIES_BT470M: + colorspace = V4L2_COLORSPACE_470_SYSTEM_M; + break; + case GST_VIDEO_COLOR_PRIMARIES_BT470BG: + colorspace = V4L2_COLORSPACE_470_SYSTEM_BG; + break; + case GST_VIDEO_COLOR_PRIMARIES_SMPTE170M: + colorspace = V4L2_COLORSPACE_SMPTE170M; + break; + case GST_VIDEO_COLOR_PRIMARIES_SMPTE240M: + colorspace = V4L2_COLORSPACE_SMPTE240M; + break; - case GST_VIDEO_COLOR_PRIMARIES_FILM: - case GST_VIDEO_COLOR_PRIMARIES_UNKNOWN: - /* We don't know, we will guess */ - break; + case GST_VIDEO_COLOR_PRIMARIES_FILM: + case GST_VIDEO_COLOR_PRIMARIES_UNKNOWN: + /* We don't know, we will guess */ + break; - default: - GST_WARNING_OBJECT (v4l2object->dbg_obj, - "Unknown colorimetry primaries %d", info.colorimetry.primaries); - break; - } + default: + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "Unknown colorimetry primaries %d", info.colorimetry.primaries); + break; + } - switch (info.colorimetry.range) { - case GST_VIDEO_COLOR_RANGE_0_255: - range = V4L2_QUANTIZATION_FULL_RANGE; - break; - case GST_VIDEO_COLOR_RANGE_16_235: - range = V4L2_QUANTIZATION_LIM_RANGE; - break; - case GST_VIDEO_COLOR_RANGE_UNKNOWN: - /* We let the driver pick a default one */ - break; - default: - GST_WARNING_OBJECT (v4l2object->dbg_obj, - "Unknown colorimetry range %d", info.colorimetry.range); - break; - } + switch (info.colorimetry.range) { + case GST_VIDEO_COLOR_RANGE_0_255: + range = V4L2_QUANTIZATION_FULL_RANGE; + break; + case GST_VIDEO_COLOR_RANGE_16_235: + range = V4L2_QUANTIZATION_LIM_RANGE; + break; + case GST_VIDEO_COLOR_RANGE_UNKNOWN: + /* We let the driver pick a default one */ + break; + default: + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "Unknown colorimetry range %d", info.colorimetry.range); + break; + } - switch (info.colorimetry.matrix) { - case GST_VIDEO_COLOR_MATRIX_RGB: - /* Unspecified, leave to default */ - break; - /* FCC is about the same as BT601 with less digit */ - case GST_VIDEO_COLOR_MATRIX_FCC: - case GST_VIDEO_COLOR_MATRIX_BT601: - matrix = V4L2_YCBCR_ENC_601; - break; - case GST_VIDEO_COLOR_MATRIX_BT709: - matrix = V4L2_YCBCR_ENC_709; - break; - case GST_VIDEO_COLOR_MATRIX_SMPTE240M: - matrix = V4L2_YCBCR_ENC_SMPTE240M; - break; - case GST_VIDEO_COLOR_MATRIX_BT2020: - matrix = V4L2_YCBCR_ENC_BT2020; - break; - case GST_VIDEO_COLOR_MATRIX_UNKNOWN: - /* We let the driver pick a default one */ - break; - default: - GST_WARNING_OBJECT (v4l2object->dbg_obj, - "Unknown colorimetry matrix %d", info.colorimetry.matrix); - break; - } + switch (info.colorimetry.matrix) { + case GST_VIDEO_COLOR_MATRIX_RGB: + /* Unspecified, leave to default */ + break; + /* FCC is about the same as BT601 with less digit */ + case GST_VIDEO_COLOR_MATRIX_FCC: + case GST_VIDEO_COLOR_MATRIX_BT601: + matrix = V4L2_YCBCR_ENC_601; + break; + case GST_VIDEO_COLOR_MATRIX_BT709: + matrix = V4L2_YCBCR_ENC_709; + break; + case GST_VIDEO_COLOR_MATRIX_SMPTE240M: + matrix = V4L2_YCBCR_ENC_SMPTE240M; + break; + case GST_VIDEO_COLOR_MATRIX_BT2020: + matrix = V4L2_YCBCR_ENC_BT2020; + break; + case GST_VIDEO_COLOR_MATRIX_UNKNOWN: + /* We let the driver pick a default one */ + break; + default: + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "Unknown colorimetry matrix %d", info.colorimetry.matrix); + break; + } - switch (info.colorimetry.transfer) { - case GST_VIDEO_TRANSFER_GAMMA18: - case GST_VIDEO_TRANSFER_GAMMA20: - case GST_VIDEO_TRANSFER_GAMMA22: - case GST_VIDEO_TRANSFER_GAMMA28: - GST_WARNING_OBJECT (v4l2object->dbg_obj, - "GAMMA 18, 20, 22, 28 transfer functions not supported"); - /* fallthrough */ - case GST_VIDEO_TRANSFER_GAMMA10: - transfer = V4L2_XFER_FUNC_NONE; - break; - case GST_VIDEO_TRANSFER_BT2020_12: - case GST_VIDEO_TRANSFER_BT709: - transfer = V4L2_XFER_FUNC_709; - break; - case GST_VIDEO_TRANSFER_SMPTE240M: - transfer = V4L2_XFER_FUNC_SMPTE240M; - break; - case GST_VIDEO_TRANSFER_SRGB: - transfer = V4L2_XFER_FUNC_SRGB; - break; - case GST_VIDEO_TRANSFER_LOG100: - case GST_VIDEO_TRANSFER_LOG316: - GST_WARNING_OBJECT (v4l2object->dbg_obj, - "LOG 100, 316 transfer functions not supported"); - /* FIXME No known sensible default, maybe AdobeRGB ? */ - break; - case GST_VIDEO_TRANSFER_UNKNOWN: - /* We let the driver pick a default one */ - break; - default: - GST_WARNING_OBJECT (v4l2object->dbg_obj, - "Unknown colorimetry tranfer %d", info.colorimetry.transfer); - break; - } + switch (info.colorimetry.transfer) { + case GST_VIDEO_TRANSFER_GAMMA18: + case GST_VIDEO_TRANSFER_GAMMA20: + case GST_VIDEO_TRANSFER_GAMMA22: + case GST_VIDEO_TRANSFER_GAMMA28: + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "GAMMA 18, 20, 22, 28 transfer functions not supported"); + /* fallthrough */ + case GST_VIDEO_TRANSFER_GAMMA10: + transfer = V4L2_XFER_FUNC_NONE; + break; + case GST_VIDEO_TRANSFER_BT2020_12: + case GST_VIDEO_TRANSFER_BT709: + transfer = V4L2_XFER_FUNC_709; + break; + case GST_VIDEO_TRANSFER_SMPTE240M: + transfer = V4L2_XFER_FUNC_SMPTE240M; + break; + case GST_VIDEO_TRANSFER_SRGB: + transfer = V4L2_XFER_FUNC_SRGB; + break; + case GST_VIDEO_TRANSFER_LOG100: + case GST_VIDEO_TRANSFER_LOG316: + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "LOG 100, 316 transfer functions not supported"); + /* FIXME No known sensible default, maybe AdobeRGB ? */ + break; + case GST_VIDEO_TRANSFER_UNKNOWN: + /* We let the driver pick a default one */ + break; + default: + GST_WARNING_OBJECT (v4l2object->dbg_obj, + "Unknown colorimetry tranfer %d", info.colorimetry.transfer); + break; + } - if (colorspace == 0) { - /* Try to guess colorspace according to pixelformat and size */ - if (GST_VIDEO_INFO_IS_YUV (&info)) { - /* SD streams likely use SMPTE170M and HD streams REC709 */ - if (width <= 720 && height <= 576) - colorspace = V4L2_COLORSPACE_SMPTE170M; - else - colorspace = V4L2_COLORSPACE_REC709; - } else if (GST_VIDEO_INFO_IS_RGB (&info)) { - colorspace = V4L2_COLORSPACE_SRGB; - transfer = V4L2_XFER_FUNC_NONE; - } + if (colorspace == 0) { + /* Try to guess colorspace according to pixelformat and size */ + if (GST_VIDEO_INFO_IS_YUV (&info)) { + /* SD streams likely use SMPTE170M and HD streams REC709 */ + if (width <= 720 && height <= 576) + colorspace = V4L2_COLORSPACE_SMPTE170M; + else + colorspace = V4L2_COLORSPACE_REC709; + } else if (GST_VIDEO_INFO_IS_RGB (&info)) { + colorspace = V4L2_COLORSPACE_SRGB; + transfer = V4L2_XFER_FUNC_NONE; } } diff --git a/sys/v4l2/gstv4l2object.h b/sys/v4l2/gstv4l2object.h index fc3c4c7ed..9097a48f7 100644 --- a/sys/v4l2/gstv4l2object.h +++ b/sys/v4l2/gstv4l2object.h @@ -35,6 +35,7 @@ #include <gst/base/gstpushsrc.h> #include <gst/video/video.h> +#include <unistd.h> typedef struct _GstV4l2Object GstV4l2Object; typedef struct _GstV4l2ObjectClassHelper GstV4l2ObjectClassHelper; diff --git a/sys/v4l2/gstv4l2transform.c b/sys/v4l2/gstv4l2transform.c index 33052a8e1..2f01375be 100644 --- a/sys/v4l2/gstv4l2transform.c +++ b/sys/v4l2/gstv4l2transform.c @@ -1079,8 +1079,6 @@ gst_v4l2_transform_subinstance_init (GTypeInstance * instance, gpointer g_class) GST_OBJECT (GST_BASE_TRANSFORM_SRC_PAD (self)), V4L2_BUF_TYPE_VIDEO_CAPTURE, klass->default_device, gst_v4l2_get_input, gst_v4l2_set_input, NULL); - self->v4l2capture->no_initial_format = TRUE; - self->v4l2output->keep_aspect = FALSE; } static void diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c index dc06774a6..09369ccc6 100644 --- a/sys/v4l2/gstv4l2videodec.c +++ b/sys/v4l2/gstv4l2videodec.c @@ -956,8 +956,6 @@ gst_v4l2_video_dec_subinstance_init (GTypeInstance * instance, gpointer g_class) GST_OBJECT (GST_VIDEO_DECODER_SRC_PAD (self)), V4L2_BUF_TYPE_VIDEO_CAPTURE, klass->default_device, gst_v4l2_get_input, gst_v4l2_set_input, NULL); - self->v4l2capture->no_initial_format = TRUE; - self->v4l2output->keep_aspect = FALSE; } static void diff --git a/sys/v4l2/gstv4l2videoenc.c b/sys/v4l2/gstv4l2videoenc.c index d365a250d..4269b280f 100644 --- a/sys/v4l2/gstv4l2videoenc.c +++ b/sys/v4l2/gstv4l2videoenc.c @@ -1042,8 +1042,6 @@ gst_v4l2_video_enc_subinstance_init (GTypeInstance * instance, gpointer g_class) GST_OBJECT (GST_VIDEO_ENCODER_SRC_PAD (self)), V4L2_BUF_TYPE_VIDEO_CAPTURE, klass->default_device, gst_v4l2_get_input, gst_v4l2_set_input, NULL); - self->v4l2capture->no_initial_format = TRUE; - self->v4l2output->keep_aspect = FALSE; } static void diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c index 12fc82160..6303b1747 100644 --- a/sys/v4l2/v4l2_calls.c +++ b/sys/v4l2/v4l2_calls.c @@ -695,6 +695,7 @@ gst_v4l2_dup (GstV4l2Object * v4l2object, GstV4l2Object * other) v4l2object->vcap.card, v4l2object->videodev); v4l2object->never_interlaced = other->never_interlaced; + v4l2object->no_initial_format = other->no_initial_format; return TRUE; diff --git a/tests/check/elements/flvmux.c b/tests/check/elements/flvmux.c index 34b5d1c33..f8b40590e 100644 --- a/tests/check/elements/flvmux.c +++ b/tests/check/elements/flvmux.c @@ -169,43 +169,61 @@ create_buffer (guint8 * data, gsize size, return buf; } +guint8 speex_hdr0[] = { + 0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20, 0x20, + 0x31, 0x2e, 0x32, 0x72, 0x63, 0x31, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x00, 0x80, 0x3e, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +guint8 speex_hdr1[] = { + 0x1f, 0x00, 0x00, 0x00, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x47, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x65, 0x72, 0x20, 0x53, 0x70, 0x65, 0x65, 0x78, + 0x65, 0x6e, 0x63, 0x00, 0x00, 0x00, 0x00, 0x01 +}; + +guint8 speex_buf[] = { + 0x36, 0x9d, 0x1b, 0x9a, 0x20, 0x00, 0x01, 0x68, + 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0x84, + 0x00, 0xb4, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, + 0x74, 0x42, 0x00, 0x5a, 0x3a, 0x3a, 0x3a, 0x3a, + 0x3a, 0x3a, 0x3a, 0x21, 0x00, 0x2d, 0x1d, 0x1d, + 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1b, 0x3b, 0x60, + 0xab, 0xab, 0xab, 0xab, 0xab, 0x0a, 0xba, 0xba, + 0xba, 0xba, 0xb0, 0xab, 0xab, 0xab, 0xab, 0xab, + 0x0a, 0xba, 0xba, 0xba, 0xba, 0xb7 +}; + +guint8 h264_buf[] = { + 0x00, 0x00, 0x00, 0x0b, 0x67, 0x42, 0xc0, 0x0c, + 0x95, 0xa7, 0x20, 0x1e, 0x11, 0x08, 0xd4, 0x00, + 0x00, 0x00, 0x04, 0x68, 0xce, 0x3c, 0x80, 0x00, + 0x00, 0x00, 0x55, 0x65, 0xb8, 0x04, 0x0e, 0x7e, + 0x1f, 0x22, 0x60, 0x34, 0x01, 0xe2, 0x00, 0x3c, + 0xe1, 0xfc, 0x91, 0x40, 0xa6, 0x9e, 0x07, 0x42, + 0x56, 0x44, 0x73, 0x75, 0x40, 0x9f, 0x0c, 0x87, + 0x83, 0xc9, 0x52, 0x60, 0x6d, 0xd8, 0x98, 0x01, + 0x16, 0xbd, 0x0f, 0xa6, 0xaf, 0x75, 0x83, 0xdd, + 0xfa, 0xe7, 0x8f, 0xe3, 0x58, 0x10, 0x0f, 0x5c, + 0x18, 0x2f, 0x41, 0x40, 0x23, 0x0b, 0x03, 0x70, + 0x00, 0xff, 0xe4, 0xa6, 0x7d, 0x7f, 0x3f, 0x76, + 0x01, 0xd0, 0x98, 0x2a, 0x0c, 0xb8, 0x02, 0x32, + 0xbc, 0x56, 0xfd, 0x34, 0x4f, 0xcf, 0xfe, 0xa0, +}; + GST_START_TEST (test_speex_streamable) { GstBuffer *buf; GstMapInfo map = GST_MAP_INFO_INIT; - guint8 header0[] = { - 0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20, 0x20, - 0x31, 0x2e, 0x32, 0x72, 0x63, 0x31, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x50, 0x00, 0x00, 0x00, 0x80, 0x3e, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - guint8 header1[] = { - 0x1f, 0x00, 0x00, 0x00, 0x45, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x47, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x65, 0x72, 0x20, 0x53, 0x70, 0x65, 0x65, 0x78, - 0x65, 0x6e, 0x63, 0x00, 0x00, 0x00, 0x00, 0x01 - }; - - guint8 buffer[] = { - 0x36, 0x9d, 0x1b, 0x9a, 0x20, 0x00, 0x01, 0x68, - 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0x84, - 0x00, 0xb4, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, - 0x74, 0x42, 0x00, 0x5a, 0x3a, 0x3a, 0x3a, 0x3a, - 0x3a, 0x3a, 0x3a, 0x21, 0x00, 0x2d, 0x1d, 0x1d, - 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1b, 0x3b, 0x60, - 0xab, 0xab, 0xab, 0xab, 0xab, 0x0a, 0xba, 0xba, - 0xba, 0xba, 0xb0, 0xab, 0xab, 0xab, 0xab, 0xab, - 0x0a, 0xba, 0xba, 0xba, 0xba, 0xb7 - }; GstCaps *caps = gst_caps_new_simple ("audio/x-speex", "rate", G_TYPE_INT, 16000, @@ -221,18 +239,20 @@ GST_START_TEST (test_speex_streamable) g_object_set (h->element, "streamable", 1, NULL); /* push speex header0 */ - gst_harness_push (h, create_buffer (header0, sizeof (header0), base_time, 0)); + gst_harness_push (h, create_buffer (speex_hdr0, + sizeof (speex_hdr0), base_time, 0)); /* push speex header1 */ - gst_harness_push (h, create_buffer (header1, sizeof (header1), base_time, 0)); + gst_harness_push (h, create_buffer (speex_hdr1, + sizeof (speex_hdr1), base_time, 0)); /* push speex data */ - gst_harness_push (h, create_buffer (buffer, sizeof (buffer), - base_time, duration)); + gst_harness_push (h, create_buffer (speex_buf, + sizeof (speex_buf), base_time, duration)); /* push speex data 2 */ - gst_harness_push (h, create_buffer (buffer, sizeof (buffer), - base_time + duration, duration)); + gst_harness_push (h, create_buffer (speex_buf, + sizeof (speex_buf), base_time + duration, duration)); /* pull out stream-start event */ gst_event_unref (gst_harness_pull_event (h)); @@ -270,7 +290,8 @@ GST_START_TEST (test_speex_streamable) /* 0xb2 means Speex, 16000Hz, Mono */ fail_unless_equals_int (0xb2, map.data[11]); /* verify content is intact */ - fail_unless_equals_int (0, memcmp (&map.data[12], header0, sizeof (header0))); + fail_unless_equals_int (0, memcmp (&map.data[12], speex_hdr0, + sizeof (speex_hdr0))); gst_buffer_unmap (buf, &map); gst_buffer_unref (buf); @@ -287,7 +308,8 @@ GST_START_TEST (test_speex_streamable) /* 0xb2 means Speex, 16000Hz, Mono */ fail_unless_equals_int (0xb2, map.data[11]); /* verify content is intact */ - fail_unless_equals_int (0, memcmp (&map.data[12], header1, sizeof (header1))); + fail_unless_equals_int (0, memcmp (&map.data[12], speex_hdr1, + sizeof (speex_hdr1))); gst_buffer_unmap (buf, &map); gst_buffer_unref (buf); @@ -307,7 +329,8 @@ GST_START_TEST (test_speex_streamable) /* 0xb2 means Speex, 16000Hz, Mono */ fail_unless_equals_int (0xb2, map.data[11]); /* verify content is intact */ - fail_unless_equals_int (0, memcmp (&map.data[12], buffer, sizeof (buffer))); + fail_unless_equals_int (0, memcmp (&map.data[12], speex_buf, + sizeof (speex_buf))); gst_buffer_unmap (buf, &map); gst_buffer_unref (buf); @@ -327,7 +350,8 @@ GST_START_TEST (test_speex_streamable) /* 0xb2 means Speex, 16000Hz, Mono */ fail_unless_equals_int (0xb2, map.data[11]); /* verify content is intact */ - fail_unless_equals_int (0, memcmp (&map.data[12], buffer, sizeof (buffer))); + fail_unless_equals_int (0, memcmp (&map.data[12], speex_buf, + sizeof (speex_buf))); gst_buffer_unmap (buf, &map); gst_buffer_unref (buf); @@ -423,6 +447,112 @@ GST_START_TEST (test_increasing_timestamp_when_pts_none) GST_END_TEST; +typedef struct +{ + GstHarness *a_sink; + GstHarness *v_sink; +} DemuxHarnesses; + +static void +flvdemux_pad_added (GstElement * flvdemux, GstPad * srcpad, DemuxHarnesses * h) +{ + GstCaps *caps = gst_pad_get_current_caps (srcpad); + const gchar *name = gst_structure_get_name (gst_caps_get_structure (caps, 0)); + + if (g_ascii_strncasecmp ("audio", name, 5) == 0) + gst_harness_add_element_src_pad (h->a_sink, srcpad); + else + gst_harness_add_element_src_pad (h->v_sink, srcpad); + + gst_caps_unref (caps); +} + +GST_START_TEST (test_video_caps_late) +{ + GstHarness *mux = gst_harness_new_with_padnames ("flvmux", NULL, "src"); + GstHarness *a_src = + gst_harness_new_with_element (mux->element, "audio", NULL); + GstHarness *v_src = + gst_harness_new_with_element (mux->element, "video", NULL); + GstHarness *demux = gst_harness_new_with_padnames ("flvdemux", "sink", NULL); + GstHarness *a_sink = + gst_harness_new_with_element (demux->element, NULL, NULL); + GstHarness *v_sink = + gst_harness_new_with_element (demux->element, NULL, NULL); + DemuxHarnesses harnesses = { a_sink, v_sink }; + guint i; + GstTestClock *tclock; + + g_object_set (mux->element, "streamable", TRUE, + "latency", G_GUINT64_CONSTANT (1), NULL); + gst_harness_use_testclock (mux); + + g_signal_connect (demux->element, "pad-added", + G_CALLBACK (flvdemux_pad_added), &harnesses); + gst_harness_add_sink_harness (mux, demux); + + gst_harness_set_src_caps_str (a_src, + "audio/x-speex, rate=(int)16000, channels=(int)1"); + + fail_unless_equals_int (GST_FLOW_OK, gst_harness_push (a_src, + gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, + speex_hdr0, sizeof (speex_hdr0), 0, sizeof (speex_hdr0), NULL, + NULL))); + + fail_unless_equals_int (GST_FLOW_OK, gst_harness_push (a_src, + gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, + speex_hdr1, sizeof (speex_hdr1), 0, sizeof (speex_hdr1), NULL, + NULL))); + + /* Wait a little and make sure no clock was scheduled as this shouldn't happen + * before the caps are set */ + g_usleep (40 * 1000); + tclock = gst_harness_get_testclock (mux); + fail_unless (gst_test_clock_get_next_entry_time (tclock) == + GST_CLOCK_TIME_NONE); + + gst_harness_set_src_caps_str (v_src, + "video/x-h264, stream-format=(string)avc, alignment=(string)au, " + "codec_data=(buffer)0142c00cffe1000b6742c00c95a7201e1108d401000468ce3c80"); + + gst_harness_crank_single_clock_wait (mux); + + fail_unless_equals_int (GST_FLOW_OK, gst_harness_push (a_src, + gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, + speex_buf, sizeof (speex_buf), 0, sizeof (speex_buf), NULL, + NULL))); + + fail_unless_equals_int (GST_FLOW_OK, gst_harness_push (v_src, + gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, + h264_buf, sizeof (h264_buf), 0, sizeof (h264_buf), NULL, NULL))); + + gst_harness_crank_single_clock_wait (mux); + gst_harness_crank_single_clock_wait (mux); + gst_harness_crank_single_clock_wait (mux); + + + /* push from flvmux to demux */ + for (i = 0; i < 6; i++) + gst_harness_push_to_sink (mux); + + /* verify we got 2x audio and 1x video buffers out of flvdemux */ + gst_buffer_unref (gst_harness_pull (a_sink)); + gst_buffer_unref (gst_harness_pull (a_sink)); + gst_buffer_unref (gst_harness_pull (v_sink)); + + fail_unless (gst_test_clock_get_next_entry_time (tclock) == + GST_CLOCK_TIME_NONE); + + g_clear_object (&tclock); + gst_harness_teardown (a_src); + gst_harness_teardown (v_src); + gst_harness_teardown (mux); + gst_harness_teardown (a_sink); + gst_harness_teardown (v_sink); +} + +GST_END_TEST; + static Suite * flvmux_suite (void) { @@ -442,6 +572,7 @@ flvmux_suite (void) tcase_add_test (tc_chain, test_speex_streamable); tcase_add_test (tc_chain, test_increasing_timestamp_when_pts_none); + tcase_add_test (tc_chain, test_video_caps_late); return s; } diff --git a/tests/check/elements/rtpred.c b/tests/check/elements/rtpred.c index 6db4c383a..ff4838901 100644 --- a/tests/check/elements/rtpred.c +++ b/tests/check/elements/rtpred.c @@ -49,10 +49,10 @@ #define _check_caps(_h_, _nth_, _expected_payload_) \ G_STMT_START { \ GstEvent *_ev_; \ - gint _pt_ = -1; \ + gint _pt_ = -1, _i_; \ GstCaps *_caps_ = NULL; \ \ - for (gint _i_ = 0; _i_ < _nth_; ++_i_) \ + for (_i_ = 0; _i_ < _nth_; ++_i_) \ gst_event_unref (gst_harness_pull_event (_h_)); \ \ _ev_ = gst_harness_pull_event (_h_); \ diff --git a/tests/check/elements/rtpsession.c b/tests/check/elements/rtpsession.c index 94925ee66..9cf1ae88d 100644 --- a/tests/check/elements/rtpsession.c +++ b/tests/check/elements/rtpsession.c @@ -705,6 +705,88 @@ GST_START_TEST (test_illegal_rtcp_fb_packet) GST_END_TEST; +typedef struct +{ + GCond *cond; + GMutex *mutex; + gboolean fired; +} FeedbackRTCPCallbackData; + +static void +feedback_rtcp_cb (GstElement * element, guint fbtype, guint fmt, + guint sender_ssrc, guint media_ssrc, GstBuffer * fci, + FeedbackRTCPCallbackData * cb_data) +{ + g_mutex_lock (cb_data->mutex); + cb_data->fired = TRUE; + g_cond_wait (cb_data->cond, cb_data->mutex); + g_mutex_unlock (cb_data->mutex); +} + +static void * +send_feedback_rtcp (SessionHarness * h) +{ + GstRTCPPacket packet; + GstRTCPBuffer rtcp = GST_RTCP_BUFFER_INIT; + GstBuffer *buffer = gst_rtcp_buffer_new (1000); + + fail_unless (gst_rtcp_buffer_map (buffer, GST_MAP_READWRITE, &rtcp)); + fail_unless (gst_rtcp_buffer_add_packet (&rtcp, GST_RTCP_TYPE_PSFB, &packet)); + gst_rtcp_packet_fb_set_type (&packet, GST_RTCP_PSFB_TYPE_PLI); + gst_rtcp_packet_fb_set_fci_length (&packet, 0); + gst_rtcp_packet_fb_set_media_ssrc (&packet, 0xABE2B0B); + gst_rtcp_packet_fb_set_media_ssrc (&packet, 0xDEADBEEF); + gst_rtcp_buffer_unmap (&rtcp); + fail_unless_equals_int (GST_FLOW_OK, session_harness_recv_rtcp (h, buffer)); + + return NULL; +} + +GST_START_TEST (test_feedback_rtcp_race) +{ + SessionHarness *h = session_harness_new (); + + GCond cond; + GMutex mutex; + FeedbackRTCPCallbackData cb_data; + GThread *send_rtcp_thread; + + g_cond_init (&cond); + g_mutex_init (&mutex); + cb_data.cond = &cond; + cb_data.mutex = &mutex; + cb_data.fired = FALSE; + g_signal_connect (h->internal_session, "on-feedback-rtcp", + G_CALLBACK (feedback_rtcp_cb), &cb_data); + + /* Push RTP buffer making external source with SSRC=0xDEADBEEF */ + fail_unless_equals_int (GST_FLOW_OK, session_harness_recv_rtp (h, + generate_test_buffer (0, 0xDEADBEEF))); + + /* Push feedback RTCP with media SSRC=0xDEADBEEF */ + send_rtcp_thread = g_thread_new (NULL, (GThreadFunc) send_feedback_rtcp, h); + + /* Waiting for feedback RTCP callback to fire */ + while (!cb_data.fired) + g_usleep (G_USEC_PER_SEC / 100); + + /* While send_rtcp_thread thread is waiting for our signal + advance the clock by 30sec triggering removal of 0xDEADBEEF, + as if the source was inactive for too long */ + session_harness_advance_and_crank (h, GST_SECOND * 30); + gst_buffer_unref (session_harness_pull_rtcp (h)); + + /* Let send_rtcp_thread finish */ + g_mutex_lock (&mutex); + g_cond_signal (&cond); + g_mutex_unlock (&mutex); + g_thread_join (send_rtcp_thread); + + session_harness_free (h); +} + +GST_END_TEST; + static Suite * rtpsession_suite (void) { @@ -718,8 +800,8 @@ rtpsession_suite (void) tcase_add_test (tc_chain, test_receive_rtcp_app_packet); tcase_add_test (tc_chain, test_dont_lock_on_stats); tcase_add_test (tc_chain, test_ignore_suspicious_bye); - tcase_add_test (tc_chain, test_illegal_rtcp_fb_packet); + tcase_add_test (tc_chain, test_feedback_rtcp_race); return s; } diff --git a/tests/check/elements/rtpulpfec.c b/tests/check/elements/rtpulpfec.c index a1d637bd1..f172233ba 100644 --- a/tests/check/elements/rtpulpfec.c +++ b/tests/check/elements/rtpulpfec.c @@ -144,10 +144,11 @@ packet_recovered_cb (GObject * internal_storage, GstBuffer * buffer, { gboolean found = FALSE; GstRTPBuffer rtp = { NULL }; + GList *it; fail_unless (gst_rtp_buffer_map (buffer, GST_MAP_READ, &rtp)); - for (GList * it = infos; it; it = it->next) { + for (it = infos; it; it = it->next) { RecoveredPacketInfo *info = it->data; if (gst_rtp_buffer_get_seq (&rtp) == info->seq) { fail_unless_equals_int (gst_rtp_buffer_get_payload_type (&rtp), info->pt); @@ -285,8 +286,9 @@ GST_START_TEST (rtpulpfecdec_recovered_from_many) gsize lost_packet_size = packets_size[__i__]; RecoveredPacketInfo info = {.pt = 126,.ssrc = 578322839,.seq = lost_seq }; GList *expected = expect_recovered_packets (h, &info, 1); + gsize i; - for (gsize i = 0; i < G_N_ELEMENTS (packets); ++i) { + for (i = 0; i < G_N_ELEMENTS (packets); ++i) { if (i != (gsize) __i__) push_data (h, packets[i], packets_size[i]); } diff --git a/tests/examples/rtsp/test-onvif.c b/tests/examples/rtsp/test-onvif.c index 671c20f3c..3a46491d3 100644 --- a/tests/examples/rtsp/test-onvif.c +++ b/tests/examples/rtsp/test-onvif.c @@ -62,7 +62,7 @@ find_backchannel (GstElement * rtspsrc, guint idx, GstCaps * caps, g_free (caps_str); s = gst_caps_get_structure (caps, 0); - if (gst_structure_has_field (s, "a-recvonly")) { + if (gst_structure_has_field (s, "a-sendonly")) { stream_id = idx; caps = gst_caps_new_empty (); s = gst_structure_copy (s); -- GitLab