From 6419368b4caa4df769451b7bc7f27f3cada390d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 20 Aug 2020 16:11:58 +0100 Subject: [PATCH] Release 1.17.90 --- ChangeLog | 1207 +++++++++++++++++++++++++++++++++++ NEWS | 49 +- RELEASE | 2 +- docs/gst_plugins_cache.json | 8 +- gst-plugins-good.doap | 10 + meson.build | 2 +- 6 files changed, 1232 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index 18f7daf5af..bee9c6c398 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1209 @@ +=== release 1.17.90 === + +2020-08-20 16:11:58 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-plugins-good.doap: + * meson.build: + Release 1.17.90 + +2020-08-18 10:27:52 +0300 Sebastian Dröge + + * gst/rtp/gstrtputils.c: + rtputils: Don't call NULL GstMeta transform function + It's optional and if it does not exist then no transformation is + possible. + Part-of: + +2020-08-13 15:27:25 -0400 Julian Bouzas + + * gst/rtp/gstrtp.c: + rtp: Do not register rtpreddec and rtpredenc twice + Part-of: + +2020-08-12 12:21:43 +0300 Sebastian Dröge + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * gst/rtpmanager/gstrtpsession.c: + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsource.c: + rtpmanager: Improve readability of "stats" docs by making the fields an actual list + Otherwise they end up all in the same line one after another. + Also add docs for the "avg-jitter" stats field of the jitterbuffer. + Part-of: + +2020-08-11 17:24:11 -0400 Nicolas Dufresne + + * sys/v4l2/gstv4l2h264codec.c: + v4l2h264codec: Map newly defined profile/levels + Part-of: + +2020-08-11 17:18:42 -0400 Nicolas Dufresne + + * sys/v4l2/ext/types-compat.h: + * sys/v4l2/ext/v4l2-common.h: + * sys/v4l2/ext/v4l2-controls.h: + * sys/v4l2/ext/videodev2.h: + v4l2: Sync headers with kernel 5.9 + Part-of: + +2020-08-06 13:15:10 +0200 Víctor Manuel Jáquez Leal + + * sys/v4l2/gstv4l2deviceprovider.c: + * sys/v4l2/gstv4l2object.c: + * sys/v4l2/gstv4l2object.h: + * sys/v4l2/gstv4l2radio.c: + * sys/v4l2/gstv4l2sink.c: + * sys/v4l2/gstv4l2src.c: + * sys/v4l2/gstv4l2transform.c: + * sys/v4l2/gstv4l2videodec.c: + * sys/v4l2/gstv4l2videoenc.c: + * sys/v4l2/v4l2_calls.c: + v4l2: use GstV4l2Error in gst_v4l2_open() + gst_v4l2_open() is called by gst_v4l2_device_provider_probe_device(), + where the GstV4l2Object is created without an associated GstElement. + If gst_v4l2_open() fails, it raises a bus message, but without an + element, a precondition check fails on + gst_element_message_full_with_details() generating a crash if running + with fatal-warnings debug mode. + GstV4l2Error is a helper to raise error bus messages when it is + appropiated. This patch changes the direct bus messages to this + helper, and the elements will actually send the error message. + Part-of: + +2020-08-10 20:20:53 +0300 Vivia Nikolaidou + + * gst/flv/gstflvmux.c: + flvmux: Return NEED_DATA when we drop a buffer + When we are dropping a buffer in find_best_pad (e.g. waiting for a + keyframe, or skipping backwards timestamp), return + GST_AGGREGATOR_FLOW_NEED_DATA to make sure we have enough data at the + next run. Otherwise, a stream that accidentally fell behind (e.g. + relinking race, or just waiting for a keyframe) will never get the + opportunity to catch up to the other one, because the other one will + always keep advancing. + Part-of: + +2020-08-10 20:20:04 +0300 Vivia Nikolaidou + + * gst/flv/gstflvmux.c: + flvmux: Return NEED_DATA when no best pad is found + Part-of: + +2020-08-10 20:17:38 +0300 Vivia Nikolaidou + + * gst/flv/gstflvmux.c: + flvmux: Fix possible crash on GST_ITERATOR_RESYNC + Wrong pointer type + Part-of: + +2020-08-10 15:49:55 +1000 Matthew Waters + + * ext/qt/qtglrenderer.cc: + qmlgloverlay: fix multiple elements with Qt 5.15 + With Qt 5.15 multiple qmlgloverlay elements would produce: + ASSERT: "!m_gl->property(QSG_RENDERCONTEXT_PROPERTY).isValid()" in file /path/to/qt5/qtdeclarative/src/quick/scenegraph/qsgdefaultrendercontext.cpp, line 121 + Workaround by setting the (seeminigly unused) property before + initialization. + Part-of: + +2020-08-05 10:41:33 +0300 Sebastian Dröge + + * docs/gst_plugins_cache.json: + * gst/rtp/gstrtph264pay.c: + * gst/rtp/gstrtph265pay.c: + * tests/check/elements/rtp-payloading.c: + * tests/check/elements/rtph264.c: + * tests/check/elements/rtph265.c: + rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility + We didn't aggregate at all in previous versions and there are apparently + various RTP implementations that don't handle aggregation well at all. + As part of this also document that for RTSP it is recommended to keep it + set to "none" while for WebRTC it should be set to "zero-latency". + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/749 + Part-of: + +2020-07-24 16:58:34 +1000 Matthew Waters + + * ext/gtk/meson.build: + * ext/qt/meson.build: + * meson.build: + * tests/examples/gtk/meson.build: + build: update for gl pkg-config file split + Part-of: + +2020-07-31 13:50:13 +0200 Jan Alexander Steffens (heftig) + + * gst/multifile/gstsplitmuxsink.c: + splitmuxsink: Make sure flushing doesn't block + * Trying to disconnect a stream from a running splitmuxsink by flushing + it results in the FLUSH_START blocking in the stream queue's + gst_pad_pause_task because the flush did not unblock + complete_or_wait_on_out, so add a check for ctx->flushing there. + * Add a GST_SPLITMUX_BROADCAST_INPUT so check_completed_gop notices + flushing changed and the incoming push is unblocked. + * Pass the FLUSH_STOP along to the muxer without waiting. + Part-of: + +2020-08-04 15:49:43 +0300 Vivia Nikolaidou + + * gst/imagefreeze/gstimagefreeze.c: + imagefreeze: Wait until we have a clock + Otherwise it can happen that it tries to get the clock in PAUSED state + in live mode, which does not exist. + Thanks to Sebastian Dröge for helping debugging. + Fixes #775 + Part-of: + +2020-07-31 11:05:02 +0100 Tim-Philipp Müller + + * gst/isomp4/qtdemux.c: + qtdemux: extract bit depth from codec data for ALAC + The info in the sound sample description might not be + accurate if it's an older version atom. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/771 + Part-of: + +2020-07-28 18:46:30 +0300 Jordan Petridis + + * gst/auparse/gstauparse.c: + auparse: fix compiler warnings + GCC 10 was complaining like following. It really is complaining about default cases returning + with potentially unitialized *desval, but those cases in the switch should never be hit. + ``` + ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c: In function 'gst_au_parse_chain': + ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:481:37: error: 'timestamp' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 481 | GST_BUFFER_TIMESTAMP (outbuf) = timestamp; + ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:482:36: error: 'duration' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 482 | GST_BUFFER_DURATION (outbuf) = duration; + ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:480:34: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized] + 480 | GST_BUFFER_OFFSET (outbuf) = offset; + cc1: all warnings being treated as errors + ``` + Part-of: + +2020-07-29 14:06:55 +0300 George Kiagiadakis + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: drop stream-start message posted by the internal udp sink(s) + See #1368 + Part-of: + +2020-07-22 16:24:15 +0900 Hosang Lee + + * tests/check/elements/qtdemux.c: + tests: qtdemux: test correct pad names are created + Test correct pad names are created in accordance to their media type + in mss mode. + Part-of: + +2020-06-16 17:23:44 +0900 Hosang Lee + + * gst/isomp4/qtdemux.c: + qtdemux: create correct pad names in encrypted streams + Refer to "original-media-type" when setting stream's subtype + for encrypted streams in mss mode. + Part-of: + +2020-07-22 14:31:13 -0400 Thibault Saunier + + * gst/matroska/matroska-mux.c: + matroskamux: Do caps renegotiation when it only adds fields + Matroskamux can accept caps renegotiation if the new caps is a + superset of the old one, meaning upstream added new info to + the caps. + Same logic as a5f22f03aa25b04726f78ae619f40b3b648f7d48 in qtmux. + Part-of: + +2020-07-24 14:02:26 +0100 Tim-Philipp Müller + + * gst/rtpmanager/gstrtpfunnel.c: + rtpfunnel: protect internal srccaps with lock + These are modified from sink pad event handlers, so + could be accessed from multiple threads at the same + time. + Part-of: + +2020-02-23 23:44:16 +0100 Havard Graff + + * gst/rtpmanager/gstrtpfunnel.c: + rtpfunnel: copy caps before sending them in a caps-event + Reason being we don't want downstream to own a ref to our + internal caps. + Part-of: + +2020-07-27 15:41:26 +0200 Mathieu Duponchelle + + * gst/rtpmanager/gstrtpjitterbuffer.c: + * gst/rtpmanager/gstrtpsession.c: + * gst/rtpmanager/rtpsession.c: + * gst/rtpmanager/rtpsource.c: + rtpmanager: fix various documentation issues + Improper naming of properties, improper links, misc + Part-of: + +2020-07-24 17:13:04 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: hypothetical fix for data pointer calculation + mmal buffer header docs say data is valid for length bytes + from offset. In practice offset always seems to be 0 so + far though. + Part-of: + +2020-07-24 16:35:43 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: mark buffers as header and keyframe/delta-unit + Part-of: + +2020-07-24 16:14:00 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: fix nal alignment of output buffers + We claim output buffers are nal-aligned, but that wasn't + actually true: We would push out a partial nal in case + the nal doesn't fit into the max encoder-selected output + buffer size, and then the next buffer would not start + with a sync marker. That's not right and makes h264parse + unhappy. + Instead accumulate buffers until we have a full frame + (we can't rely on the NAL_END flag, it's always set). + Fixes #768 + Part-of: + +2020-07-13 23:43:48 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/meson.build: + rpicamsrc: fix "Could not find component vc.ril.camera" on recent raspios + Make extra sure all the required mmal libs such as libmmal_vc_client.so + actually get linked and stay linked. Otherwise the above error happens + it seems. + buster (10.4) with meson 0.55 and pi ref 2020-05-27 + pi-gen, 825107f04027269db77426046f5085475b1ea22f, stage5 + Part-of: + +2020-07-13 17:01:42 +0100 Tim-Philipp Müller + + * po/POTFILES: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + rpicamsrc: deviceprovider: hook up i18n properly + Part-of: + +2020-07-13 16:55:48 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + rpicamsrc: deviceprovider: advertise (M)JPEG as well + Part-of: + +2020-07-13 16:50:58 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + rpicamsrc: deviceprovider: also advertise constrained-baseline profile + Part-of: + +2020-07-23 16:58:00 +0200 Stéphane Cerveau + + * meson.build: + meson: add a plugin summary + This summary displays a list of plugins which + have been enabled. + Part-of: + +2020-07-22 09:46:47 +0800 Haihua Hu + + * sys/v4l2/gstv4l2object.h: + * sys/v4l2/v4l2_calls.c: + v4l2: enhance v4l2 control interface to support string type CID + add string type cid support for v4l2 implementation + Part-of: + +2020-07-01 15:17:47 +0200 Stéphane Cerveau + + * gst/isomp4/fourcc.h: + * gst/isomp4/qtdemux.c: + * gst/isomp4/qtdemux_types.c: + qtdemux: add Dolby Vision fourcc + This identifiers are registered in the MPEG-RA and defined + to be used by the Dolby Vision AVC/HEVC streams. + This is a first step to present the stream to the decoder. + Additional box parsing of DOVIConfigurationBox is necessary + to complete the media presentation with proper Dolby Vision + enhancements. + Part-of: + +2020-05-17 15:51:09 +1000 Luke Yelavich + + * gst/imagefreeze/gstimagefreeze.c: + imagefreeze: Copy GstCapsFeatures to caps for source pad + Allows using imagefreeze with buffers in GLMemory. The following pipeline + works. + gst-launch-1.0 filesrc location=image.jpg ! jpegdec ! glupload ! \ + imagefreeze ! glcolorconvert ! glimagesinkelement + Part-of: + +2020-07-20 18:20:59 +0100 Tim-Philipp Müller + + * gst/rtpmanager/rtptwcc.h: + rtpmanager: fix "redefinition of typedef RTPTWCCManager" compiler warning + G_DECLARE_FINAL_TYPE includes this typedef as well. + Part-of: + +2020-07-17 16:39:25 -0400 Olivier Crête + + * gst/rtp/gstrtpac3pay.c: + * gst/rtp/gstrtpamrpay.c: + * gst/rtp/gstrtpceltpay.c: + * gst/rtp/gstrtpg723pay.c: + * gst/rtp/gstrtpg729pay.c: + * gst/rtp/gstrtpgsmpay.c: + * gst/rtp/gstrtpgstpay.c: + * gst/rtp/gstrtpmp2tpay.c: + * gst/rtp/gstrtpmp4apay.c: + * gst/rtp/gstrtpmp4gpay.c: + * gst/rtp/gstrtpmpapay.c: + * gst/rtp/gstrtpsbcpay.c: + * gst/rtp/gstrtpspeexpay.c: + * gst/rtp/gstrtpvorbispay.c: + rtp*pay: Allocate using the base class for audio codecs + This is required to add RTP header extensions from the + meta automatically. + Part-of: + +2020-07-14 13:14:09 +0200 Ognyan Tonchev + + * gst/rtsp/gstrtspsrc.c: + rtspsrc: Fix segfault with illegal free + set_get_param_q is not a pointer so it is illegal to call g_queue_free_full(). + Freeing the requests by popping them from the queue instead. + Part-of: + +2020-07-15 14:40:42 +0300 Raul Tambre + + * ext/qt/qtitem.cc: + QtGLVideoItem: Use QSharedPointer::data() for better compatibility + Older Qt versions didn't have QSharedPointer::get(), which is just a modern alias for QSharedPointer::data(). + FAILED: ext/qt/libgstqmlgl.so.p/qtitem.cc.o + c++ -Iext/qt/libgstqmlgl.so.p -Iext/qt -I../ext/qt -I. -I.. -I../gst-libs -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/usr/lib/aarch64-linux-gnu/gstreamer-1.0/include -I/usr/include/aarch64-linux-gnu/qt5/QtCore -I/usr/include/aarch64-linux-gnu/qt5 -I/usr/include/aarch64-linux-gnu/qt5/QtGui -I/usr/include/aarch64-linux-gnu/qt5/QtQml -I/usr/include/aarch64-linux-gnu/qt5/QtNetwork -I/usr/include/aarch64-linux-gnu/qt5/QtQuick -I/usr/include/aarch64-linux-gnu/qt5/QtX11Extras -I/usr/include/libdrm -flto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++11 -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Winit-self -Wmissing-include-dirs -Wno-multichar -Wvla -Wpointer-arith -g -fdebug-prefix-map=/opt/good/src=. -Wformat -Werror=format-security -O3 -march=native -Wno-error -Wdate-time -fPIC -pthread -DHAVE_CONFIG_H -DHAVE_QT_X11 -DHAVE_QT_EGLFS -MD -MQ ext/qt/libgstqmlgl.so.p/qtitem.cc.o -MF ext/qt/libgstqmlgl.so.p/qtitem.cc.o.d -o ext/qt/libgstqmlgl.so.p/qtitem.cc.o -c ../ext/qt/qtitem.cc + In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0, + from /usr/include/gstreamer-1.0/gst/video/video.h:23, + from ../ext/qt/qtitem.cc:27: + ../ext/qt/qtitem.cc: In destructor ‘virtual QtGLVideoItem::~QtGLVideoItem()’: + ../ext/qt/qtitem.cc:138:86: error: ‘class QSharedPointer’ has no member named ‘get’ + GST_INFO ("%p Destroying QtGLVideoItem and invalidating the proxy %p", this, proxy.get()); + ^ + /usr/include/gstreamer-1.0/gst/gstinfo.h:682:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’ + (GObject *) (object), __VA_ARGS__); \ + ^~~~~~~~~~~ + ../ext/qt/qtitem.cc:138:3: note: in expansion of macro ‘GST_INFO’ + GST_INFO ("%p Destroying QtGLVideoItem and invalidating the proxy %p", this, proxy.get()); + ^ + Part-of: + +2020-07-14 14:24:20 +0100 Justin Chadwell + + * gst/isomp4/qtdemux.c: + * tests/check/elements/qtdemux.c: + qtdemux: fix allocation explosion with stsd entries + Previously, the user input for stsd entries is trusted completely, and + so a maliciously crafted file could choose the length of the stsd + entries arbitrarily and cause qtdemux to try to allocate up to 2GB of + memory (half of a 32 bit max int). + This patch fixes this by sanity checking the stsd input against the + size of the entire stsd atom. + Part-of: + +2020-07-13 10:37:19 +0100 Justin Chadwell + + * gst/isomp4/qtdemux.c: + * tests/check/elements/qtdemux.c: + qtdemux: fix crashes when input stream contained no stsd entries + During trak parsing, we need to check for the existence of stsd_entries, + otherwise, we end up with a NULL pointer to them. It is entirely + possible for the stsd to exist, but for it to have no entries, which the + previous checks did not take into account. + This patch adds a simply check to ensure that all files that do not + contain a stsd entry are deemed corrupt, and adds a test case to prevent + a regression. + Part-of: + +2020-07-15 12:40:17 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + docs: update for new pixel formats + https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753 + https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/754 + Part-of: + +2020-07-10 21:43:14 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/meson.build: + rpicamsrc: fix build with older meson versions + assert() used to require two arguments. + Part-of: + +2020-07-10 13:08:55 +0000 Tim-Philipp Müller + + * tests/examples/meson.build: + * tests/examples/rpicamsrc/meson.build: + * tests/examples/rpicamsrc/test_color_balance.c: + * tests/examples/rpicamsrc/test_orientation.c: + examples: hook up rpicamsrc examples + webrtc one should probably go into gst-examples. + Part-of: + +2020-07-10 00:42:13 +0100 Tim-Philipp Müller + + * tests/examples/rpicamsrc/test_color_balance.c: + * tests/examples/rpicamsrc/test_orientation.c: + * tests/examples/rpicamsrc/webrtc-unidirectional-h264.c: + examples: fix indentation of rpicamsrc examples + Part-of: + +2020-07-09 19:08:34 +0000 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * docs/meson.build: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: flesh out docs and add to plugin docs cache + Part-of: + +2020-07-09 18:04:10 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: enable video orientation/direction unconditionally + Part-of: + +2020-07-09 17:37:01 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicam-enums-template.c: + * sys/rpicamsrc/gstrpicam-enums-template.h: + rpicamsrc: remove mkenums template files which are no longer needed + They were still being used by the autotools build, but that's gone. + Part-of: + +2020-07-09 17:35:15 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/RaspiCLI.c: + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiPreview.c: + * sys/rpicamsrc/RaspiStill.c: + * sys/rpicamsrc/RaspiStillYUV.c: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + rpicamsrc: fix indentation + Not touching the Raspi* files. + Part-of: + +2020-07-09 17:31:49 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/meson.build: + rpicamsrc: fix and silence some compiler warnings + Some are in system headers, and in Raspi files we want + to keep modifications to a minimum. + Part-of: + +2020-07-09 16:07:30 +0000 Tim-Philipp Müller + + * meson_options.txt: + * sys/meson.build: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.h: + * sys/rpicamsrc/meson.build: + rpicamsrc: hook up to build + Part-of: + +2020-07-09 11:46:30 +0000 Tim-Philipp Müller + + Merge branch 'plugin-move-rpicamsrc' + Move rpicamsrc from https://github.com/thaytan/gst-rpicamsrc/ + It's a useful little element and works well, so might as well + make sure it's widely available so people can stop piping + raspivid output into fdsrc. + Part-of: + +2020-05-02 19:27:20 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicam-enums-template.c: + * sys/rpicamsrc/gstrpicam-enums-template.h: + rpicamsrc: sync autotools with glib-mkenum usage in meson build + +2020-05-02 18:28:10 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/meson.build: + rpicamsrc: meson: use gnome.glib_mkenums_simple() and fix build as Meson subproject + While at it also fix up the type defines, e.g. + GST_RPI_CAM_TYPE_RPI_CAM_SRC_EXPOSURE_MODE -> GST_RPI_CAM_SRC_TYPE_EXPOSURE_MODE + +2020-05-03 11:09:47 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstplugin.map: + * sys/rpicamsrc/meson.build: + rpicamsrc: meson: drop map file and fix plugin symbol export with newer gstreamer versions + Use -fvisibility instead of a map file for symbol export, so that + the right symbols get exported with newer gstreamer versions. Older + GStreamer versions also still work of course. + Fixes blacklisting/plugin-loading issues with GStreamer >= 1.14 + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/984, + closes https://github.com/thaytan/gst-rpicamsrc/issues/94 + and https://github.com/thaytan/gst-rpicamsrc/issues/67 + +2018-07-16 19:49:21 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Attempt to workaround MMAL timeout bug + mmal_queue_timedwait() might spuriously return immediately + if called at exactly the wrong instant due to an internal + off-by-one bug. Attempt to work around that and just retry. + +2018-07-16 19:30:26 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Improve timeout error + Propagate timeout errors so they're not reported + generically + +2018-06-21 22:50:28 +1000 Jan Schmidt + + * tests/examples/rpicamsrc/webrtc-unidirectional-h264.c: + rpicamsrc: webrtc example: Add a STUN server to the configuration + To let the webrtc example work through NAT firewalls + +2018-06-21 22:44:25 +1000 Jan Schmidt + + * tests/examples/rpicamsrc/webrtc-unidirectional-h264.c: + rpicamsrc: webrtc example: Modify HTML to support other ports than 57778 + +2018-06-21 21:45:32 +1000 Jan Schmidt + + * tests/examples/rpicamsrc/webrtc-unidirectional-h264.c: + rpicamsrc: webrtc example: Remove external fmtp insertion + GStreamer 1.14.2 should contain the backport of gst-plugins-bad + commit 5c450c5 adding FEC and RTX support, and incidentally + the fmtp field in the SDP + +2018-06-21 20:33:03 +1000 Jan Schmidt + + * tests/examples/rpicamsrc/webrtc-unidirectional-h264.c: + rpicamsrc: webrtc example: Set the locale + Make the date format in the overlay respect the current + locale + +2018-06-20 15:36:42 +0000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Don't destroy the camera component on startup error + Just disable the camera component when it fails to start. The + most common reason is that the camera device is already in use, + and if we just disable the mmal component correct cleanup + will happen later + +2018-05-12 21:13:52 +0000 Jan Schmidt + + * tests/examples/rpicamsrc/webrtc-unidirectional-h264.c: + rpicamsrc: Add webrtc streaming example + Add an example for testing webrtc streaming from the rpi + camera, based on the code from + https://bugzilla.gnome.org/show_bug.cgi?id=795404 + Requires GStreamer 1.14.1 or git master + +2018-05-12 19:57:43 +0000 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Expose constrained-baseline profile + constrained-baseline is a useful profile for streaming to iOS + devices, and seems to work in the firmware, so let's publish it + +2018-03-28 22:00:10 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + rpicamsrc: Add define and increase reported maximum FPS from 90 to 1000 + +2017-11-14 15:01:21 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Expand frame timeout from 100ms to 500ms + rpicamsrc on a normal rpi camera doesn't start up fast enough, + and always fails the new 100ms timeout. A better solution + might be to have a longer timeout for the first frame, but + shorter once frames are running - but this quick fix will at + least make rpicamsrc work again. + +2017-11-08 09:14:35 +0000 Georgii Staroselskii + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: RaspiCapture: use mmal_queue_timedwait() for buffer queueing + If an external camera was disconnected, there were no feedback in an + application. It seems reasonable to wait on mmal_queue no longer than + 100ms. If it's stuck we just return a FLOW_ERROR and let the application + decide what to do later. + +2017-11-07 15:14:06 +0000 Georgii Staroselskii + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: RaspiCapture: handle MMAL_EVENT_ERROR + +2017-07-01 00:51:13 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Implement use-stc property to disable STC timestamps + If use-stc=false, then rpicamsrc won't apply + the camera timestamping to outgoing buffers, instead + relying on real-time timestamping by the + GStreamer clock. It means slightly less accuracy + and more jitter in timestamps, but might help on some + CSI inputs with broken timestamping. + +2017-05-19 20:55:35 +1000 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Fix the descriptions of text annotation colour properties + The text annotation colour properties take an integer value + corresponding to a VUY colour, not a text string like + the copy-pasted description from raspivid suggests. + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/59 + +2017-01-27 12:58:29 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Implement dynamic bitrate update + Use mmal_port_set_parameter_uint32 to update the encoder + bitrate. + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/60 + +2016-10-08 11:12:09 +0000 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Set outgoing buffer durations based on negotiated framerate. + make sure outgoing buffers have at least some duration set, + otherwise it leads to strange situations, like qtmux writing + out a file that doesn't include the final frame inside the + playable segment, because no-duration = 0 duration there. + +2016-10-08 11:10:30 +0000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Destroy mmal pool on shutdown always. + Avoid hangs on the next run because we didn't clean up the mmal pool + last time we shutdown. + +2016-10-03 15:29:49 +0000 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Switch back to MJPEG codec for image/jpeg + The JPEG codec hangs, not sure why yet. The MJPEG + codec doesn't provide a quality setting, and sometimes + freezes on shutdown, but otherwise seems more + reliable + +2016-10-03 14:00:54 +0000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Don't try and set H264 params with JPEG codec + +2016-10-03 02:34:50 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: First attempt at implementing MJPEG and raw video support + +2016-09-19 12:06:05 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstplugin.map: + * sys/rpicamsrc/meson.build: + rpicamsrc: Add experimental build using the Meson build system + Builds in about 10 seconds vs. 77 seconds with autotools. + +2016-08-30 17:00:41 +0200 Xabier Rodriguez Calvar + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Implement GstVideoDirection interface + Instead of implementing a custom property, we implement that interface. + +2016-07-21 02:29:57 +1000 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: MMAL gives buffers with nal alignment, not AU + Fix the output caps, our buffers are not AU aligned, since + the SPS / PPS are given in separate packets at the start. + +2016-07-08 15:32:21 +0200 Xabier Rodriguez Calvar + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Create orientation property + Its behavior and choices are analog to the ones present in [gl]videoflip + for the method property. + +2016-01-03 08:26:23 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: basesrc event handlers should not unref + Don't unref the passed event when handling events via + the GstBaseSrc src pad event handler - basesrc does + the unref. That breaks handling of upstream + force-key-unit events by unreffing twice. + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/43 + +2015-12-17 14:16:10 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add property getters for preview window position. + Add the lines in get_property() for the preview-x/y/w/h properties + so the values can be retrieved without causing critical warnings. + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/42 + +2015-12-02 01:20:10 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add preview-x/y/w/h properties + Expose properties for setting the position of the preview + window on the screen + +2015-10-21 21:11:36 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add properties for configuring annotation text size and colour. + Map the raspivid setting for annotation text size and colours + to properties. + +2015-10-08 10:32:32 +0200 ibauer + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Changed awb-gain-blue use the correct enum PROP_AWB_GAIN_BLUE and not PROP_AWB_GAIN_RED + +2015-07-19 01:48:35 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Fix buffer PTS calculation + Timestamps from MMAL are in microseconds, + so make sure to convert to nanoseconds before + using them to adjust the GStreamer buffer time + +2015-05-11 11:16:52 +0200 Philippe Normand + + * sys/rpicamsrc/gstrpicamsrc.c: + * tests/examples/rpicamsrc/test_orientation.c: + rpicamsrc: Basic orientation interface support + The (h,v)flip attributes are now supported through this interface. + It should also be possible to support (h,v)center attributes using the + ROI properties. + +2015-05-11 21:29:58 +1000 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Describe awb-mode=off in lowercase + Change the descriptions for the awb-gain-blue and awb-gain-red + properties to say 'awb-mode=off' instead of 'awb-mode=OFF' + See https://github.com/thaytan/gst-rpicamsrc/issues/26 + +2015-05-11 10:17:18 +0200 Philippe Normand + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: colorbalance: protect with config_lock mutex + +2015-05-05 19:03:43 +0200 Philippe Normand + + * tests/examples/rpicamsrc/test_color_balance.c: + rpicamsrc: add test-color-balance example + This small test will display a live video preview of the rpicam with + the balance controls being updated once a second. The controls to + update can be disabled in the source by setting the CONTROL_* macros + values to 0. + +2015-04-29 16:36:18 +0200 Philippe Normand + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Implement GstColorBalance interface + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/24 + +2015-04-27 22:56:32 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Fix initial config setting. + Make sure to update the captsure config before starting + capture. Since the capture component now keeps a local + copy of the config, it's not updated automatically. + +2015-04-27 04:05:42 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Disable bitrate, quantisation and intra-refresh dynamic changes + The firmware rejects dynamic changes of those encoder params. + +2015-04-27 04:05:04 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.h: + rpicamsrc: Send vcos_log_warn via GStreamer debug messages + +2015-04-27 02:43:14 +1000 Jan Schmidt + + * tests/examples/rpicamsrc/dynamicprops.py: + rpicamsrc: Add dynamic properties example + Python example of adjusting saturation on the fly + +2015-04-27 00:54:54 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Update properties dynamically where possible + Update camera and encoder properties at runtime + where possible + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/19 + and https://github.com/thaytan/gst-rpicamsrc/issues/23 + +2015-04-27 00:40:23 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiPreview.c: + * sys/rpicamsrc/RaspiPreview.h: + rpicamsrc: split preview config and state + +2015-04-21 02:45:59 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Clear intra-refresh MMAL param struct. + Use memset on the stack allocated MMAL_PARAMETER_VIDEO_INTRA_REFRESH_T + struct. Apparently mmal_port_parameter_get() doesn't retrieve all + parameters, causing random failures when we set the intra-refresh + param on the encoder. + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/22 for me. + +2015-04-21 01:17:55 +1000 Jan Schmidt + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCamControl.h: + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Merge changes from userland repo + Current to b69f807ce59189457662c2144a8e7e12dc776988 + No integration of stereoscopic support as yet + +2015-04-21 00:02:27 +1000 Jan Schmidt + + * sys/rpicamsrc/gstrpicam_types.h: + rpicamsrc: Map intra-refresh cyclic-rows to the correct MMAL param. + +2015-03-10 00:22:40 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Use MMAL PTS and STC to calculate GStreamer timestamps + Don't apply timestamps based on output time from the encoder, + but use the MMAL STC and capture PTS to generate a GStreamer + timestamp that more accurately resembles the input (and would + preserve reordering should the encoder ever add B-frames). + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/16 + +2015-03-07 02:11:25 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + rpicamsrc: Defer encoder creation until after caps are negotiated + This ensures the encoder is created with the profile + negotiated with downstream + +2015-03-07 01:17:30 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Read and set H.264 profile from negotiated caps + +2015-03-06 03:43:07 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicam_types.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add intra-refresh-type property, and set default keyframe spacing to -1 (auto) + This plus other recent commits mostly fix + bug https://github.com/thaytan/gst-rpicamsrc/issues/16 + +2015-03-06 03:05:24 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicam_types.h: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Add annotation-mode and annotation-text properties + +2015-03-06 02:42:00 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: implement sensor-mode property + +2015-03-06 01:27:44 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + rpicamsrc: More conversion to GStreamer logging + +2015-03-06 01:15:48 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicam_types.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Implement drc property + +2015-03-06 01:09:16 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: add awb-gain-red and awb-gain-blue properties + +2015-03-06 00:52:37 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add camera-number property + +2015-03-06 00:45:05 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: add inline-headers and shutter-speed properties + +2015-03-06 00:21:31 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add quantisation-parameter property, support variable bitrate + Allow birate=0 and implement the quantisation-parameter property + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/21 + +2015-03-05 17:01:33 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCLI.c: + * sys/rpicamsrc/RaspiCLI.h: + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCamControl.h: + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/RaspiPreview.c: + * sys/rpicamsrc/RaspiPreview.h: + rpicamsrc: Incorporate raspivid changes from upstream + Merge all changes for new features from upstream + raspberrypi userland, up to commit 0de0b2 + +2015-01-05 02:21:16 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add keyframe-interval property to the element + +2014-10-30 00:45:18 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCamControl.h: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + rpicamsrc: deviceprovider: check if camera is detected and supported + +2014-10-29 00:43:51 +0000 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.c: + * sys/rpicamsrc/gstrpicamsrcdeviceprovider.h: + rpicamsrc: Add GstDeviceProvider for rpi camera module + +2014-09-27 14:31:10 +0100 Tim-Philipp Müller + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: avoid single-element lists in template caps + +2014-10-09 20:38:41 +0000 Vivia Nikolaidou + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Add force-key-unit event support + +2014-03-13 00:16:18 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/RaspiPreview.c: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Move all debug output to go via GStreamer logs + Fixes https://github.com/thaytan/gst-rpicamsrc/issues/9 + +2013-10-19 18:52:25 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Update maximum framerate to 90 fps + +2013-10-14 02:39:00 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Enable image effects + +2013-10-13 18:01:00 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Re-flow element source code with gst-indent + +2013-10-13 17:46:07 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicam-enums-template.c: + * sys/rpicamsrc/gstrpicam-enums-template.h: + * sys/rpicamsrc/gstrpicam_types.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Implement a bunch of the raspivid command-line params + Add properties for controlling various parts of the capture + +2013-10-13 01:29:08 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: Tell basesrc to timestamp buffers for us, for now. + +2013-10-13 01:20:51 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Initial caps nego and properties. + Support caps negotiation for H.264 frame size and framerate. + Add bitrate, saturation, brightness, contrast, sharpness properties. + +2013-10-12 19:23:03 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/gstrpicamsrc.c: + rpicamsrc: First version which generates buffers on the src pad + Fixed to 1920x1080 h264 regardless of caps. + +2013-10-12 12:42:07 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/RaspiStill.c: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Checkpoint. Version which writes directly to test.out + Switch to plain basesrc for parent class + +2013-10-11 19:17:05 +1100 Jan Schmidt + + * sys/rpicamsrc/RaspiCamControl.c: + * sys/rpicamsrc/RaspiCamControl.h: + * sys/rpicamsrc/RaspiCapture.c: + * sys/rpicamsrc/RaspiCapture.h: + * sys/rpicamsrc/RaspiPreview.c: + * sys/rpicamsrc/RaspiPreview.h: + * sys/rpicamsrc/RaspiStill.c: + * sys/rpicamsrc/RaspiStillYUV.c: + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: checkpoint + +2013-10-10 23:47:38 +1100 Jan Schmidt + + * sys/rpicamsrc/gstrpicamsrc.c: + * sys/rpicamsrc/gstrpicamsrc.h: + rpicamsrc: Initial commit + Simple modified gst-template to use BaseCameraSrc + Incorporate Broadcom mmal headers + +2018-04-19 13:57:26 +0200 Michael Olbrich + + * ext/soup/gstsouphttpsrc.c: + souphttpsrc: don't fail when seeking past the end of the content + Range errors are already turned into EOS when the size is not known. + Do the same thing if the request as outside the known content size. + This can be triggered by seeking in a queue2: + - Ensure that the range containing the end of the file is available. + - Seek into this range from a different range. + - queue2 creates a seek event with start= + - this results in a "Requested Range Not Satisfiable" error + Fixes #452 + Part-of: + +2019-11-10 21:19:09 +0100 Michael Olbrich + + * ext/soup/gstsouphttpsrc.c: + souphttpsrc: don't update the size on error + Any data corresponding length in the message is not part of the requested + file. + Part-of: + +2020-06-18 19:12:46 +1000 Matthew Waters + + * ext/qt/qtglrenderer.cc: + qt/gloverlay: fix using OpenGL after destroying Qml + Qml somewhat unhelpfully seems to uncurrent our OpenGL context on its + destruction. Work around that by uncurrenting and recurrenting again. + Part-of: + +2020-07-08 17:02:34 +0100 Tim-Philipp Müller + + * meson.build: + * scripts/extract-release-date-from-doap-file.py: + meson: set release date from .doap file for releases + Part-of: + +2020-07-07 12:36:01 +0300 Sebastian Dröge + + * gst/isomp4/gstqtmux.c: + qtmux: Don't lock object lock twice in prefill mode + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/762 + Part-of: + +2020-07-04 01:02:02 +0100 Tim-Philipp Müller + + * gst/audiofx/meson.build: + * gst/deinterlace/meson.build: + * gst/videobox/meson.build: + * gst/videomixer/meson.build: + * meson.build: + * scripts/update-orc-dist-files.py: + meson: add update-orc-dist target + Add target to update backup orc -dist.[ch] files. + Part-of: + +2020-05-26 10:27:35 -0400 Xavier Claessens + + * sys/v4l2/gstv4l2videodec.c: + v4l2: Do not renegotiate if only framerate changed + Part-of: + +2020-07-02 09:15:08 +0300 Sebastian Dröge + + * ext/flac/gstflacenc.c: + flacenc: Pass audio info from set_format() to query_total_samples() explicitly + This fixes writing of the seek table header. + gst_audio_encoder_get_audio_info() will still return old/unset audio + info until set_format() has actually returned, which then results in + query_total_samples() to always return 0. + Thanks to Jacob Kauffmann for debugging this and finding the main cause. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/756 + Part-of: + +2020-07-03 02:03:33 +0100 Tim-Philipp Müller + + * docs/gst_plugins_cache.json: + * meson.build: + Back to development + === release 1.17.2 === 2020-07-03 00:27:47 +0100 Tim-Philipp Müller @@ -5,6 +1211,7 @@ * ChangeLog: * NEWS: * RELEASE: + * docs/gst_plugins_cache.json: * gst-plugins-good.doap: * meson.build: Release 1.17.2 diff --git a/NEWS b/NEWS index 39b682a8c8..c216f07fea 100644 --- a/NEWS +++ b/NEWS @@ -1,22 +1,14 @@ +GStreamer 1.18 Release Notes - -GSTREAMER 1.18 RELEASE NOTES - - -THESE RELEASE NOTES ARE A PLACEHOLDER, PLEASE BEAR WITH US WHILE WE -FINISH WRITING UP THE REAL THING. +These release notes are a placeholder, please bear with us while we +finish writing up the real thing. GStreamer 1.18.0 has not yet been released. It is scheduled for release -in summer 2020 now. +in late August / early September 2020. 1.17.x is the unstable development series that is currently being developed in the git master branch and which will eventually result in -1.18, and 1.17.2 is the current development release in that series. - -The schedule for the 1.18 development cycle is yet to be confirmed, but -it is expected that feature freeze will be in June/July 2020, followed -by several 1.17 pre-releases and then a new 1.18 stable release in -July/August 2020. +1.18, and 1.17.90 is the current 1.18 pre-release in that series. 1.18 will be backwards-compatible to the stable 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series. @@ -24,8 +16,7 @@ July/August 2020. See https://gstreamer.freedesktop.org/releases/1.18/ for the latest version of this document. -_Last updated: Wednesday 1 July 2020, 23:50 UTC (log)_ - +Last updated: Wednesday 20 August 2020, 11:00 UTC (log) Introduction @@ -36,12 +27,10 @@ framework! As always, this release is again packed with many new features, bug fixes and other improvements. - Highlights - FIXME - Major new features and changes Noteworthy new API @@ -66,12 +55,10 @@ The following plugins have been removed from gst-plugins-bad: - FIXME - Miscellaneous API additions - FIXME - Miscellaneous performance and memory optimisations As always there have been many performance and memory usage improvements @@ -88,7 +75,6 @@ GstPlayer - FIXME - Miscellaneous changes - FIXME @@ -97,62 +83,50 @@ OpenGL integration - FIXME - Tracing framework and debugging improvements - FIXME - Tools - FIXME - GStreamer RTSP server - FIXME - GStreamer VAAPI - FIXME - GStreamer OMX - FIXME - GStreamer Editing Services and NLE - FIXME - GStreamer validate - FIXME - GStreamer Python Bindings - FIXME - GStreamer C# Bindings - FIXME - GStreamer Rust Bindings - FIXME - GStreamer Rust Plugins - FIXME - Build and Dependencies - The Autotools build system has finally been removed in favour of the @@ -177,7 +151,6 @@ Cerbero has seen a number of improvements: - FIXME - Platform-specific changes and improvements Android @@ -194,7 +167,6 @@ Windows - FIXME - Contributors - FIXME @@ -202,7 +174,6 @@ Contributors … and many others who have contributed bug reports, translations, sent suggestions or helped testing. - Stable 1.18 branch After the 1.18.0 release there will be several 1.18.x bug-fix releases @@ -215,12 +186,10 @@ the git 1.18 branch, which will be a stable branch. 1.18.0 has not been released yet. - Known Issues - FIXME - Schedule for 1.20 Our next major feature release will be 1.20, and 1.19 will be the @@ -234,7 +203,7 @@ The plan for the 1.20 development cycle is yet to be confirmed. ------------------------------------------------------------------------ -_These release notes have been prepared by Tim-Philipp Müller with_ -_contributions from … (FIXME)_ +These release notes have been prepared by Tim-Philipp Müller with +contributions from … (FIXME) -_License: CC BY-SA 4.0_ +License: CC BY-SA 4.0 diff --git a/RELEASE b/RELEASE index 909d7ee0ad..c8a68ba9f9 100644 --- a/RELEASE +++ b/RELEASE @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-good 1.17.2. +This is GStreamer gst-plugins-good 1.17.90. GStreamer 1.17 is the development branch leading up to the next major stable version which will be 1.18. diff --git a/docs/gst_plugins_cache.json b/docs/gst_plugins_cache.json index 8ab2456783..5e6ab92ec5 100644 --- a/docs/gst_plugins_cache.json +++ b/docs/gst_plugins_cache.json @@ -6595,7 +6595,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.17.2.1 FLV muxer", + "default": "GStreamer 1.17.90 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -6607,7 +6607,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer 1.17.2.1 FLV muxer", + "default": "GStreamer 1.17.90 FLV muxer", "mutable": "null", "readable": true, "type": "gchararray", @@ -20636,7 +20636,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer/1.17.2.1", + "default": "GStreamer/1.17.90", "mutable": "null", "readable": true, "type": "gchararray", @@ -22593,7 +22593,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "GStreamer souphttpsrc 1.17.2.1 ", + "default": "GStreamer souphttpsrc 1.17.90 ", "mutable": "null", "readable": true, "type": "gchararray", diff --git a/gst-plugins-good.doap b/gst-plugins-good.doap index fcb6c1c83f..e1b54c9e29 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). + + + 1.17.90 + master + + 2020-08-20 + + + + 1.17.2 diff --git a/meson.build b/meson.build index 0159e5385a..467339a503 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('gst-plugins-good', 'c', - version : '1.17.2.1', + version : '1.17.90', meson_version : '>= 0.48', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ])