"Fossies" - the Fresh Open Source Software Archive

Member "gst-plugins-good-1.20.3/ChangeLog" (15 Jun 2022, 6177096 Bytes) of package /linux/misc/gst-plugins-good-1.20.3.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


    1 === release 1.20.3 ===
    2 
    3 2022-06-15 23:36:18 +0100  Tim-Philipp Müller <tim@centricular.com>
    4 
    5 	* NEWS:
    6 	* RELEASE:
    7 	* docs/gst_plugins_cache.json:
    8 	* gst-plugins-good.doap:
    9 	* meson.build:
   10 	  Release 1.20.3
   11 
   12 2022-06-15 23:36:10 +0100  Tim-Philipp Müller <tim@centricular.com>
   13 
   14 	* ChangeLog:
   15 	  Update ChangeLogs for 1.20.3
   16 
   17 2022-05-18 10:23:15 +0300  Sebastian Dröge <sebastian@centricular.com>
   18 
   19 	* gst/matroska/matroska-demux.c:
   20 	  matroskademux: Avoid integer-overflow resulting in heap corruption in WavPack header handling code
   21 	  blocksize + WAVPACK4_HEADER_SIZE might overflow gsize, which then
   22 	  results in allocating a very small buffer. Into that buffer blocksize
   23 	  data is memcpy'd later which then causes out of bound writes and can
   24 	  potentially lead to anything from crashes to remote code execution.
   25 	  Thanks to Adam Doupe for analyzing and reporting the issue.
   26 	  CVE: CVE-2022-1920
   27 	  https://gstreamer.freedesktop.org/security/sa-2022-0004.html
   28 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1226
   29 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2613>
   30 
   31 2022-05-30 10:15:37 +0300  Sebastian Dröge <sebastian@centricular.com>
   32 
   33 	* gst/isomp4/qtdemux.c:
   34 	  qtdemux: Fix integer overflows in zlib decompression code
   35 	  Various variables were of smaller types than needed and there were no
   36 	  checks for any overflows when doing additions on the sizes. This is all
   37 	  checked now.
   38 	  In addition the size of the decompressed data is limited to 200MB now as
   39 	  any larger sizes are likely pathological and we can avoid out of memory
   40 	  situations in many cases like this.
   41 	  Also fix a bug where the available output size on the next iteration in
   42 	  the zlib decompression code was provided too large and could
   43 	  potentially lead to out of bound writes.
   44 	  Thanks to Adam Doupe for analyzing and reporting the issue.
   45 	  CVE: tbd
   46 	  https://gstreamer.freedesktop.org/security/sa-2022-0003.html
   47 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
   48 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2611>
   49 
   50 2022-05-18 11:24:37 +0300  Sebastian Dröge <sebastian@centricular.com>
   51 
   52 	* gst/matroska/matroska-read-common.c:
   53 	  matroskademux: Fix integer overflows in zlib/bz2/etc decompression code
   54 	  Various variables were of smaller types than needed and there were no
   55 	  checks for any overflows when doing additions on the sizes. This is all
   56 	  checked now.
   57 	  In addition the size of the decompressed data is limited to 120MB now as
   58 	  any larger sizes are likely pathological and we can avoid out of memory
   59 	  situations in many cases like this.
   60 	  Also fix a bug where the available output size on the next iteration in
   61 	  the zlib/bz2 decompression code was provided too large and could
   62 	  potentially lead to out of bound writes.
   63 	  Thanks to Adam Doupe for analyzing and reporting the issue.
   64 	  CVE: CVE-2022-1922, CVE-2022-1923, CVE-2022-1924, CVE-2022-1925
   65 	  https://gstreamer.freedesktop.org/security/sa-2022-0002.html
   66 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1225
   67 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2611>
   68 
   69 2022-05-18 12:00:48 +0300  Sebastian Dröge <sebastian@centricular.com>
   70 
   71 	* gst/avi/gstavidemux.c:
   72 	  avidemux: Fix integer overflow resulting in heap corruption in DIB buffer inversion code
   73 	  Check that width*bpp/8 doesn't overflow a guint and also that
   74 	  height*stride fits into the provided buffer without overflowing.
   75 	  Thanks to Adam Doupe for analyzing and reporting the issue.
   76 	  CVE: CVE-2022-1921
   77 	  See https://gstreamer.freedesktop.org/security/sa-2022-0001.html
   78 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1224
   79 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2609>
   80 
   81 2022-05-19 04:16:25 +0000  Adam Doupe <adamdoupe@gmail.com>
   82 
   83 	* gst/smpte/gstmask.c:
   84 	  smpte: Fix integer overflow with possible heap corruption in GstMask creation.
   85 	  Check that width*height*sizeof(guint32) doesn't overflow when
   86 	  allocated user_data for mask, potential for heap overwrite when
   87 	  inverting.
   88 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1231
   89 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2605>
   90 
   91 2022-06-07 17:31:43 +0200  Bastien Nocera <hadess@hadess.net>
   92 
   93 	* ext/gtk/gtkgstglwidget.c:
   94 	  gtk: Fix double-free when OpenGL can't be initialised
   95 	  gtk_gl_area_get_error() doesn't return a copy of the error, but just the
   96 	  error. If initialising OpenGL fails, then GtkGstGLWidget will consume
   97 	  the error, and cause GTK to try and display freed memory.
   98 	  ==50914== Invalid read of size 8
   99 	  ==50914==    at 0x4C4CB8A: gtk_gl_area_draw_error_screen (gtkglarea.c:663)
  100 	  ==50914==    by 0x4C4CB8A: gtk_gl_area_draw (gtkglarea.c:687)
  101 	  ==50914==    by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
  102 	  ==50914==    by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
  103 	  ==50914==    by 0x4D4B6BF: gtk_stack_render (gtkstack.c:2207)
  104 	  ==50914==    by 0x4BB4B03: gtk_css_custom_gadget_draw (gtkcsscustomgadget.c:159)
  105 	  ==50914==    by 0x4BBA4C4: gtk_css_gadget_draw (gtkcssgadget.c:885)
  106 	  ==50914==    by 0x4D4D780: gtk_stack_draw (gtkstack.c:2119)
  107 	  ==50914==    by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
  108 	  ==50914==    by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
  109 	  ==50914==    by 0x4BAF0C3: gtk_container_draw (gtkcontainer.c:3674)
  110 	  ==50914==    by 0x4E061CA: gtk_widget_draw_internal (gtkwidget.c:7084)
  111 	  ==50914==    by 0x4BAEFB1: gtk_container_propagate_draw (gtkcontainer.c:3854)
  112 	  ==50914==  Address 0x187a0818 is 8 bytes inside a block of size 16 free'd
  113 	  ==50914==    at 0x48480E4: free (vg_replace_malloc.c:872)
  114 	  ==50914==    by 0x49A5B8C: g_free (gmem.c:218)
  115 	  ==50914==    by 0x49C1013: g_slice_free1 (gslice.c:1183)
  116 	  ==50914==    by 0x4990DE4: g_error_free (gerror.c:870)
  117 	  ==50914==    by 0x4990FE9: g_clear_error (gerror.c:1052)
  118 	  ==50914==    by 0x1A489780: _get_gl_context (gtkgstglwidget.c:540)
  119 	  ==50914==    by 0x1A4863CB: gst_gtk_invoke_func (gstgtkutils.c:39)
  120 	  ==50914==    by 0x49A3834: g_main_context_invoke_full (gmain.c:6137)
  121 	  ==50914==    by 0x1A486450: gst_gtk_invoke_on_main (gstgtkutils.c:59)
  122 	  ==50914==    by 0x1A48A29E: gtk_gst_gl_widget_init_winsys (gtkgstglwidget.c:632)
  123 	  ==50914==    by 0x1A4887E7: gst_gtk_gl_sink_start (gstgtkglsink.c:267)
  124 	  ==50914==    by 0x6579810: gst_base_sink_change_state (gstbasesink.c:5662)
  125 	  ==50914==  Block was alloc'd at
  126 	  ==50914==    at 0x484586F: malloc (vg_replace_malloc.c:381)
  127 	  ==50914==    by 0x49A9278: g_malloc (gmem.c:125)
  128 	  ==50914==    by 0x49C1BA5: g_slice_alloc (gslice.c:1072)
  129 	  ==50914==    by 0x49C3BCC: g_slice_alloc0 (gslice.c:1098)
  130 	  ==50914==    by 0x499096B: g_error_allocate (gerror.c:708)
  131 	  ==50914==    by 0x4990AF1: UnknownInlinedFun (gerror.c:722)
  132 	  ==50914==    by 0x4990AF1: g_error_copy (gerror.c:892)
  133 	  ==50914==    by 0x4C4B9F9: gtk_gl_area_set_error (gtkglarea.c:1036)
  134 	  ==50914==    by 0x4C4BAF7: gtk_gl_area_real_create_context (gtkglarea.c:346)
  135 	  ==50914==    by 0x4B21B28: _gtk_marshal_OBJECT__VOIDv (gtkmarshalers.c:2730)
  136 	  ==50914==    by 0x4920B78: UnknownInlinedFun (gclosure.c:893)
  137 	  ==50914==    by 0x4920B78: g_signal_emit_valist (gsignal.c:3406)
  138 	  ==50914==    by 0x4920CB2: g_signal_emit (gsignal.c:3553)
  139 	  ==50914==    by 0x4C4B927: gtk_gl_area_realize (gtkglarea.c:308)
  140 	  Reproduced by running:
  141 	  MESA_GL_VERSION_OVERRIDE=2.7 totem
  142 	  See https://gitlab.gnome.org/GNOME/totem/-/issues/522
  143 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2567>
  144 
  145 2022-06-03 18:35:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  146 
  147 	* gst/audioparsers/gstaacparse.c:
  148 	  aacparse: Avoid mismatch between src_caps and output_header_type
  149 	  If our downstream caps didn't intersect, we attempted to convert between
  150 	  raw and ADTS stream formats, if possible. If the caps still did not
  151 	  intersect, we then used the modified `src_caps` but left the
  152 	  `output_header_type` unmodified.
  153 	  This caused a mismatch between caps and actual stream format.
  154 	  Avoid this by first copying the `src_caps` to `convcaps` for the
  155 	  additional intersection tests, replacing `src_caps` if we succeed.
  156 	  While we're here, clean up the code a bit and remove the `codec_data`
  157 	  field from outgoing ADTS caps.
  158 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2563>
  159 
  160 2022-06-04 10:27:09 +0300  Sebastian Dröge <sebastian@centricular.com>
  161 
  162 	* gst/flv/gstflvdemux.c:
  163 	* gst/flv/gstflvelement.c:
  164 	  flvdemux: Actually make use of the debug category
  165 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2560>
  166 
  167 2022-06-01 16:14:24 +0200  Stéphane Cerveau <scerveau@collabora.com>
  168 
  169 	* ext/soup/gstsoup.c:
  170 	* ext/soup/gstsoupelement.c:
  171 	* ext/soup/gstsouploader.c:
  172 	  soup: fix soup debug category
  173 	  Use soup debug category in souploader
  174 	  for soup plugin element load.
  175 	  Inititalize properly soup utils category.
  176 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2547>
  177 
  178 2022-05-29 20:27:38 +1000  Jan Schmidt <jan@centricular.com>
  179 
  180 	* gst/rtpmanager/gstrtpptdemux.c:
  181 	  rtpptdemux: Don't GST_FLOW_ERROR when ignoring invalid packets
  182 	  https://bugzilla.gnome.org/show_bug.cgi?id=741398 changed
  183 	  rtpptdemux in 2014 to not post a GST_ELEMENT_ERROR on the
  184 	  bus when dropping an invalid (non-RTP) packet, but still
  185 	  returned GST_FLOW_ERROR upstream - so the pipeline still
  186 	  stops, but now without a useful bus error.
  187 	  Return GST_FLOW_OK instead, so the pipeline keeps
  188 	  running. Some old telephony equipment can send invalid
  189 	  packets before the real RTP traffic starts.
  190 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2523>
  191 
  192 2022-05-28 16:46:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  193 
  194 	* ext/jack/gstjackaudiosrc.c:
  195 	  jack: Always use jack_free as specified by the docs
  196 	  Fixes a crash on Windows due to a CRT mismatch. The JACK installation
  197 	  still uses MSVCRT, and we the Universal CRT for both MinGW and MSVC.
  198 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2515>
  199 
  200 2022-05-26 01:21:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  201 
  202 	* ext/jack/meson.build:
  203 	  jack: Add support for detecting libjack on Windows
  204 	  No source code changes were necessary to get the plugin working on
  205 	  Windows with MSVC.
  206 	  Run QJackCtl and audiotestsrc ! jackaudiosink just works.
  207 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2515>
  208 
  209 2022-05-24 16:07:13 +0800  Hou Qi <qi.hou@nxp.com>
  210 
  211 	* sys/v4l2/gstv4l2object.c:
  212 	  v4l2: Reset transfer in gst_v4l2_object_acquire_format()
  213 	  get_colorspace() checks input caps transfer when mapping V4L2_XFER_FUNC_709
  214 	  back to V4L2_COLORSPACE_BT2020 and GST_VIDEO_TRANSFER_BT2020_12. After
  215 	  receiving source change event, decoder will G_FMT and S_FMT again. So need
  216 	  to reset transfer when acquiring format to avoid using the old transfer.
  217 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2505>
  218 
  219 2022-05-03 11:34:15 +0200  Stéphane Cerveau <scerveau@collabora.com>
  220 
  221 	* ext/soup/gstsoup.c:
  222 	* ext/soup/gstsoupelement.c:
  223 	* ext/soup/gstsoupelements.h:
  224 	* ext/soup/gstsouphttpclientsink.c:
  225 	* ext/soup/gstsouphttpsrc.c:
  226 	  soup: Fix plugin/element init
  227 	  In case of per features registration such as the
  228 	  customizable gstreamer-full library, each
  229 	  element should check that the soup library can be loaded to
  230 	  facilitate the element registration.
  231 	  Initialize the debug category properly
  232 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2491>
  233 
  234 2022-05-23 21:24:40 -0400  Eli Schwartz <eschwartz@archlinux.org>
  235 
  236 	* meson.build:
  237 	  meson: use better zlib dependency fallback
  238 	  zlib is required, and if it isn't found it is checked several ways and
  239 	  then forced via subproject(). This code was added in commit
  240 	  b93e37592a3ccc0eaece1c8fef2d362b1e5fe685, to account for systems where
  241 	  zlib doesn't have pkg-config files installed.
  242 	  But Meson already does dependency fallback, and also, since 0.54.0, does
  243 	  the in-between checks for find_library('z') and has_header('zlib.h') via
  244 	  the "system" type dependency. Simplify dependency lookup by marking it
  245 	  as required, which also makes sure that the console log doesn't
  246 	  confusingly list "not found".
  247 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2486>
  248 
  249 2022-05-16 14:14:46 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  250 
  251 	* gst/deinterlace/gstdeinterlace.c:
  252 	  deinterlace: Clean up error handling in chain and _push_history
  253 	  - Consistently unref the chained buffer at the end of the chain
  254 	  function, if we're not handing it off to `gst_pad_push`. This avoids a
  255 	  few buffer leaks in the error paths in `_chain` and `_push_history`.
  256 	  - When mapping the video frame fails, return a flow error instead of
  257 	  crashing.
  258 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2444>
  259 
  260 2022-05-11 15:18:42 +0200  Guillaume Desmottes <guillaume.desmottes@onestream.live>
  261 
  262 	* ext/vpx/gstvpxenc.c:
  263 	  vpxenc: fix crash if encoder produces unmatching ts
  264 	  If for some reason the encoder produces frames with a pts higher than
  265 	  the input one, we were dropping all the video encoder frames and ended
  266 	  up crashing when trying to access the pts of a NULL pointer returned by
  267 	  gst_video_encoder_get_oldest_frame().
  268 	  I hit this scenario by feeding a decreasing timestamp to vp8enc which
  269 	  seem to confuse the encoder.
  270 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2436>
  271 
  272 2022-05-13 01:42:21 +0000  Thibault Saunier <tsaunier@igalia.com>
  273 
  274 	* gst/rtpmanager/gstrtpbin.c:
  275 	  rtpbin: Avoid holding lock GST_RTP_BIN_LOCK  when emitting pad-added
  276 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2415>
  277 
  278 2022-05-12 17:11:38 +0300  Sebastian Dröge <sebastian@centricular.com>
  279 
  280 	* gst/isomp4/qtdemux.c:
  281 	  qtdemux: Don't use tfdt for parsing subsequent trun boxes
  282 	  The timestamp in the tfdt refers to the first trun box and if there are
  283 	  multiple trun boxes then the distance between the first timestamps will
  284 	  grow.
  285 	  At some point this distance reaches a threshold and triggers the
  286 	  resetting of the first sample's timestamp of this trun box to be reset
  287 	  to the tfdt.
  288 	  This threshold is implemented for files where there is a jump in the
  289 	  timeline between fragments and where this can be detected via a jump
  290 	  between the end timestamp of the previous fragment and the tfdt of the
  291 	  next. This behaviour is preserved.
  292 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2414>
  293 
  294 2022-04-28 09:19:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
  295 
  296 	* sys/v4l2/gstv4l2object.c:
  297 	* sys/v4l2/gstv4l2videoenc.c:
  298 	  v4l2videoenc: Setup crop rectangle if needed
  299 	  Hantro H1 and Rockchip VEPU2 drivers will pad the width/height to a
  300 	  multiple of 16. In order to obtain the right JPEG size, the image needs
  301 	  to be cropped using the S_SELECTION API. This support is added as best
  302 	  effort since older drivers may emulate this by looking at the capture
  303 	  queue width/height.
  304 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2392>
  305 
  306 2021-09-30 17:56:56 +0900  Damian Hobson-Garcia <dhobsong@igel.co.jp>
  307 
  308 	* sys/v4l2/gstv4l2object.c:
  309 	* sys/v4l2/gstv4l2object.h:
  310 	* sys/v4l2/gstv4l2transform.c:
  311 	  v4l2object: rename crop function to reflect its usage
  312 	  The gst_v4l2_object_set_crop() is used for removing buffer
  313 	  alignment padding. Give it a name that better reflects
  314 	  that usage.  This helps to distinguish from cropping of the
  315 	  input image (e.g. cropping at the image sensor on a captre
  316 	  device), which can be  unrelated to the memory buffer padding,
  317 	  especially if scaling is involved.
  318 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2392>
  319 
  320 2022-05-05 20:36:04 +0300  Sebastian Dröge <sebastian@centricular.com>
  321 
  322 	* gst/isomp4/gstqtmux.c:
  323 	  mp4mux: Disable aggregator's default negotiation
  324 	  mp4mux can't negotiate caps with upstream/downstream and always outputs
  325 	  specific caps based on the input streams. This will always happen before
  326 	  it produces the first buffers.
  327 	  By having the default aggregator negotiation enabled the same caps
  328 	  would be pushed twice in the beginning, and again every time a
  329 	  reconfigure event is received.
  330 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
  331 
  332 2022-05-05 20:24:57 +0300  Sebastian Dröge <sebastian@centricular.com>
  333 
  334 	* gst/flv/gstflvmux.c:
  335 	  flvmux: Disable aggregator's default negotiation
  336 	  flvmux can't negotiate caps with upstream/downstream and always outputs
  337 	  specific caps based on the input streams. This will always happen before
  338 	  it produces the first buffers.
  339 	  By having the default aggregator negotiation enabled the same caps
  340 	  would be pushed twice in the beginning, and again every time a
  341 	  reconfigure event is received.
  342 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2381>
  343 
  344 2022-05-03 17:27:32 +1000  Matthew Waters <matthew@centricular.com>
  345 
  346 	* gst/wavparse/gstwavparse.c:
  347 	  wavparse: ensure that any pending segment is sent before an EOS event is sent
  348 	  Specifically fixes seqnum handling when an aggregator-based element
  349 	  (audiomixer et al) is downstream and a seek is performed that
  350 	  immediately causes an EOS from wavparse.
  351 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2369>
  352 
  353 2021-11-12 20:13:10 +0100  Ruben Gonzalez <rgonzalez@fluendo.com>
  354 
  355 	* docs/gst_plugins_cache.json:
  356 	  gst_plugin_load_file: force plugin reload if diff filename
  357 	  If a file includes a new version of a plugin that exits in the
  358 	  registry, the output of gst-inspect is incorrect. The output has the
  359 	  correct version but incorrect filename, and element description.
  360 	  This seems to have also fixed some documentation issues.
  361 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2357>
  362 
  363 2022-05-03 00:39:09 +0100  Tim-Philipp Müller <tim@centricular.com>
  364 
  365 	* docs/gst_plugins_cache.json:
  366 	* meson.build:
  367 	  Back to development
  368 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
  369 
  370 === release 1.20.2 ===
  371 
  372 2022-05-02 23:29:25 +0100  Tim-Philipp Müller <tim@centricular.com>
  373 
  374 	* ChangeLog:
  375 	* NEWS:
  376 	* RELEASE:
  377 	* docs/gst_plugins_cache.json:
  378 	* gst-plugins-good.doap:
  379 	* meson.build:
  380 	  Release 1.20.2
  381 
  382 2022-05-02 23:29:19 +0100  Tim-Philipp Müller <tim@centricular.com>
  383 
  384 	* ChangeLog:
  385 	  Update ChangeLogs for 1.20.2
  386 
  387 2022-04-27 12:24:23 +0900  dongil.park <dongil.park@lge.com>
  388 
  389 	* gst/wavparse/gstwavparse.c:
  390 	  wavparse: Unset DISCONT buffer flag for divided into multiple buffers in push mode
  391 	  In push mode (streaming), if the received chunk buffer size from _chain is bigger
  392 	  than output buffer size, the flags of the divided-buffers are propagated to the
  393 	  DISCONT flag from first received chunk buffer. This unexpected buffers contained DISCONT
  394 	  flags are abnormally transformed when changing the sampling rate by audioresample element.
  395 	  So unset unnecessary DISCONT flag before pad_push().
  396 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2322>
  397 
  398 2022-04-23 01:57:53 +0200  Mathieu Duponchelle <mathieu@centricular.com>
  399 
  400 	* gst/rtp/gstrtpredenc.c:
  401 	* gst/rtp/gstrtpredenc.h:
  402 	  rtpredenc: quieten warning about ignoring header extensions
  403 	  Turn it into a FIXME, and only log once
  404 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2281>
  405 
  406 2022-04-15 09:53:19 +0800  Hou Qi <qi.hou@nxp.com>
  407 
  408 	* sys/v4l2/gstv4l2videodec.c:
  409 	  v4l2videodec: copy colorimetry values to output_state caps
  410 	  This is to avoid transcoding negotiation fail between v4l2h265dec
  411 	  and v4l2h264enc caused by colorimetry mismatch.
  412 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2220>
  413 
  414 2022-04-07 11:12:47 +1000  Havard Graff <havard.graff@gmail.com>
  415 
  416 	* gst/isomp4/qtdemux.c:
  417 	  qtdemux: fix leak of channel_mapping
  418 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2184>
  419 
  420 2022-04-06 09:46:30 -0400  Tristan Matthews <tmatth@videolan.org>
  421 
  422 	* gst/rtp/gstrtpopusdepay.c:
  423 	  rtpopusdepay: assume 2 channels if sprop-stereo is missing
  424 	  Fixes #1064
  425 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2139>
  426 
  427 2022-03-26 01:02:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  428 
  429 	* ext/soup/meson.build:
  430 	  meson: Add some messages when selecting libsoup
  431 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082>
  432 
  433 2022-03-26 00:59:12 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  434 
  435 	* ext/soup/gstsouphttpsrc.c:
  436 	  soup: Fix usage of symbols / defines that are gone in libsoup3
  437 	  I am not sure about the SOUP_MESSAGE_OVERWRITE_CHUNKS change, but it
  438 	  was definitely already broken when using libsoup-3.0 in a shared
  439 	  build. souphttpsrc probably needs to be ported from SoupMessage to
  440 	  SoupServerMessage when using libsoup-3.0.
  441 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
  442 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082>
  443 
  444 2022-03-26 00:56:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  445 
  446 	* ext/soup/gstsouploader.c:
  447 	* ext/soup/gstsouploader.h:
  448 	  soup: Fix pre-processor macros in souploader for libsoup-3.0
  449 	  Some of the preprocessor conditionals in the loader were very broken
  450 	  with libsoup-3.0 + --default-library=static
  451 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
  452 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082>
  453 
  454 2022-03-28 18:12:03 +1100  Matthew Waters <matthew@centricular.com>
  455 
  456 	* sys/osxaudio/gstosxcoreaudio.c:
  457 	  osxcoreaudio: fix unused-but-set warning
  458 	  ../sys/osxaudio/gstosxcoreaudio.c:480:18: error: variable 'interleaved' set but not used [-Werror,-Wunused-but-set-variable]
  459 	  gboolean sign, interleaved;
  460 	  ^
  461 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068>
  462 
  463 2022-03-28 13:35:17 +1100  Matthew Waters <matthew@centricular.com>
  464 
  465 	* gst/deinterlace/tvtime/tomsmocomp/SearchLoopTop.inc:
  466 	  deinterlace: silence unused-but-set werror from imported code
  467 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2062>
  468 
  469 2022-03-28 09:50:38 +1100  Matthew Waters <matthew@centricular.com>
  470 
  471 	* sys/osxvideo/osxvideosink.m:
  472 	  osxvideosink: fix unused-but-set-variable warning
  473 	  ../sys/osxvideo/osxvideosink.m:859:11: error: variable 'data' set but not used [-Werror,-Wunused-but-set-variable]
  474 	  guint8 *data, *readp, *writep;
  475 	  ^
  476 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2055>
  477 
  478 2021-11-17 17:27:13 +1100  Matthew Waters <matthew@centricular.com>
  479 
  480 	* gst/rtpmanager/gstrtpptdemux.c:
  481 	  rtpptdemux: fix leak of caps when ignoring a pt
  482 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2033>
  483 
  484 2022-03-18 15:20:49 +0100  Stéphane Cerveau <scerveau@collabora.com>
  485 
  486 	* gst/wavparse/gstwavparse.c:
  487 	* tests/check/elements/wavparse.c:
  488 	  wavparse: handle query in any parse state
  489 	  In order to create the stream_id, we need to
  490 	  pass the query to the default query handler.
  491 	  If the parse state is different from GST_WAVPARSE_DATA
  492 	  the query should be passed to the default query
  493 	  handler.
  494 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2011>
  495 
  496 2022-03-15 15:44:17 +0900  Sangchul Lee <sc11.lee@samsung.com>
  497 
  498 	* gst/rtpmanager/rtpjitterbuffer.c:
  499 	  rtpjitterbuffer: Fix invalid memory access in rtp_jitter_buffer_pop()
  500 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1994>
  501 
  502 2022-01-26 10:06:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
  503 
  504 	* sys/v4l2/gstv4l2transform.c:
  505 	  v4l2transform: Handle caps changes
  506 	  As this element is single threaded, we only need to stop the objects to
  507 	  allow changing the format again. Fixes assertion notably on shutdown and
  508 	  on some other situation where the format may be set twice without
  509 	  actually activating the element.
  510 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991>
  511 
  512 2022-01-26 09:55:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
  513 
  514 	* sys/v4l2/gstv4l2object.c:
  515 	  v4l2object: Avoid crash on early failure
  516 	  This happens while an external error lead to an early shutdown.
  517 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991>
  518 
  519 2022-03-14 16:19:33 +0800  Hou Qi <qi.hou@nxp.com>
  520 
  521 	* sys/v4l2/gstv4l2videodec.c:
  522 	  v4l2videodec: set frame duration according to framerate
  523 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1989>
  524 
  525 2022-03-14 12:29:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  526 
  527 	* gst/rtpmanager/rtpsession.c:
  528 	* gst/rtpmanager/rtptwcc.c:
  529 	  twcc: Add some logging to debug TWCC feedback
  530 	  This should allow people to debug when TWCC feedback is not enabled
  531 	  because they haven't set the extmap in the caps.
  532 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979>
  533 
  534 2022-03-14 13:45:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  535 
  536 	* gst/rtpmanager/gstrtpsession.c:
  537 	  twcc: Note that packet-loss-pct can count reordering as loss
  538 	  This is difficult to encounter in ordinary networks, but is
  539 	  encountered when using tc-netem to add random delays to packets, and
  540 	  also when your UDP stream is bonded over multiple links with varying
  541 	  characteristics.
  542 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979>
  543 
  544 2022-03-14 14:48:01 +0000  Tim-Philipp Müller <tim@centricular.com>
  545 
  546 	* docs/gst_plugins_cache.json:
  547 	* meson.build:
  548 	  Back to development
  549 
  550 === release 1.20.1 ===
  551 
  552 2022-03-14 11:33:33 +0000  Tim-Philipp Müller <tim@centricular.com>
  553 
  554 	* ChangeLog:
  555 	* NEWS:
  556 	* RELEASE:
  557 	* docs/gst_plugins_cache.json:
  558 	* gst-plugins-good.doap:
  559 	* meson.build:
  560 	  Release 1.20.1
  561 
  562 2022-03-14 11:33:25 +0000  Tim-Philipp Müller <tim@centricular.com>
  563 
  564 	* ChangeLog:
  565 	  Update ChangeLogs for 1.20.1
  566 
  567 2022-02-22 10:13:28 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
  568 
  569 	* gst/rtpmanager/rtpsource.c:
  570 	  rtpsource: fix rtp_source_get_nack_deadlines doc
  571 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1950>
  572 
  573 2022-01-14 23:42:27 -0600  Tim Mooney <Tim.Mooney@ndsu.edu>
  574 
  575 	* sys/v4l2/ext/types-compat.h:
  576 	  v4l2: include <sys/ioccom.h> on Illumos
  577 	  Needed for _IOR/_IORW
  578 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1947>
  579 
  580 2022-03-03 13:47:05 +0800  Hou Qi <qi.hou@nxp.com>
  581 
  582 	* sys/v4l2/gstv4l2bufferpool.c:
  583 	  v4l2bufferpool: Fix race condition between qbuf and pool streamoff
  584 	  There is a chance that pool->buffers[index] sets BUFFER_STATE_QUEUED, but
  585 	  it has not been queued yet which makes pool->buffers[index] still NULL.
  586 	  At this time, if pool_streamff release all buffers with BUFFER_STATE_QUEUED
  587 	  state regardless of whether the buffer is NULL or not, it will cause segfault.
  588 	  To fix this, also check buffer when streamoff release buffer.
  589 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1948>
  590 
  591 2022-03-11 10:32:42 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  592 
  593 	* gst/deinterlace/tvtime/scalerbob.c:
  594 	  deinterlace: scalerbob: Reduce latency to 0
  595 	  We only need the current field, just like `linear`.
  596 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1944>
  597 
  598 2022-03-12 17:13:48 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
  599 
  600 	* gst/deinterlace/yadif.c:
  601 	  yadif: Fix CHECK macro for YUY2 format
  602 	  Used to make comb artifacts for videotestsrc pattern=ball for YUY2
  603 	  format only (not AYUV).
  604 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1943>
  605 
  606 2022-03-10 18:43:45 +0900  Sangchul Lee <sc11.lee@samsung.com>
  607 
  608 	* gst/rtp/gstrtpvp8depay.c:
  609 	  rtpvp8depay: Fix crash when making 'GstRTPPacketLost' custom event
  610 	  This patch fixes a seg.fault in gst_structure_new() with warnings as below.
  611 	  GLib-GObject-WARNING **:
  612 	  ../gobject/gtype.c:4330: type id '0' is invalid
  613 	  GLib-GObject-WARNING **:
  614 	  can't peek value table for type '<invalid>' which is not currently referenced
  615 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1920>
  616 
  617 2022-03-09 12:17:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  618 
  619 	* ext/soup/gstsouploader.c:
  620 	  soup: Load the runtime library, not the development library
  621 	  libsoup-2.4.so / libsoup-3.0.so are symlinks installed by development
  622 	  packages, they are not available at runtime.
  623 	  Also eliminate G_MODULE_SUFFIX since it's not useful for us, and is
  624 	  actually incorrect on macOS anyway.
  625 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1071
  626 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1907>
  627 
  628 2021-02-08 21:40:19 +0100  Havard Graff <havard@pexip.com>
  629 
  630 	* gst/rtpmanager/gstrtprtxreceive.c:
  631 	* gst/rtpmanager/gstrtprtxreceive.h:
  632 	* gst/rtpmanager/gstrtprtxsend.c:
  633 	* gst/rtpmanager/gstrtprtxsend.h:
  634 	  rtprtx: don't access type-system per buffer
  635 	  When doing only a single stream of audio/video this hardly matters,
  636 	  but when doing many at the same time, the fact that you have to get
  637 	  a hold of the glib global type-system lock every time you process a buffer,
  638 	  means that there is a limit to how many streams you can process in
  639 	  parallel.
  640 	  Luckily the fix is very simple, by doing a cast rather than a full
  641 	  type-check.
  642 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1890>
  643 
  644 2020-02-10 14:37:30 +0100  Havard Graff <havard@pexip.com>
  645 
  646 	* tests/check/elements/rtprtx.c:
  647 	  rtprtx: signed/unsigned and style fixes
  648 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1888>
  649 
  650 2022-03-04 15:36:20 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  651 
  652 	* gst/deinterlace/gstdeinterlace.c:
  653 	  deinterlace: Prevent race between _set_method and latency query
  654 	  It's possible that the method is being manipulated while downstream
  655 	  queries our latency, leading to crashes.
  656 	  Prevent that from happening.
  657 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1859>
  658 
  659 2022-03-03 23:04:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  660 
  661 	* ext/soup/gstsouploader.c:
  662 	  soup: Fix static build with MSVC
  663 	  ../ext/soup/gstsouploader.c(818): error C4098: '_soup_session_send_async': 'void' function returning a value
  664 	  It's technically a false warning, but that's how MSVC works, so fix
  665 	  it.
  666 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>
  667 
  668 2022-03-03 00:37:57 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  669 
  670 	* ext/soup/meson.build:
  671 	  soup: Fix pkgconfig generation and documentation
  672 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>
  673 
  674 2022-03-02 23:22:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  675 
  676 	* ext/soup/meson.build:
  677 	  soup: Fix static build when default_library=both
  678 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1007
  679 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>
  680 
  681 2022-03-02 23:11:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  682 
  683 	* ext/soup/meson.build:
  684 	  soup: Don't error out in static build unless option is enabled
  685 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>
  686 
  687 2022-02-27 15:45:01 +0100  Philippe Normand <philn@igalia.com>
  688 
  689 	* ext/soup/gstsouploader.c:
  690 	  soup: Lookup libsoup dylib files on Apple platforms
  691 	  Fixes #1007
  692 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1846>
  693 
  694 2022-03-01 20:59:30 +0200  Sebastian Dröge <sebastian@centricular.com>
  695 
  696 	* gst/matroska/matroska-mux.c:
  697 	  matroska-mux: Handle pixel-aspect-ratio caps field correctly when checking caps equality
  698 	  Not having this field is equivalent with it being 1/1 so consider
  699 	  it like that. The generic caps functions are not aware of these
  700 	  semantics and would consider the caps different, causing a negotiation
  701 	  failure when caps are changing from caps with to caps without or the
  702 	  other way around.
  703 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1833>
  704 
  705 2022-03-01 20:56:43 +0200  Sebastian Dröge <sebastian@centricular.com>
  706 
  707 	* gst/matroska/matroska-mux.c:
  708 	  matroska-mux: Handle multiview-mode/flags caps fields correctly when checking caps equality
  709 	  Not having these fields is equivalent with them being mono/0 so consider
  710 	  them like that. The generic caps functions are not aware of these
  711 	  semantics and would consider the caps different, causing a negotiation
  712 	  failure when caps are changing from caps with to caps without or the
  713 	  other way around.
  714 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1833>
  715 
  716 2022-02-23 11:10:11 +0100  Sebastian Fricke <sebastian.fricke@collabora.com>
  717 
  718 	* README.md:
  719 	  Maintain build instructions at a single location
  720 	  Do not maintain similar build instructions within each gst-plugins-*
  721 	  subproject and the subproject/gstreamer subproject. Use the build
  722 	  instructions from the mono-repository and link to them via hyperlink.
  723 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1829>
  724 
  725 2022-03-01 00:12:56 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
  726 
  727 	* gst/deinterlace/x86/yadif.asm:
  728 	  yadif.asm: Fix improper usage of LOAD macro
  729 	  LOAD macro relies in m7 being zero for interleaving purposes. Using LOAD
  730 	  on the m7 register makes it interleave with its new content instead of
  731 	  with 0.
  732 	  The effect of this bug was bobbing on some static lines that appeared
  733 	  over fast-moving content.
  734 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1823>
  735 
  736 2022-03-01 00:12:33 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
  737 
  738 	* gst/deinterlace/x86/yadif.asm:
  739 	  yadif.asm: Typo fixes in comments
  740 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1823>
  741 
  742 2022-02-28 20:39:11 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
  743 
  744 	* gst/deinterlace/yadif.c:
  745 	  yadif: Fix bug in C implementation of CHECK
  746 	  It was different compared to the corresponding part in both ffmpeg and
  747 	  the asm implementation. Fixing this makes videotestsrc pattern=spokes
  748 	  not jump at all when not using the asm optimisations.
  749 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1823>
  750 
  751 2021-12-06 12:49:18 -0500  Joseph Donofry <rubberduckie3554@gmail.com>
  752 
  753 	* sys/osxaudio/gstosxaudiodeviceprovider.c:
  754 	  osxaudiosrc: Support a device as both input and output
  755 	  osxaudiodeviceprovider now probes devices more than once to determine
  756 	  if the device can function as both an input AND and output device.
  757 	  Previously, if the device provider detected that a device had any output
  758 	  capabilities, it was treated solely as an Audio/Sink.  This causes issues
  759 	  that have both input and output capabilities (for example, USB interfaces
  760 	  for professional audio have both input and output channels).  Such devices
  761 	  are now listed as both an Audio/Sink as well as an Audio/Source.
  762 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1809>
  763 
  764 2022-02-24 20:28:23 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
  765 
  766 	* docs/gst_plugins_cache.json:
  767 	* gst/rtp/gstrtpldacpay.c:
  768 	* gst/rtp/gstrtpldacpay.h:
  769 	  rtp: ldac: Set frame count information in payload
  770 	  The RTP payload seems to be required as it carries the frame count
  771 	  information. Also, gst_rtp_base_payload_allocate_output_buffer had
  772 	  the second argument incorrect.
  773 	  Strangely some devices like Shanling MP4 and Sony XM3 would still
  774 	  work without this while some like the Sony XM4 do not.
  775 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1804>
  776 
  777 2022-02-25 12:44:26 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  778 
  779 	* gst/deinterlace/tvtime/greedyh.c:
  780 	  deinterlace: greedyh: Stop adding 2 to cur_field_idx
  781 	  Just a simplification.
  782 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>
  783 
  784 2022-02-24 17:36:40 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  785 
  786 	* gst/deinterlace/tvtime/greedyh.c:
  787 	  deinterlace: greedyh: Use _plane in _packed, fix planar formats
  788 	  This greatly reduces code duplication. It also exposed the cause for
  789 	  planar formats not being properly deinterlaced:
  790 	  The planar path was missing the initial offset adjustment that the
  791 	  packed path did to `L2` and `L2P` in the case of an even field, which
  792 	  caused it to select the wrong weave lines every other field.
  793 	  Add those offsets in `_plane`.
  794 	  Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1047
  795 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>
  796 
  797 2022-02-25 12:39:31 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  798 
  799 	* gst/deinterlace/tvtime/greedyh.c:
  800 	  deinterlace: greedyh: Rename _planar_plane to _plane
  801 	  As well as `i` to `plane`.
  802 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>
  803 
  804 2022-02-25 12:36:17 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  805 
  806 	* gst/deinterlace/tvtime/greedyh.c:
  807 	  deinterlace: greedyh: Move code from _planar into _planar_plane
  808 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>
  809 
  810 2022-02-25 12:30:21 +0100  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
  811 
  812 	* gst/deinterlace/tvtime/greedyh.c:
  813 	  deinterlace: greedyh: Move _planar_plane upwards
  814 	  In preparation of refactoring. No functional change.
  815 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1799>
  816 
  817 2022-02-18 15:23:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  818 
  819 	* gst/matroska/matroska-demux.c:
  820 	  matroska-demux: Emit a warning when no codec data found
  821 	  It is bad if an mkv file does not have codec data for the ProRes
  822 	  variant, so we should emit a warning. ffmpeg does the same thing.
  823 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1766>
  824 
  825 2022-02-21 13:27:06 +1100  Matthew Waters <matthew@centricular.com>
  826 
  827 	* gst/rtp/gstrtpulpfecenc.c:
  828 	  ulpfecenc: slightly safer dispose impl
  829 	  Technically dispose can be called more than once (even if gstelement is
  830 	  not actually set up to do that) so need to protect against that.
  831 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1767>
  832 
  833 2022-02-21 13:24:07 +1100  Matthew Waters <matthew@centricular.com>
  834 
  835 	* gst/rtp/gstrtpulpfecenc.c:
  836 	  ulpfecenc: fix unmatched free() call
  837 	  One must always match a g_slice_new with a g_slice_free and a g_new with
  838 	  a g_free.  This was not the case for the internal ctx struct.
  839 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1767>
  840 
  841 2021-11-09 17:37:24 +1100  Matthew Waters <matthew@centricular.com>
  842 
  843 	* gst/rtp/gstrtpulpfecenc.c:
  844 	  rtpulpfecenc: add some debug logging
  845 	  Like, what configuration we are using or whether a fec packet is
  846 	  generated.
  847 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1767>
  848 
  849 2022-02-02 12:49:29 +0100  Rouven Czerwinski <rouven@czerwinskis.de>
  850 
  851 	* sys/v4l2/gstv4l2tuner.c:
  852 	  gstv4l2tuner: return NULL if no norm set
  853 	  If the video4linux device supports norms but has no norm set, norm is
  854 	  returned as an uninitialized variable after the ioctl call, leading to
  855 	  gst_v4l2_tuner_get_norm_by_std_id() returning a random norm from the
  856 	  supported norms. Catch this case and instead return NULL to indicate
  857 	  that no norm is setup.
  858 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1758>
  859 
  860 2022-02-17 17:36:22 +0100  Sebastian Wick <sebastian.wick@redhat.com>
  861 
  862 	* gst/matroska/matroska-demux.c:
  863 	  matroska: default prores fourcc apcn
  864 	  If there is no codec private data for prores it should default to Apple
  865 	  ProRes 422 Standard Definition (apcn). Can be tested with
  866 	  strobe_scientist.mkv from
  867 	  https://developers.google.com/media/vp9/hdr-encoding
  868 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1753>
  869 
  870 2021-04-08 12:18:09 +0300  Sebastian Dröge <sebastian@centricular.com>
  871 
  872 	* gst/isomp4/gstqtmux.c:
  873 	  qtmux: Don't post an error message if pushing a sample failed with FLUSHING
  874 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1732>
  875 
  876 2022-02-11 23:55:57 +0100  Marek Vasut <marex@denx.de>
  877 
  878 	* ext/jpeg/gstjpegdec.c:
  879 	  jpegdec: Pull row_stride from GST_VIDEO_FRAME_PLANE_STRIDE()
  880 	  The libjpeg-turbo internal state might not be correctly initialized for
  881 	  the first frame in a stream, pull the frame stride from gstreamer frame
  882 	  metadata instead, which is correct even for the first frame, and which
  883 	  makes this code consistent with the surrounding lines.
  884 	  Fixes: e6d83d8f96 ("jpegdec: Support libjpeg-turbo colorspace conversion")
  885 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>
  886 
  887 2022-02-11 23:44:24 +0100  Marek Vasut <marex@denx.de>
  888 
  889 	* ext/jpeg/gstjpegdec.c:
  890 	  jpegdec: Call gst_jpeg_turbo_parse_ext_fmt_convert() before jpeg_start_decompress()
  891 	  It is imperative that the libjpeg-turbo state is properly initialized
  892 	  before jpeg_start_decompress() is called. Make sure cinfo.out_color_space
  893 	  and cinfo.raw_data_out are set to their final values matching their peer
  894 	  caps before calling jpeg_start_decompress().
  895 	  Fixes: e6d83d8f96 ("jpegdec: Support libjpeg-turbo colorspace conversion")
  896 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>
  897 
  898 2022-02-11 23:44:20 +0100  Marek Vasut <marex@denx.de>
  899 
  900 	* ext/jpeg/gstjpegdec.c:
  901 	  jpegdec: Factor out gst_jpeg_turbo_parse_ext_fmt_convert()
  902 	  Pull out peer caps checking code into gst_jpeg_turbo_parse_ext_fmt_convert().
  903 	  This code is used by libjpeg-turbo extras to determine whether peer is capable
  904 	  of handling buffers into which libjpeg-turbo can directly decode data. This
  905 	  kind of check must be performed before jpeg_start_decompress() is called in
  906 	  gst_jpeg_dec_prepare_decode() as well as in gst_jpeg_dec_negotiate(), hence
  907 	  the common code.
  908 	  This commit does modify the code a little to make it easier to call from both
  909 	  call sites without much duplication, hence the extra `if (*clrspc)` test.
  910 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>
  911 
  912 2022-02-11 23:29:27 +0100  Marek Vasut <marex@denx.de>
  913 
  914 	* ext/jpeg/gstjpegdec.c:
  915 	  Revert "jpegdec: only allow conversions from RGB"
  916 	  This reverts commit 2aa2477208c029b0e1b8232d69f4f99a3bf1d473.
  917 	  The commit is completely wrong, libjpeg-turbo is perfectly capable
  918 	  of decoding I420 (YUV) to RGB. The test case provided alongside the
  919 	  aforementioned commit passes without this revert because it decodes
  920 	  image of JCS_YCrCb color space, so the new `if (clrspc == JCS_RGB)`
  921 	  condition is false on that image, and the libjpeg-turbo decoding
  922 	  does not get used. The real bug is hidden by that commit.
  923 	  The real problem is in the call order of gst_jpeg_dec_prepare_decode()
  924 	  and gst_jpeg_dec_negotiate(). The gst_jpeg_dec_prepare_decode() calls
  925 	  jpeg_start_decompress() which sets up internal state of the libjpeg,
  926 	  however, neither cinfo.out_color_space nor cinfo.raw_data_out are
  927 	  set correctly yet. Those two are set up in gst_jpeg_dec_negotiate()
  928 	  which is called a bit later. Therefore, the real fix is the set up
  929 	  cinfo.out_color_space and cinfo.raw_data_out before calling
  930 	  jpeg_start_decompress(). This is however a separate patch.
  931 	  Fixes: 2aa2477208 ("jpegdec: only allow conversions from RGB")
  932 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1716>
  933 
  934 2022-02-11 21:35:54 +0100  Heiko Becker <heirecka@exherbo.org>
  935 
  936 	* ext/lame/meson.build:
  937 	  meson: Don't build lame plugin with -Dlame=disabled
  938 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1720>
  939 
  940 2022-02-01 14:28:24 +0100  Bastien Nocera <hadess@hadess.net>
  941 
  942 	* ext/gtk/gtkgstglwidget.c:
  943 	  gtk: Fix rotation not being applied when paused
  944 	  The video wouldn't be redrawn immediately when a rotation was applied
  945 	  but the pipeline was paused, as no new buffers were scheduled to be
  946 	  displayed.
  947 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1710>
  948 
  949 2022-02-01 14:26:02 +0100  Bastien Nocera <hadess@hadess.net>
  950 
  951 	* ext/gtk/gtkgstbasewidget.c:
  952 	* ext/gtk/gtkgstbasewidget.h:
  953 	  gtk: Add a way to queue redrawing the base GTK widget
  954 	  This will be used to request a redraw of the GTK widget should the
  955 	  display be changed using properties not directly handled by the base GTK
  956 	  widget, but by one of its descendants.
  957 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1710>
  958 
  959 2022-02-07 16:17:28 +0000  Tim-Philipp Müller <tim@centricular.com>
  960 
  961 	* docs/gst_plugins_cache.json:
  962 	* meson.build:
  963 	  Back to development
  964 
  965 === release 1.20.0 ===
  966 
  967 2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>
  968 
  969 	* ChangeLog:
  970 	* NEWS:
  971 	* README:
  972 	* RELEASE:
  973 	* docs/gst_plugins_cache.json:
  974 	* gst-plugins-good.doap:
  975 	* meson.build:
  976 	  Release 1.20.0
  977 
  978 2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>
  979 
  980 	* ChangeLog:
  981 	  Update ChangeLogs for 1.20.0
  982 
  983 2022-02-01 05:07:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  984 
  985 	* docs/meson.build:
  986 	* sys/osxvideo/osxvideosink.m:
  987 	  docs: Add objc and objcpp files to hotdoc gst_c_sources
  988 	  Hotdoc should be able to extract and parse comments out of these. Just
  989 	  need to be careful to only add the glob in directories that actually
  990 	  contain *.m (objc) and *.mm (objcpp) files.
  991 	  Also fix some doc comments and remove redundant ones.
  992 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614>
  993 
  994 2022-01-30 19:06:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
  995 
  996 	* sys/osxaudio/gstosxaudiosink.c:
  997 	* sys/osxaudio/gstosxaudiosrc.c:
  998 	* sys/osxvideo/osxvideosink.m:
  999 	  docs: Rename "OS X" to "macOS" in some documentation
 1000 	  No one uses the term "Mac OS X" anymore, it's "macOS". "OS X" is even
 1001 	  worse, because people will usually start the search with "mac".
 1002 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1607>
 1003 
 1004 2022-01-30 03:56:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 1005 
 1006 	* docs/gst_plugins_cache.json:
 1007 	* sys/osxaudio/gstosxaudioelement.c:
 1008 	  osxaudio: Document GstOsxAudioElement interface
 1009 	  This is listed as a public interface implemented by osxaudio, so we
 1010 	  need to mark it as a plugin API so that it's listed in the
 1011 	  documentation correctly.
 1012 	  This is an ancient symbol, so add it to the symbol index too.
 1013 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601>
 1014 
 1015 2022-01-28 23:15:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 1016 
 1017 	* docs/gst_plugins_cache.json:
 1018 	  applemedia: Document vtenc / vtdec elements
 1019 	  Also preserve-alpha property should only be exposed on the
 1020 	  vtenc_prores element since h264 does not support transparency.
 1021 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/94
 1022 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601>
 1023 
 1024 2022-01-29 12:56:22 +0200  Sebastian Dröge <sebastian@centricular.com>
 1025 
 1026 	* ext/soup/gstsouputils.c:
 1027 	  soup: Don't store a strong reference to the logging object
 1028 	  Otherwise this causes a reference cycle between the session, the logger
 1029 	  and the logging object (i.e. the sink element or session wrapper).
 1030 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1603>
 1031 
 1032 2022-01-29 12:55:30 +0200  Sebastian Dröge <sebastian@centricular.com>
 1033 
 1034 	* ext/soup/gstsouphttpsrc.c:
 1035 	  souphttpsrc: Always abort the session once its last user is gone
 1036 	  And wait until there are no pending GSources on the main context anymore
 1037 	  afterwards.
 1038 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1603>
 1039 
 1040 2022-01-29 12:54:23 +0200  Sebastian Dröge <sebastian@centricular.com>
 1041 
 1042 	* ext/soup/gstsouphttpsrc.c:
 1043 	  souphttpsrc: Post context message after setting up the context from the source's thread
 1044 	  This simplifies the code and especially the locking a bit, and makes
 1045 	  sure we only export the session after it is fully set up.
 1046 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1603>
 1047 
 1048 === release 1.19.90 ===
 1049 
 1050 2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>
 1051 
 1052 	* ChangeLog:
 1053 	* NEWS:
 1054 	* RELEASE:
 1055 	* docs/gst_plugins_cache.json:
 1056 	* gst-plugins-good.doap:
 1057 	* meson.build:
 1058 	  Release 1.19.90
 1059 
 1060 2022-01-28 14:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
 1061 
 1062 	* ChangeLog:
 1063 	  Update ChangeLogs for 1.19.90
 1064 
 1065 2022-01-28 15:47:44 +0200  Sebastian Dröge <sebastian@centricular.com>
 1066 
 1067 	* ext/soup/gstsouphttpclientsink.c:
 1068 	  souphttpsink: Protect against spurious wakeups during startup
 1069 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
 1070 
 1071 2022-01-28 15:33:04 +0200  Sebastian Dröge <sebastian@centricular.com>
 1072 
 1073 	* ext/soup/gstsouphttpclientsink.c:
 1074 	* ext/soup/gstsouphttpsrc.c:
 1075 	* ext/soup/gstsouputils.c:
 1076 	* ext/soup/gstsouputils.h:
 1077 	  souphttpsrc: Don't use the source element after setup from the session thread
 1078 	  The source element might be gone already if the session is shared with
 1079 	  other source elements.
 1080 	  As a consequence, do all logging via the session object instead of using
 1081 	  the source element.
 1082 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
 1083 
 1084 2022-01-28 15:31:55 +0200  Sebastian Dröge <sebastian@centricular.com>
 1085 
 1086 	* ext/soup/gstsouphttpsrc.c:
 1087 	  souphttpsrc: Don't abort all pending operations on the session if shutting down a source with a shared session
 1088 	  Only do it for a non-shared session. Other sources would otherwise get
 1089 	  their requests cancelled unexpectedly.
 1090 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
 1091 
 1092 2022-01-28 15:31:25 +0200  Sebastian Dröge <sebastian@centricular.com>
 1093 
 1094 	* ext/soup/gstsouphttpsrc.c:
 1095 	  souphttpsrc: Don't set boolean to FALSE right after checking that it is FALSE
 1096 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
 1097 
 1098 2022-01-28 15:30:56 +0200  Sebastian Dröge <sebastian@centricular.com>
 1099 
 1100 	* ext/soup/gstsouphttpsrc.c:
 1101 	  souphttpsrc: soup_session_new_with_options() can't fail with NULL
 1102 	  So don't check for it.
 1103 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594>
 1104 
 1105 2022-01-27 16:28:48 +0100  Stéphane Cerveau <scerveau@collabora.com>
 1106 
 1107 	* gst/autodetect/gstautodetect.h:
 1108 	  autodetect: fix debug init category
 1109 	  Since the split of elements, the debug category
 1110 	  was default for autodetect.
 1111 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1590>
 1112 
 1113 2022-01-21 16:09:30 +0100  Daniel Kolesa <dkolesa@igalia.com>
 1114 
 1115 	* ext/soup/gstsouphttpsrc.c:
 1116 	* ext/soup/gstsouphttpsrc.h:
 1117 	* ext/soup/gstsouploader.c:
 1118 	* ext/soup/gstsouploader.h:
 1119 	  soup: move libsoup session into its own thread
 1120 	  Starting with libsoup3, there is no attempt to handle thread safety
 1121 	  inside the library, and it was never considered fully safe before
 1122 	  either. Therefore, move all session handling into its own thread.
 1123 	  The libsoup thread has its own context and main loop. When some
 1124 	  request is made or a response needs to be read, an idle source
 1125 	  is created to issue that; the gstreamer thread issuing that waits
 1126 	  for that to be complete. There is a per-src condition variable to
 1127 	  deal with that.
 1128 	  Since the thread/loop needs to be longer-lived than the soup
 1129 	  session itself, a wrapper object is provided to contain them. The
 1130 	  soup session only has a single reference, owned by the wrapper
 1131 	  object.
 1132 	  It is no longer possible to force an external session, since this
 1133 	  does not seem to be used anywhere within gstreamer and would be
 1134 	  tricky to implement; this is because one would not have to provide
 1135 	  just a session, but also the complete thread arrangement made in
 1136 	  the same way as the system currently does internally, in order to
 1137 	  be safe.
 1138 	  Messages are still built gstreamer-side. It is safe to do so until
 1139 	  the message is sent on the session. Headers are also processed on
 1140 	  the gstreamer side, which should likewise be safe.
 1141 	  All requests as well as reads on the libsoup thread are issued
 1142 	  asynchronously. That allows libsoup to schedule things with as
 1143 	  little blocking as possible, and means that concurrent access
 1144 	  to the session is possible, when sharing the session.
 1145 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/947
 1146 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1555>
 1147 
 1148 2022-01-27 01:38:39 +0000  Tim-Philipp Müller <tim@centricular.com>
 1149 
 1150 	* po/de.po:
 1151 	* po/fr.po:
 1152 	* po/ro.po:
 1153 	  gst-plugins-good: update translations
 1154 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579>
 1155 
 1156 2022-01-26 11:22:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 1157 
 1158 	* gst/rtsp/gstrtspsrc.c:
 1159 	  rtspsrc: Fix critical while serializing timeout element message
 1160 	  The "cause" field wasn't registered as a GEnumValue, so do that.
 1161 	  Fixes this critical in gst_structure_to_string():
 1162 	  `gst_value_serialize: assertion 'G_IS_VALUE (value)' failed`
 1163 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1573>
 1164 
 1165 2022-01-24 10:45:33 +0200  Sebastian Dröge <sebastian@centricular.com>
 1166 
 1167 	* gst/multifile/gstsplitmuxsink.c:
 1168 	  splitmuxsink: Warn when calculating the next fragment time in timecode mode fails
 1169 	  But only if timecode mode is enabled as it will fail all the time
 1170 	  otherwise.
 1171 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1557>
 1172 
 1173 2022-01-25 15:05:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 1174 
 1175 	* tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp:
 1176 	  qt: Retain compatibility with Qt 5.9
 1177 	  QSharedPointer.get() was added in Qt 5.11, and it does the same thing
 1178 	  as .data()
 1179 	  https://doc.qt.io/qt-5/qsharedpointer.html#get
 1180 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/867
 1181 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1565>
 1182 
 1183 2022-01-21 14:13:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 1184 
 1185 	* sys/v4l2/ext/types-compat.h:
 1186 	* sys/v4l2/ext/v4l2-common.h:
 1187 	* sys/v4l2/ext/v4l2-controls.h:
 1188 	* sys/v4l2/ext/videodev2.h:
 1189 	  video4linux2: Sync kernel headers against 5.16.0
 1190 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965>
 1191 
 1192 2022-01-17 11:44:47 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 1193 
 1194 	* sys/v4l2/gstv4l2videodec.c:
 1195 	  v4l2videdec: Fix race condition between drain and state changes
 1196 	  This is due to an unsafe usage of the pad task. We didn't ensure proper
 1197 	  ownership of the task. That race involved the task being released too early,
 1198 	  and was detected, luckily, by the glib mutex implementationt that
 1199 	  reported the mutex being disposed while being locked.
 1200 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1478>
 1201 
 1202 2022-01-16 14:41:41 +0000  Philippe Normand <philn@igalia.com>
 1203 
 1204 	* ext/soup/gstsoup.c:
 1205 	* ext/soup/gstsouploader.c:
 1206 	* ext/soup/gstsouploader.h:
 1207 	* ext/soup/gstsouputils.h:
 1208 	* ext/soup/meson.build:
 1209 	  soup: Reintroduce compile-time libsoup dependency for static builds
 1210 	  On Android (especially) and for static builds in general it is safer to link
 1211 	  against libsoup and have the dynamic custom loading disabled. For those cases we
 1212 	  can safely assume the application will use either libsoup2 or libsoup3 and not
 1213 	  both.
 1214 	  Fixes #939
 1215 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
 1216 
 1217 2022-01-16 14:40:11 +0000  Philippe Normand <philn@igalia.com>
 1218 
 1219 	* ext/soup/gstsoupelement.c:
 1220 	  soup: Initialize debug category before use
 1221 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
 1222 
 1223 2022-01-16 14:39:42 +0000  Philippe Normand <philn@igalia.com>
 1224 
 1225 	* ext/soup/gstsouploader.c:
 1226 	  soup: Fix return types for a couple VTable functions
 1227 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536>
 1228 
 1229 2022-01-14 19:53:29 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 1230 
 1231 	* ext/cairo/meson.build:
 1232 	  meson: Build cairo subproject when unavailable on the system
 1233 	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/952
 1234 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1523>
 1235 
 1236 2022-01-20 17:59:30 +0100  Aleksandar Topic <aleks@qtec.com>
 1237 
 1238 	* gst/imagefreeze/gstimagefreeze.c:
 1239 	  imagefreeze: Fix example launch line format issue
 1240 	  The currently shown example launch line will not run, because it
 1241 	  cannot handle png images.
 1242 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1547>
 1243 
 1244 2021-05-07 18:22:06 +0200  Bastien Nocera <hadess@hadess.net>
 1245 
 1246 	* docs/gst_plugins_cache.json:
 1247 	* ext/gtk/gstgtkbasesink.c:
 1248 	* ext/gtk/gstgtkbasesink.h:
 1249 	* ext/gtk/gtkgstbasewidget.c:
 1250 	* ext/gtk/gtkgstbasewidget.h:
 1251 	  gtk: Add "video-aspect-ratio-override" property
 1252 	  Allow front-ends to override the pixel aspect ratio found inside the
 1253 	  video file itself, or most likely, missing from the video file.
 1254 	  This is a long-standing feature of totem.
 1255 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
 1256 
 1257 2021-10-13 15:33:14 +0200  Bastien Nocera <hadess@hadess.net>
 1258 
 1259 	* ext/gtk/gtkgstbasewidget.c:
 1260 	  gtk: Remove _update_par() forward declaration
 1261 	  No functional changes.
 1262 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137/diffs#note_1102782
 1263 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
 1264 
 1265 2021-10-13 15:38:52 +0200  Bastien Nocera <hadess@hadess.net>
 1266 
 1267 	* ext/gtk/gtkgstbasewidget.c:
 1268 	  gtk: Mark properties as changeable in the PLAYING state
 1269 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137#note_1102789
 1270 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
 1271 
 1272 2021-05-11 11:28:57 +0200  Bastien Nocera <hadess@hadess.net>
 1273 
 1274 	* docs/gst_plugins_cache.json:
 1275 	* ext/gtk/gstgtkbasesink.c:
 1276 	* ext/gtk/gtkgstbasewidget.c:
 1277 	  gtk: Fix "pixel-aspect-ratio" property range
 1278 	  Fix the arguments passed to gst_param_spec_fraction in the incorrect
 1279 	  order.
 1280 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
 1281 
 1282 2021-05-07 18:19:55 +0200  Bastien Nocera <hadess@hadess.net>
 1283 
 1284 	* ext/gtk/gstgtkbasesink.c:
 1285 	* ext/gtk/gtkgstbasewidget.c:
 1286 	  gtk: Rename display pixel aspect ratio related constants
 1287 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
 1288 
 1289 2021-05-07 18:16:30 +0200  Bastien Nocera <hadess@hadess.net>
 1290 
 1291 	* ext/gtk/gtkgstbasewidget.c:
 1292 	  gtk: Make "pixel-aspect-ratio" changes immediate
 1293 	  Schedule a resize when the display's pixel aspect ratio has changed, if
 1294 	  one isn't already scheduled.
 1295 	  Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/883
 1296 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137>
 1297 
 1298 2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 1299 
 1300 	* docs/meson.build:
 1301 	* meson.build:
 1302 	  meson: Add explicit check: kwarg to all run_command() calls
 1303 	  This is required since Meson 0.61.0, and causes a warning to be
 1304 	  emitted otherwise:
 1305 	  https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
 1306 	  https://github.com/mesonbuild/meson/issues/9300
 1307 	  This exposed a bunch of places where we had broken run_command()
 1308 	  calls, unnecessary run_command() calls, and places where check: true
 1309 	  should be used.
 1310 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
 1311 
 1312 2021-12-30 16:31:33 +0000  Heinrich Kruger <heinrich.kruger@sohonet.com>
 1313 
 1314 	* gst/rtp/gstrtphdrext-colorspace.c:
 1315 	  rtp-hdrext-colorspace: Fix color range encoding
 1316 	  The color space RTP header extension encodes color range as specified in
 1317 	  https://www.webmproject.org/docs/container/#Range. In other words:
 1318 	  0: Unspecified,
 1319 	  1: Broadcast Range,
 1320 	  2: Full range,
 1321 	  3: Defined by matrix coefficients and transfer characteristic.
 1322 	  This does not match the values of GstVideoColorRange, so it is not
 1323 	  correct to just write the colorimetry.range value to the header
 1324 	  extension.
 1325 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1482>
 1326 
 1327 2021-12-24 14:52:38 +0900  Jeongki Kim <jeongki.kim@jeongki.kim>
 1328 
 1329 	* gst/rtp/gstrtpg726depay.c:
 1330 	  rtpg726depay: fix endian conversion
 1331 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1469>
 1332 
 1333 2021-12-23 14:29:55 +0000  Corentin Damman <c.damman@intopix.com>
 1334 
 1335 	* tests/check/elements/rtpjitterbuffer.c:
 1336 	  rtpjitterbuffer: fix typo in tests
 1337 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1466>
 1338 
 1339 2021-12-20 09:28:50 +0000  Florian Zwoch <fzwoch@gmail.com>
 1340 
 1341 	* ext/aalib/gstaatv.c:
 1342 	  aatv: Fixes for rain-mode
 1343 	  Some rain-mode properties tried to read float from int value.
 1344 	  Initialize rain after setting rain-mode. Rain was non-functional if
 1345 	  width/height were left at default values.
 1346 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1459>
 1347 
 1348 2021-12-07 23:48:39 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 1349 
 1350 	* docs/gst_plugins_cache.json:
 1351 	* gst/rtp/gstrtpreddec.c:
 1352 	* gst/rtp/gstrtpreddec.h:
 1353 	  reddec: implement support for the BUNDLE case
 1354 	  When multiple streams are bundled together, there may be more
 1355 	  than one red payload type to handle.
 1356 	  In addition, as the red decoder works by filling in gaps in
 1357 	  the seqnums, there needs to be one rtp_history queue per sequence
 1358 	  domain.
 1359 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
 1360 
 1361 2021-12-07 23:43:21 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 1362 
 1363 	* docs/gst_plugins_cache.json:
 1364 	* gst/rtpmanager/gstrtpbin.c:
 1365 	  rtpbin: add new request-fec-decoder-full signal for BUNDLE
 1366 	  When multiple streams are bundled together, the application needs
 1367 	  to know about the payload type in order to instantiate the appropriate
 1368 	  FEC decoder.
 1369 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429>
 1370 
 1371 2021-12-03 02:52:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 1372 
 1373 	* gst/rtp/gstrtpredenc.c:
 1374 	* gst/rtp/gstrtpredenc.h:
 1375 	* gst/rtp/gstrtpulpfecenc.c:
 1376 	* gst/rtp/gstrtpulpfecenc.h:
 1377 	* tests/check/elements/rtpred.c:
 1378 	  rtp/redenc|ulpfecenc: add support for TWCC
 1379 	  In redenc, when input buffers have a header for the TWCC extension,
 1380 	  we now add one to our wrapper buffers.
 1381 	  In ulpfecenc we add one in that case to our protection buffers.
 1382 	  This makes TWCC functional when UlpRed is used in webrtcbin.
 1383 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1414>
 1384 
 1385 2021-12-02 13:32:33 +0000  Thibault Saunier <tsaunier@igalia.com>
 1386 
 1387 	* gst/rtp/gstrtph264pay.c:
 1388 	* gst/rtp/gstrtph264pay.h:
 1389 	  rtph264pay: Handle 'profile' field
 1390 	  In order to allow "level-asymmetry-allowed" we now handle a new
 1391 	  "profile" field, which as the same semantics as the "profile" field in
 1392 	  H.264 stream so that we can force payloaded stream to have the right
 1393 	  format when using the `gst_sdp_media_get_caps_from_media` to set caps
 1394 	  filter after the payloader. This allows a simple negotiation in standard
 1395 	  RTP negotiation based on SDPs (like webrtc) for that particular case,
 1396 	  closely respecting the specs.
 1397 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1410>
 1398 
 1399 2021-12-10 16:08:27 +0100  Jakub Adam <jakub.adam@collabora.com>
 1400 
 1401 	* sys/ximage/gstximagesrc.c:
 1402 	  ximagesrc: avoid blocking wait for X events
 1403 	  XNextEvent() blocks indefinitely in absence of X11 events, which can
 1404 	  prevent the pipeline from stopping.
 1405 	  This can cause problems when ximagesrc is used in "remote desktop"
 1406 	  scenarios and the GStreamer application itself, through which the user
 1407 	  is viewing and controlling the machine, is the only source of input
 1408 	  events.
 1409 	  Replace the call with non-blocking XCheckTypedEvent().
 1410 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1438>
 1411 
 1412 2021-12-10 17:36:30 +0100  Célestin Marot <marotcelestin@gmail.com>
 1413 
 1414 	* gst/multifile/gstmultifilesrc.c:
 1415 	  multifilesrc: fix caps leak
 1416 	  since `gst_caps_replace()` and `gst_pad_set_caps()` both ref the caps and neither of them takes the ownership of the caps -> it must be unreffed in `gst_multi_file_src_set_property()`
 1417 	  to test the leak (on Unix): `echo coucou > /tmp/file.txt && GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7" gst-launch-1.0 multifilesrc location=/tmp/file.txt caps='txt' ! fakesink`
 1418 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1436>
 1419 
 1420 2021-12-06 15:37:06 +0100  Guillaume Desmottes <guillaume.desmottes@onestream.live>
 1421 
 1422 	* ext/jpeg/gstjpegdec.c:
 1423 	  jpegdec: only allow conversions from RGB
 1424 	  libjpeg-turbo only supports converting from RGB to other RGB formats.
 1425 	  Fix runtime error when trying to convert from a YUV format for example.
 1426 	  Fix #916
 1427 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1421>
 1428 
 1429 2021-11-29 15:35:36 +0100  Wim Taymans <wtaymans@redhat.com>
 1430 
 1431 	* sys/v4l2/gstv4l2object.c:
 1432 	  v4l2: handle 0x0 sizes gracefully
 1433 	  Also ignore 0x0 sizes in the fallback case and assume the size can be
 1434 	  anything between 1x1 and MAXxMAX.
 1435 	  This fixes the case where a width=0, height=0 caps are created. Whith
 1436 	  this patch the caps will contain width=[1,MAX], height=[1,MAX].
 1437 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1396>
 1438 
 1439 2021-11-23 20:54:57 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 1440 
 1441 	* gst/rtpmanager/gstrtpfunnel.c:
 1442 	* tests/check/elements/rtpfunnel.c:
 1443 	  rtpfunnel: fix extmap handling on accept-caps
 1444 	  Follow-up on 97d83056b315c56834eaa6776ae4c6a0848b5ef9, only check
 1445 	  for intersection with the current srccaps when checking if a sinkpad
 1446 	  can accept caps.
 1447 	  I must have been lucky in my firefox testing then, and always entered
 1448 	  the code path with audio getting negotiated first, thus not failing
 1449 	  the is_subset check when srccaps had been negotiated as
 1450 	  application/x-rtp, and an accept-caps query was made for the video
 1451 	  caps with a defined extmap.
 1452 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1384>
 1453 
 1454 2021-11-12 13:54:59 +0100  Jean Felder <jean.felder@gmail.com>
 1455 
 1456 	* ext/taglib/gstid3v2mux.cc:
 1457 	  id3v2mux: Map GST_TAG_MUSICBRAINZ_RELEASETRACKID
 1458 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1342>
 1459 
 1460 2021-11-12 13:51:56 +0100  Jean Felder <jean.felder@gmail.com>
 1461 
 1462 	* ext/taglib/gstid3v2mux.cc:
 1463 	  id3v2mux: Map GST_TAG_MUSICBRAINZ_RELEASEGROUPID
 1464 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1342>
 1465 
 1466 2021-11-18 16:27:17 +0000  Tobias Reineke <tobi@g3th.net>
 1467 
 1468 	* ext/shout2/gstshout2.c:
 1469 	  shout2: Add compatibility for libshout >= 2.4.2
 1470 	  In libshout >=2.4.2 shout_open() can return SHOUTERR_RETRY in addition
 1471 	  to SHOUTERR_BUSY.
 1472 	  The nonblocking example in libshout fixes the problem in a similar
 1473 	  way, as mentioned by the author in this issue:
 1474 	  https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2316
 1475 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/848
 1476 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1363>
 1477 
 1478 2021-11-15 14:39:14 +1100  Matthew Waters <matthew@centricular.com>
 1479 
 1480 	* ext/qt/qtitem.cc:
 1481 	  qmlglsink: fix another resize case
 1482 	  If qt asks us to redraw before we have both set a buffer and caps we
 1483 	  would attempt to use the new caps with the old buffer which could result
 1484 	  in bad things happening.
 1485 	  Only update caps from new_caps once the buffer has actually been set.
 1486 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1346>
 1487 
 1488 2021-11-01 10:08:32 +0700  Trung Do <trung1.dothanh@toshiba.co.jp>
 1489 
 1490 	* sys/v4l2/gstv4l2object.c:
 1491 	  v4l2: Update fmt if padded height is greater than fmt height
 1492 	  If padded height is greater, buffer bytesused could be larger than plane length,
 1493 	  and cause VIDIOC_QBUF failure.
 1494 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1355>
 1495 
 1496 2021-11-09 19:41:14 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 1497 
 1498 	* gst/rtpmanager/gstrtpfunnel.c:
 1499 	* tests/check/elements/rtpfunnel.c:
 1500 	  rtpfunnel: don't enforce twcc during upstream negotiation
 1501 	  A previous patch has caused rtpfunnel to output twcc-related
 1502 	  information downstream, however this leaked into upstream
 1503 	  negotiation (through funnel->srccaps), causing payloader to
 1504 	  negotiate twcc caps even when not prompted to do so by the user.
 1505 	  Fix this by only enforcing that upstream sends us application/x-rtp
 1506 	  caps as was the case originally.
 1507 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1278>
 1508 
 1509 2021-10-30 01:18:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 1510 
 1511 	* gst/rtpmanager/rtptwcc.c:
 1512 	  rtptwcc: complete bufferlist fix
 1513 	  When dealing with bufferlists, we need to store one "SentPacket"
 1514 	  structure per buffer, not one per buffer list!
 1515 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1278>
 1516 
 1517 2021-11-12 17:59:22 +0200  Sebastian Dröge <sebastian@centricular.com>
 1518 
 1519 	* gst/isomp4/qtdemux.c:
 1520 	  qtdemux: Log cslg_shift that was determined
 1521 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1522 
 1523 2021-11-12 13:00:56 +0200  Sebastian Dröge <sebastian@centricular.com>
 1524 
 1525 	* gst/isomp4/qtdemux.c:
 1526 	  qtdemux: Use a composition time offset of 0 for "no decode samples" for the time being
 1527 	  This needs codec-specific handling, but using 0 instead of G_MININT32 at
 1528 	  least gives somewhat reasonable behaviour.
 1529 	  See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/883
 1530 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1531 
 1532 2021-11-12 12:46:56 +0200  Sebastian Dröge <sebastian@centricular.com>
 1533 
 1534 	* gst/isomp4/qtdemux.c:
 1535 	  qtdemux: Always check ctts for unreasonably large offsets
 1536 	  If this happens then ignore the whole ctts. Previously we only did this
 1537 	  if the PTS/DTS shift was determined from the ctts instead of the cslg.
 1538 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1539 
 1540 2021-11-12 12:39:17 +0200  Sebastian Dröge <sebastian@centricular.com>
 1541 
 1542 	* gst/isomp4/qtdemux_dump.c:
 1543 	  qtdemux: Dump composition time offsets in trun as signed integers
 1544 	  Just like we do for ctts without regard of the version of the box.
 1545 	  Huge offsets are interpreted as negative offsets by qtdemux so this
 1546 	  works.
 1547 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1548 
 1549 2021-11-12 11:36:31 +0200  Sebastian Dröge <sebastian@centricular.com>
 1550 
 1551 	* gst/isomp4/qtdemux.h:
 1552 	  qtdemux: Add a comment why only positive cslg shifts are considered
 1553 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1554 
 1555 2021-11-02 18:38:39 +0200  Sebastian Dröge <sebastian@centricular.com>
 1556 
 1557 	* gst/isomp4/qtdemux.c:
 1558 	  qtdemux: Only adjust segment.stop by cslg_shift if stop is not -1
 1559 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1560 
 1561 2021-11-02 18:29:53 +0200  Sebastian Dröge <sebastian@centricular.com>
 1562 
 1563 	* gst/isomp4/qtdemux.c:
 1564 	  qtdemux: Handle negative composition offsets in the trun box the same way as for non-fragmented streams
 1565 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1566 
 1567 2021-11-02 17:43:17 +0200  Sebastian Dröge <sebastian@centricular.com>
 1568 
 1569 	* gst/isomp4/qtdemux.c:
 1570 	  qtdemux: Parse ctts version
 1571 	  Negative composition time offsets are only allowed with version 1 of the
 1572 	  box, however we parse it as a signed value also for version 0 boxes as
 1573 	  unfortunately there are such files out there and it's unlikely to have
 1574 	  (valid) huge composition offsets.
 1575 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1576 
 1577 2021-11-02 17:41:01 +0200  Sebastian Dröge <sebastian@centricular.com>
 1578 
 1579 	* gst/isomp4/qtdemux.c:
 1580 	* gst/isomp4/qtdemux.h:
 1581 	* gst/isomp4/qtdemux_dump.c:
 1582 	  qtdemux: Add support for version 1 cslg boxes
 1583 	  They use 64 bit fields instead of 32 bit.
 1584 	  Also parse offset as a signed integer (in both versions) and clamp it to
 1585 	  a positive value as negative values don't really interest us here.
 1586 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1587 
 1588 2021-11-02 17:54:46 +0200  Sebastian Dröge <sebastian@centricular.com>
 1589 
 1590 	* gst/isomp4/qtdemux.c:
 1591 	  qtdemux: Don't free cslg data that we don't own on corrupt files
 1592 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1294>
 1593 
 1594 2021-05-07 10:44:15 +0200  Rafał Dzięgiel <rafostar.github@gmail.com>
 1595 
 1596 	* gst/matroska/matroska-demux.c:
 1597 	* gst/matroska/matroska-read-common.c:
 1598 	  matroska: Ref index table when updating track info
 1599 	  Track index table array was being lost during track info update.
 1600 	  Ref it over to updated info, so it can be used for finding
 1601 	  nearest seek points.
 1602 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1203>
 1603 
 1604 2021-11-12 11:28:23 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
 1605 
 1606 	* gst/matroska/ebml-read.c:
 1607 	* gst/matroska/matroska-demux.c:
 1608 	* gst/matroska/matroska-ids.c:
 1609 	* gst/matroska/matroska-read-common.c:
 1610 	  matroska: Use g_array_unref everywhere
 1611 	  Instead of using g_array_free which is not thread safe use g_array_unref instead
 1612 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1203>
 1613 
 1614 2021-11-11 19:11:25 +0000  Tim-Philipp Müller <tim@centricular.com>
 1615 
 1616 	* ext/cairo/gstcairooverlay.c:
 1617 	* gst/equalizer/gstiirequalizernbands.c:
 1618 	  docs: fix unnecessary ampersand, < and > escaping in code blocks
 1619 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1340>
 1620 
 1621 2021-11-12 03:17:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 1622 
 1623 	* gst/rtpmanager/gstrtpst2022-1-fecdec.c:
 1624 	  st2022-1-fecdec: fix packet trimming
 1625 	  g_sequence_remove_range's end iter is exclusive, so if one
 1626 	  wants to remove that item as well, it should be called with
 1627 	  the next iter.
 1628 	  This could in theory fix an issue where:
 1629 	  * The sequence isn't entirely trimmed, with an old item lingering
 1630 	  * Following FEC packets are immediately discarded because they
 1631 	  arrived later than corresponding media packets, long enough for
 1632 	  seqnums to wrap around
 1633 	  * We now try to reconstruct a media packet with a completely obsolete
 1634 	  FEC packet, chaos ensues.
 1635 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1341>
 1636 
 1637 2021-11-11 15:49:19 +1100  Matthew Waters <matthew@centricular.com>
 1638 
 1639 	* ext/qt/qtitem.cc:
 1640 	  qmlsink: support caps changes better
 1641 	  We need to hold onto the last buffer until the next buffer arrives.
 1642 	  Before, if a caps change comes we would remove the currently rendering
 1643 	  buffer.  if Qt asks use to render something, we would render the dummy
 1644 	  black texture.
 1645 	  Fixes a period of black output when upstream is e.g. changing resolution
 1646 	  as in hls adaptive bitrate scenarios.
 1647 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1338>
 1648 
 1649 2021-09-27 16:52:22 +0100  James Cowgill <james.cowgill@blaize.com>
 1650 
 1651 	* sys/v4l2/gstv4l2bufferpool.c:
 1652 	* sys/v4l2/gstv4l2bufferpool.h:
 1653 	  v4l2: Record buffer states in pool to fix dequeue race
 1654 	  The `gst_v4l2_buffer_pool_dqbuf` function contains this ominous comment:
 1655 	  /* get our GstBuffer with that index from the pool, if the buffer was
 1656 	  * outstanding we have a serious problem.
 1657 	  */
 1658 	  outbuf = pool->buffers[group->buffer.index];
 1659 	  Unfortunately it is common for buffers in _output_ buffer pools to be
 1660 	  both queued and outstanding at the same time. This can happen if the
 1661 	  upstream element keeps a reference to the buffer, or in an encoder
 1662 	  element itself when it keeps a reference to the input buffer for each
 1663 	  frame.
 1664 	  Since the current code doesn't handle this case properly we can end up
 1665 	  with crashes in other elements such as:
 1666 	  (gst-launch-1.0:32559): CRITICAL **: 17:33:35.740: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed
 1667 	  and:
 1668 	  (gst-launch-1.0:231): GStreamer-CRITICAL **: 00:16:20.882: write map requested on non-writable buffer
 1669 	  Both these crashes are caused by a race condition related to releasing
 1670 	  the same buffer twice from two different threads. If a buffer is queued
 1671 	  and outstanding this situation is possible:
 1672 	  **Thread 1**
 1673 	  - Calls `gst_buffer_unref` decrementing the reference count to zero.
 1674 	  - The core GstBufferPool object marks the buffer non-outstanding.
 1675 	  - Calls the V4L2 release buffer function.
 1676 	  - If the buffer is _not_ queued:
 1677 	  - Release it back to the free pool (containing non-queued buffers).
 1678 	  **Thread 2**
 1679 	  - Dequeues the queued output buffer.
 1680 	  - Marks the buffer as not queued.
 1681 	  - If the buffer is _not_ outstanding:
 1682 	  - Calls the V4L2 release buffer function.
 1683 	  - Release it back to the free pool (containing non-queued buffers).
 1684 	  If both of these threads run at exactly the same time there is a small
 1685 	  window where the buffer is marked both not outstanding and not queued
 1686 	  but before it has been released. In this case the buffer will be freed
 1687 	  twice causing the above crashes.
 1688 	  Unfortunately the variable recording whether a buffer is outstanding is
 1689 	  part of the core `GstBuffer` object and is managed by `GstBufferPool` so
 1690 	  it's not as straightforward as adding a mutex. Instead we can fix this
 1691 	  by additionally recording the buffer state in `GstV4l2BufferPool`, and
 1692 	  handle "internal" and "external" buffer release separately so we can
 1693 	  detect when a buffer becomes not outstanding.
 1694 	  In the new solution:
 1695 	  - The "external" buffer pool release and the "dqbuf" functions
 1696 	  atomically update the buffer state and determine if a buffer is still
 1697 	  queued or outstanding.
 1698 	  - Subsequent code and a new
 1699 	  `gst_v4l2_buffer_pool_complete_release_buffer` function can proceed to
 1700 	  release (or not) a buffer knowing that it's not racing with another
 1701 	  thread.
 1702 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1010>
 1703 
 1704 2021-11-09 15:10:06 +1100  Matthew Waters <matthew@centricular.com>
 1705 
 1706 	* gst/rtpmanager/gstrtpbin.c:
 1707 	  rtpbin: separate out the two fec decoder locations
 1708 	  The pipeline flow for receiving looks like this:
 1709 	  rtpsession ! rtpssrcdemux ! session_fec_decoder ! rtpjitterbuffer ! \
 1710 	  rtpptdemux ! stream_fec_decoder ! ...
 1711 	  There are two places where a fec decoder could be placed.
 1712 	  1. As requested from the 'request-fec-decoder' signal: after rtpptdemux
 1713 	  for each ssrc/pt produced
 1714 	  2. after rtpssrcdemux but before rtpjitterbuffer: added for the
 1715 	  rtpst2022-1-fecenc/dec elements,
 1716 	  However, there was some cross-contamination of the elements involved and
 1717 	  the request-fec-decoder signal was also being used to request the fec
 1718 	  decoder for the session_fec_decoder which would then be cached and
 1719 	  re-used for subsequent fec decoder requests.  This would cause the same
 1720 	  element to be attempted to be linked to multiple elements in different
 1721 	  places in the pipeline.  This would fail and cause all kinds of havoc
 1722 	  usually resulting in a not-linked error being returned upstream and an
 1723 	  error message being posted by the source.
 1724 	  Fix by not using the request-fec-decoder signal for requesting the
 1725 	  session_fec_decoder and instead solely rely on the added properties for
 1726 	  that case.
 1727 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1300>
 1728 
 1729 2021-11-09 21:20:19 +0800  Zhao, Gang <gang.zhao.42@gmail.com>
 1730 
 1731 	* gst/isomp4/qtdemux.c:
 1732 	  qtdemux: Fix can not demux Opus track made by qtmux
 1733 	  Opus stream info is read from dOps box [1]. The offset of dOps box in Opus box is different in mp4a version 1 and 0 [2]. Calculate the offset of dOps box according to mp4a version.
 1734 	  [1] https://opus-codec.org/docs/opus_in_isobmff.html
 1735 	  [2] subprojects/gst-plugins-good/gst/isomp4/atoms.c:sample_entry_mp4a_copy_data:2146
 1736 	  Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/918
 1737 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1329>
 1738 
 1739 2021-11-09 13:36:28 +0800  Haihua Hu <jared.hu@nxp.com>
 1740 
 1741 	* sys/v4l2/gstv4l2bufferpool.c:
 1742 	  v4l2bufferpool: set video alignment of video meta
 1743 	  need apply video alignment info on video meta, downstream
 1744 	  element can get buffer alignment from video meta
 1745 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1326>
 1746 
 1747 2021-11-06 16:48:20 +0800  Zhao, Gang <gang.zhao.42@gmail.com>
 1748 
 1749 	* ext/vpx/gstvpxdec.c:
 1750 	  vpxdec: Skip check of key frame when open GOP
 1751 	  Valid stream [1] might has no key frame.
 1752 	  Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/890
 1753 	  [1] https://storage.googleapis.com/downloads.webmproject.org/test_data/libvpx/vp90-2-16-intra-only.webm
 1754 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1316>
 1755 
 1756 2021-10-05 18:07:06 +0100  Joe Todd <joextodd@gmail.com>
 1757 
 1758 	* sys/osxaudio/gstosxcoreaudio.h:
 1759 	  osxaudio: Increase max channels to 64
 1760 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1059>
 1761 
 1762 2021-11-05 15:17:20 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 1763 
 1764 	* gst/imagefreeze/gstimagefreeze.c:
 1765 	  imagefreeze: Only set caps if they do not match current caps
 1766 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1311>
 1767 
 1768 2021-11-04 16:04:30 +0200  Sebastian Dröge <sebastian@centricular.com>
 1769 
 1770 	* sys/v4l2/v4l2_calls.c:
 1771 	  v4l2: Support bools for setting extra-controls
 1772 	  They're just mapped to 0 / 1 and can already be set as integers, but
 1773 	  being able to set them as booleans seems useful.
 1774 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1308>
 1775 
 1776 2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>
 1777 
 1778 	* docs/gst_plugins_cache.json:
 1779 	* meson.build:
 1780 	  Back to development
 1781 
 1782 === release 1.19.3 ===
 1783 
 1784 2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>
 1785 
 1786 	* ChangeLog:
 1787 	* NEWS:
 1788 	* RELEASE:
 1789 	* docs/gst_plugins_cache.json:
 1790 	* gst-plugins-good.doap:
 1791 	* meson.build:
 1792 	  Release 1.19.3
 1793 
 1794 2021-11-03 15:43:32 +0000  Tim-Philipp Müller <tim@centricular.com>
 1795 
 1796 	* ChangeLog:
 1797 	  Update ChangeLogs for 1.19.3
 1798 
 1799 2021-11-02 16:46:08 +0200  Sebastian Dröge <sebastian@centricular.com>
 1800 
 1801 	* docs/gst_plugins_cache.json:
 1802 	* gst/multifile/gstmultifilesink.c:
 1803 	* gst/multifile/gstmultifilesink.h:
 1804 	  multifilesink: Make minimum distance between keyframes in next-file=key-frame mode configurable
 1805 	  Previously this was hardcoded to 10s, which is not necessarily the
 1806 	  desired behaviour.
 1807 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1292>
 1808 
 1809 2021-11-01 16:32:10 +0100  Erlend Eriksen <erlend_ne@hotmail.com>
 1810 
 1811 	* gst/isomp4/gstqtmux.c:
 1812 	  qtmux: Fix deadlock in gst_qt_mux_prepare_moov_recovery
 1813 	  Regression from 5766731bd4200c3a374522a749386f740347661a
 1814 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1288>
 1815 
 1816 2021-10-30 16:22:39 +0300  Sebastian Dröge <sebastian@centricular.com>
 1817 
 1818 	* docs/gst_plugins_cache.json:
 1819 	  video: Fix order of new video formats
 1820 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1282>
 1821 
 1822 2021-10-30 00:58:55 +0100  Tim-Philipp Müller <tim@centricular.com>
 1823 
 1824 	* tests/check/elements/rtphdrext-colorspace.c:
 1825 	  Couple more g_memdup() -> g_memdup2() fixes
 1826 	  Fixes deprecation warnings with newer GLib versions.
 1827 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
 1828 
 1829 2021-10-23 00:44:57 +0200  Piotrek Brzeziński <piotr@centricular.com>
 1830 
 1831 	* docs/gst_plugins_cache.json:
 1832 	  video-format: Add support for ARGB64 LE/BE and similar variants
 1833 	  Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
 1834 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1247>
 1835 
 1836 2021-10-29 03:46:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 1837 
 1838 	* gst/rtpmanager/rtptwcc.c:
 1839 	  rtptwcc: don't assume all PacketInfo->data are buffers
 1840 	  They can also be buffer lists
 1841 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1268>
 1842 
 1843 2021-10-25 11:37:45 +0100  Tim-Philipp Müller <tim@centricular.com>
 1844 
 1845 	* meson.build:
 1846 	  meson: require matching GStreamer dep versions for unstable development releases
 1847 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929
 1848 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
 1849 
 1850 2021-10-28 21:37:47 +1100  Jan Schmidt <jan@centricular.com>
 1851 
 1852 	* gst/isomp4/qtdemux.c:
 1853 	  qtdemux: Fix text and closed-caption handling.
 1854 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182
 1855 	  broke text and and closed caption extraction when introducing WebVTT
 1856 	  support, by making the output buffers not have timestamps any more.
 1857 	  Fix that by making the process functions copy buffer metadata
 1858 	  when generating new output buffers.
 1859 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1262>
 1860 
 1861 2021-10-25 01:02:07 +0100  Tim-Philipp Müller <tim@centricular.com>
 1862 
 1863 	* po/af.po:
 1864 	* po/az.po:
 1865 	* po/bg.po:
 1866 	* po/ca.po:
 1867 	* po/cs.po:
 1868 	* po/da.po:
 1869 	* po/de.po:
 1870 	* po/el.po:
 1871 	* po/en_GB.po:
 1872 	* po/eo.po:
 1873 	* po/es.po:
 1874 	* po/eu.po:
 1875 	* po/fi.po:
 1876 	* po/fr.po:
 1877 	* po/fur.po:
 1878 	* po/gl.po:
 1879 	* po/hr.po:
 1880 	* po/hu.po:
 1881 	* po/id.po:
 1882 	* po/it.po:
 1883 	* po/ja.po:
 1884 	* po/ky.po:
 1885 	* po/lt.po:
 1886 	* po/lv.po:
 1887 	* po/mt.po:
 1888 	* po/nb.po:
 1889 	* po/nl.po:
 1890 	* po/or.po:
 1891 	* po/pl.po:
 1892 	* po/pt_BR.po:
 1893 	* po/ro.po:
 1894 	* po/ru.po:
 1895 	* po/sk.po:
 1896 	* po/sl.po:
 1897 	* po/sq.po:
 1898 	* po/sr.po:
 1899 	* po/sv.po:
 1900 	* po/tr.po:
 1901 	* po/uk.po:
 1902 	* po/vi.po:
 1903 	* po/zh_CN.po:
 1904 	* po/zh_HK.po:
 1905 	* po/zh_TW.po:
 1906 	  gst-plugins-good: update translations
 1907 	  Fixes #656
 1908 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
 1909 
 1910 2021-10-23 14:38:06 +0300  Sebastian Dröge <sebastian@centricular.com>
 1911 
 1912 	* gst/isomp4/qtdemux_types.c:
 1913 	  qtdemux: Add pasp box to the list of known boxes
 1914 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1235>
 1915 
 1916 2021-01-20 11:53:51 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
 1917 
 1918 	* gst/matroska/matroska-read-common.c:
 1919 	  matroska: Set image/attachment structure mimetype
 1920 	  Set structure mimetype to fix data detection by mimetype in other plugins.
 1921 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1205>
 1922 
 1923 2021-01-20 11:33:39 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
 1924 
 1925 	* gst/matroska/matroska-read-common.c:
 1926 	  matroska: Treat non-image structure as attachment
 1927 	  Otherwise each structure is named as GstTagImageInfo even if
 1928 	  it does not contain any images which is misleading.
 1929 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1205>
 1930 
 1931 2021-10-21 20:32:05 +1100  Matthew Waters <matthew@centricular.com>
 1932 
 1933 	* gst/rtpmanager/gstrtpbin.c:
 1934 	  rtpbin: fix leak of pad when a fec encoder and aux sender a created
 1935 	  The ghost sink pad retrieved by rtpbin from the aux sender was not freed
 1936 	  when there was a previous element (fec encoder) in the chain.
 1937 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1222>
 1938 
 1939 2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>
 1940 
 1941 	* tests/check/meson.build:
 1942 	  meson: update for meson.build_root() and .build_source() deprecation
 1943 	  -> use meson.project_build_root() or .global_build_root() instead.
 1944 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
 1945 
 1946 2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
 1947 
 1948 	* docs/meson.build:
 1949 	* meson.build:
 1950 	* tests/check/meson.build:
 1951 	  meson: update for dep.get_pkgconfig_variable() deprecation
 1952 	  ... in favour of dep.get_variable('foo', ..) which in some
 1953 	  cases allows for further cleanups in future since we can
 1954 	  extract variables from pkg-config dependencies as well as
 1955 	  internal dependencies using this mechanism.
 1956 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
 1957 
 1958 2021-10-18 00:03:47 +0100  Tim-Philipp Müller <tim@centricular.com>
 1959 
 1960 	* meson.build:
 1961 	  meson: clean up conditional paths after version bump
 1962 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
 1963 
 1964 2021-09-15 14:19:06 -0400  Olivier Crête <olivier.crete@collabora.com>
 1965 
 1966 	* docs/gst_plugins_cache.json:
 1967 	* gst/rtpmanager/gstrtphdrext-clientaudiolevel.c:
 1968 	* gst/rtpmanager/gstrtphdrext-clientaudiolevel.h:
 1969 	* gst/rtpmanager/gstrtpmanager.c:
 1970 	* gst/rtpmanager/meson.build:
 1971 	* tests/check/elements/rtphdrextclientaudiolevel.c:
 1972 	* tests/check/meson.build:
 1973 	  rtphdrext-clientaudiolevel: Rename RFC 6464 element
 1974 	  Multiplying elements named after RFC numbers is confusing,
 1975 	  so let's give them meaningful names.
 1976 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1125>
 1977 
 1978 2021-06-05 03:13:52 +1000  Jan Schmidt <jan@centricular.com>
 1979 
 1980 	* gst/isomp4/fourcc.h:
 1981 	* gst/isomp4/meson.build:
 1982 	* gst/isomp4/qtdemux-webvtt.c:
 1983 	* gst/isomp4/qtdemux-webvtt.h:
 1984 	* gst/isomp4/qtdemux.c:
 1985 	* gst/isomp4/qtdemux_types.c:
 1986 	  qtdemux: Add support for wvtt (WebVTT) subtitles.
 1987 	  WebVTT in ISO MP4 is specified in ISO 14496-30,
 1988 	  and needed for DASH support. It's stored in an
 1989 	  mp4 specific format. To handle it compatibly,
 1990 	  the wvtt boxes are converted back into WebVTT text
 1991 	  and pushed as application/x-subtitle-vtt
 1992 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182>
 1993 
 1994 2021-08-27 22:45:18 +1000  Jan Schmidt <jan@centricular.com>
 1995 
 1996 	* gst/isomp4/qtdemux.c:
 1997 	  isomp4: Split buffer process functions.
 1998 	  Split the different handling for closed captions, VobSub subpicture
 1999 	  and timed text samples into separate simplified process functions.
 2000 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182>
 2001 
 2002 2021-08-27 21:58:25 +1000  Jan Schmidt <jan@centricular.com>
 2003 
 2004 	* gst/isomp4/qtdemux.c:
 2005 	* gst/isomp4/qtdemux.h:
 2006 	  isomp4: Use a function pointer for buffer splitting.
 2007 	  Swap the `need_process` boolean check on qtdemux streams
 2008 	  for a direct function pointer to the splitting function,
 2009 	  so we can stop adding extra cases to the single growing
 2010 	  `gst_qtdemux_process_buffer()` function.
 2011 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182>
 2012 
 2013 2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>
 2014 
 2015 	* meson.build:
 2016 	  meson: bump meson requirement to >= 0.59
 2017 	  For monorepo build and ugly/bad, for advanced feature
 2018 	  option API like get_option('xyz').required(..) which
 2019 	  we use in combination with the 'gpl' option.
 2020 	  For rest of modules for consistency (people will likely
 2021 	  use newer features based on the top-level requirement).
 2022 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
 2023 
 2024 2021-10-05 12:28:22 -0300  Thibault Saunier <tsaunier@igalia.com>
 2025 
 2026 	* gst/isomp4/gstqtmux.c:
 2027 	  qtmux: Allow more fields changes renegotiating h264
 2028 	  And consider interlace-mode=progress as equivalent to the field not
 2029 	  being specified.
 2030 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
 2031 
 2032 2021-10-05 10:50:32 -0300  Thibault Saunier <tsaunier@igalia.com>
 2033 
 2034 	* gst/matroska/matroska-mux.c:
 2035 	  matroskamux: Ignore some fields when renegotiating
 2036 	  Those values are never used in the muxer so we should not fail the
 2037 	  negotiation if those are changing.
 2038 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062>
 2039 
 2040 2021-10-17 01:59:35 -0300  Thibault Saunier <tsaunier@igalia.com>
 2041 
 2042 	* ext/lame/meson.build:
 2043 	  lame:meson: Avoid using fallback when we could use system install
 2044 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1176>
 2045 
 2046 2021-10-05 11:38:33 -0300  Thibault Saunier <tsaunier@igalia.com>
 2047 
 2048 	* ext/lame/gstlamemp3enc.h:
 2049 	* ext/lame/meson.build:
 2050 	  meson: Support building lame as subproject
 2051 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1068>
 2052 
 2053 2021-10-12 15:52:48 -0300  Thibault Saunier <tsaunier@igalia.com>
 2054 
 2055 	* docs/meson.build:
 2056 	  meson: Streamline the way we detect when to build documentation
 2057 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
 2058 
 2059 2021-10-13 14:42:15 +0100  Philippe Normand <philn@igalia.com>
 2060 
 2061 	* ext/soup/stub/soup.h:
 2062 	  soup-stub: Gate G_URI_FLAGS_SCHEME_NORMALIZE behind glib version check
 2063 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1138>
 2064 
 2065 2021-10-13 10:38:07 +0200  Bastien Nocera <hadess@hadess.net>
 2066 
 2067 	* ext/gtk/gtkgstglwidget.c:
 2068 	  gtkglsink: Avoid assertion when applying "auto" rotation method
 2069 	  Guard against the orientation not coming from an inexistant tag, nor
 2070 	  from the application (rotation set to "auto") which caused an assertion.
 2071 	  When the application requests the auto rotation method, make sure it is
 2072 	  resolved to a rotation that's applicable.
 2073 	  ERROR:gstreamer/subprojects/gst-plugins-good/ext/gtk/gtkgstglwidget.c:745:gtk_gst_gl_widget_set_rotate_method: code should not be reached
 2074 	  Fixes: 103ceb853a5f7dade07a1ac4aa517e9df6ed5ded
 2075 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1134>
 2076 
 2077 2021-10-04 09:31:02 +0100  Philippe Normand <philn@igalia.com>
 2078 
 2079 	* ext/soup/gstsoup.c:
 2080 	* ext/soup/gstsouphttpclientsink.c:
 2081 	* ext/soup/gstsouphttpclientsink.h:
 2082 	* ext/soup/gstsouphttpsrc.c:
 2083 	* ext/soup/gstsouphttpsrc.h:
 2084 	* ext/soup/gstsouploader.c:
 2085 	* ext/soup/gstsouploader.h:
 2086 	* ext/soup/gstsouputils.c:
 2087 	* ext/soup/gstsouputils.h:
 2088 	* ext/soup/meson.build:
 2089 	* ext/soup/stub/soup.h:
 2090 	* meson.build:
 2091 	* tests/check/elements/souphttpsrc.c:
 2092 	* tests/check/meson.build:
 2093 	  soup: Runtime compatibility support for libsoup2 and libsoup3
 2094 	  The src and sink elements no longer link against libsoup. It is now loaded at
 2095 	  runtime. If any version is resident already, it is used. Otherwise we first try
 2096 	  to load libsoup3 and if it's not found we fallback to libsoup2.
 2097 	  For the unit-tests, we now build one version of the test unit file per libsoup
 2098 	  version found. So if both libsoup2 and libsoup3 are available on the host, the
 2099 	  CI will cover them both.
 2100 	  Based on initial patch by Daniel Kolesa <dkolesa@igalia.com> and
 2101 	  Patrick Griffis <pgriffis@igalia.com>.
 2102 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1044>
 2103 
 2104 2021-09-10 18:03:55 -0400  Olivier Crête <olivier.crete@collabora.com>
 2105 
 2106 	* gst/rtp/gstrtpopuspay.c:
 2107 	  rtopuspay: Set marker bit inside RTP packet too
 2108 	  At the end of a talk spurt, not only set the marker flag on the
 2109 	  GstBuffer, but also set the bit inside the RTP header as recommended
 2110 	  by the RFC.
 2111 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1124>
 2112 
 2113 2021-10-11 14:27:24 +0200  Bastien Nocera <hadess@hadess.net>
 2114 
 2115 	* ext/gtk/gstgtkbasesink.c:
 2116 	  gtksink: Fetch the default "widget" value in the docs
 2117 	  There's really no interesting "widget" value that could be shown in the
 2118 	  docs, so use the GST_PARAM_DOC_SHOW_DEFAULT flag to avoid showing
 2119 	  another value.
 2120 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
 2121 
 2122 2021-10-11 10:22:41 +0200  Bastien Nocera <hadess@hadess.net>
 2123 
 2124 	* ext/gtk/gstgtkbasesink.c:
 2125 	* ext/gtk/gstgtkglsink.c:
 2126 	  gtksink: Avoid errors fetching widget property
 2127 	  Avoid errors when fetching the "widget" property and GTK initialisation
 2128 	  fails, such as when running in a non-graphical environment.
 2129 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
 2130 
 2131 2021-05-04 13:27:30 -0400  Olivier Crête <olivier.crete@collabora.com>
 2132 
 2133 	* ext/gtk/gstgtkbasesink.c:
 2134 	* ext/gtk/gstgtkglsink.c:
 2135 	  gtksink: Return reference to GtkWidget in the acquire function
 2136 	  This should ensure thread safety.
 2137 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
 2138 
 2139 2020-09-03 18:27:19 -0400  Olivier Crête <olivier.crete@collabora.com>
 2140 
 2141 	* docs/gst_plugins_cache.json:
 2142 	* ext/gtk/gstgtkbasesink.c:
 2143 	* ext/gtk/gstgtkbasesink.h:
 2144 	* ext/gtk/gstgtkglsink.c:
 2145 	* ext/gtk/gtkgstglwidget.c:
 2146 	* ext/gtk/gtkgstglwidget.h:
 2147 	  gtkglsink: Add rotate-method property
 2148 	  This mostly just takes code out of glimagesink and applies it here.
 2149 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>
 2150 
 2151 2021-10-12 19:01:37 +0300  Sebastian Dröge <sebastian@centricular.com>
 2152 
 2153 	* gst/multifile/gstsplitmuxsink.c:
 2154 	  splitmuxsink: Don't assert on the input side if no GOP is available when shutting down
 2155 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1119>
 2156 
 2157 2021-10-12 11:43:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 2158 
 2159 	* ext/soup/meson.build:
 2160 	  libsoup: Bump to 2.74 to fix gssapi build failure on macOS
 2161 	  See: https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/255
 2162 	  We also need to disable sysprof by default because it only builds on
 2163 	  native Linux. If someone really wants it, they can enable the option
 2164 	  on the command-line by passing -Dlibsoup:sysprof=enabled
 2165 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1114>
 2166 
 2167 2020-06-05 16:20:18 +0200  Marek Vasut <marex@denx.de>
 2168 
 2169 	* ext/jpeg/gstjpegdec.c:
 2170 	* ext/jpeg/gstjpegdec.h:
 2171 	  jpegdec: Support libjpeg-turbo colorspace conversion
 2172 	  The libjpeg-turbo has a built-in support for performing colorspace
 2173 	  conversion. The performance of this conversion is much better than
 2174 	  doing the same separately using videoconvert. Implement support for
 2175 	  this conversion to RGBx/xRGB/BGRx/xBGR formats. Other formats can
 2176 	  be easily added later.
 2177 	  - The decoding of various pixel formats can be tested and compared to
 2178 	  non-libjpeg-turbo decoding as follows:
 2179 	  for gfmt in {RGB,BGR}{,x} x{RGB,BGR} ; do
 2180 	  echo "$gfmt"
 2181 	  gst-launch-1.0 -q \
 2182 	  videotestsrc pattern=colors ! \
 2183 	  video/x-raw,format=${gfmt} ! \
 2184 	  fakesink dump=true | \
 2185 	  head -n 200 | tail -n 1
 2186 	  gst-launch-1.0 -q --gst-plugin-path=build/ext/jpeg/ \
 2187 	  videotestsrc pattern=colors ! \
 2188 	  video/x-raw,format=${gfmt} ! \
 2189 	  jpegenc ! \
 2190 	  jpegdec ! \
 2191 	  video/x-raw,format=${gfmt} ! \
 2192 	  fakesink dump=true | \
 2193 	  head -n 200 | tail -n 1
 2194 	  done
 2195 	  Result looks as follows, i.e. comparable:
 2196 	  RGB
 2197 	  00000c70 (0x7f7736fbdd10): 05 33 19 05 33 26 05 33 33 05 33 40 05 33 4c 05  .3..3&.33.3@.3L.
 2198 	  00000c70 (0x7f389e8f7d10): 05 32 17 04 32 22 04 32 31 04 32 3e 04 32 4a 04  .2..2".21.2>.2J.
 2199 	  RGBx
 2200 	  00000c70 (0x7f79efd0ad10): cc 07 22 ff d9 07 22 ff e6 07 22 ff f3 07 22 ff  .."..."..."...".
 2201 	  00000c70 (0x7fb6989f3d10): cd 06 22 00 d9 06 22 00 e6 06 22 00 f4 06 22 00  .."..."..."...".
 2202 	  BGR
 2203 	  00000c70 (0x7fa0a6c42d10): 05 0c 33 05 19 33 05 26 33 05 33 33 05 40 33 05  ..3..3.&3.33.@3.
 2204 	  00000c70 (0x7fc74165fd10): 05 08 32 04 17 32 04 22 32 04 31 32 04 3e 32 04  ..2..2."2.12.>2.
 2205 	  BGRx
 2206 	  00000c70 (0x7fbf399f1d10): 22 07 cc ff 22 07 d9 ff 22 07 e6 ff 22 07 f3 ff  "..."..."..."...
 2207 	  00000c70 (0x7f50e3d1cd10): 22 06 cd 00 22 06 d9 00 22 06 e6 00 22 06 f4 00  "..."..."..."...
 2208 	  xRGB
 2209 	  00000c70 (0x7f0b950a2d10): ff cc 07 22 ff d9 07 22 ff e6 07 22 ff f3 07 22  ..."..."..."..."
 2210 	  00000c70 (0x7f4416b8dd10): 00 cd 06 22 00 d9 06 22 00 e6 06 22 00 f4 06 22  ..."..."..."..."
 2211 	  xBGR
 2212 	  00000c70 (0x7f237d74dd10): ff 22 07 cc ff 22 07 d9 ff 22 07 e6 ff 22 07 f3  ."..."..."..."..
 2213 	  00000c70 (0x7f095547dd10): 00 22 06 cd 00 22 06 d9 00 22 06 e6 00 22 06 f4  ."..."..."..."..
 2214 	  ^^          ^^          ^^          ^^
 2215 	  Notice how the alpha channel is set to arbitrary value in case of the
 2216 	  libjpeg-turbo decoding into RGBx/BGRx/xRGB/xBGR pixel formats. This is
 2217 	  documented in libjpeg-turbo README.md as follows:
 2218 	  "
 2219 	  When using the RGBX, BGRX, XBGR, and XRGB colorspaces during decompression, the
 2220 	  X byte is undefined, and in order to ensure the best performance, libjpeg-turbo
 2221 	  can set that byte to whatever value it wishes.
 2222 	  "
 2223 	  - The interlaced num_fields=2 mjpeg stream can be generated and
 2224 	  tested as follows (this does require mjpegtools):
 2225 	  $ gst-launch-1.0 videotestsrc num-buffers=10 ! jpegenc ! multifilesink location=in%04d.jpg
 2226 	  $ jpeg2yuv -f 25 -I t -L 0 -j in%04d.jpg | yuv2lav -f avi -o result.avi
 2227 	  ...
 2228 	  $ gst-launch-1.0 --gst-plugin-path=build/ext/jpeg/ filesrc location=result.avi ! \
 2229 	  avidemux ! jpegdec ! video/x-raw,format=RGBx ! videoconvert ! autovideosink
 2230 	  Signed-off-by: Marek Vasut <marex@denx.de>
 2231 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1091>
 2232 
 2233 2021-09-21 13:37:35 +0300  Sebastian Dröge <sebastian@centricular.com>
 2234 
 2235 	* gst/multifile/gstsplitmuxsink.c:
 2236 	* gst/multifile/gstsplitmuxsink.h:
 2237 	  splitmuxsink: Keep track of the pending input GOPs in a queue
 2238 	  This cleans up input GOP handling and makes it possible to handle more
 2239 	  than 2 pending GOPs, which could happen before if keyframes are arriving
 2240 	  with too short of a distance between them.
 2241 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1005>
 2242 
 2243 2021-09-16 19:36:27 +0300  Sebastian Dröge <sebastian@centricular.com>
 2244 
 2245 	* gst/multifile/gstsplitmuxsink.c:
 2246 	* gst/multifile/gstsplitmuxsink.h:
 2247 	  splitmuxsink: Handle frame reordering due to B frames better
 2248 	  Instead of assuming that the PTS of a keyframe is the lowest PTS of a
 2249 	  GOP, wait until the DTS has passed this PTS and take the minimum PTS up
 2250 	  to that point. That way the minimum PTS of a GOP can be determined, at
 2251 	  least for closed GOP streams. Open GOP streams still can't be handled
 2252 	  properly.
 2253 	  By knowing the minimum PTS of each GOP, keyframes can be requested at
 2254 	  the correct time relative to the GOP (and thus fragment) start and
 2255 	  fragment overflow calculations can calculate the correct durations of
 2256 	  the GOPs.
 2257 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1005>
 2258 
 2259 2021-09-16 14:07:27 +0300  Sebastian Dröge <sebastian@centricular.com>
 2260 
 2261 	* gst/multifile/gstsplitmuxsink.c:
 2262 	  splitmuxsink: Reset timecodes when resetting the sink
 2263 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1005>
 2264 
 2265 2021-09-16 13:11:20 +0300  Sebastian Dröge <sebastian@centricular.com>
 2266 
 2267 	* gst/multifile/gstsplitmuxsink.c:
 2268 	  splitmuxsink: Use GST_CLOCK_STIME_NONE instead of 0 to initialize max out running time
 2269 	  Otherwise streams with only DTS would misbehave while it is negative.
 2270 	  For outputting everything immediately at EOS, use G_MAXINT64 instead
 2271 	  which is bigger-or-equal to any other running time.
 2272 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1005>
 2273 
 2274 2021-09-16 13:02:29 +0300  Sebastian Dröge <sebastian@centricular.com>
 2275 
 2276 	* gst/multifile/gstsplitmuxsink.c:
 2277 	  splitmuxsink: Only update max in/out running time if it's actually bigger
 2278 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1005>
 2279 
 2280 2021-09-16 12:53:12 +0300  Sebastian Dröge <sebastian@centricular.com>
 2281 
 2282 	* gst/multifile/gstsplitmuxsink.c:
 2283 	  splitmuxsink: Only count keyframes for the reference context, consistently
 2284 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1005>
 2285 
 2286 2021-09-24 13:38:39 -0400  Olivier Crête <olivier.crete@collabora.com>
 2287 
 2288 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 2289 	  rtphdrext: Pass just the attributes to the subclass
 2290 	  Since the base class now does the parsing, there is no need
 2291 	  to reproduce that code in all the subclasses, just pass the attributes
 2292 	  which are the only relevant bit anyway.
 2293 	  Also, only store the direction if the subclass accepted the caps
 2294 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
 2295 
 2296 2021-09-24 12:52:37 -0400  Olivier Crête <olivier.crete@collabora.com>
 2297 
 2298 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 2299 	  rtphdrext-rfc6464: Use helper function to set caps field
 2300 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
 2301 
 2302 2021-09-23 16:01:40 -0400  Olivier Crête <olivier.crete@collabora.com>
 2303 
 2304 	* gst/rtp/gstrtphdrext-colorspace.c:
 2305 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 2306 	  rtphdrext: Set caps without attributes as the default
 2307 	  Most subclasses just use the simple function, so just let the base class
 2308 	  do it. It makes less code in subclasses.
 2309 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
 2310 
 2311 2021-09-23 15:36:00 -0400  Olivier Crête <olivier.crete@collabora.com>
 2312 
 2313 	* gst/rtp/gstrtphdrext-colorspace.c:
 2314 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 2315 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 2316 	  rtphdrext: Put simple caps generation as the base class default
 2317 	  Instead of having a helper function that gets called by almost every
 2318 	  subclass, just let the base class set the caps fields automatically.
 2319 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906>
 2320 
 2321 2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>
 2322 
 2323 	* README:
 2324 	* RELEASE:
 2325 	  doc: update IRC links to OFTC
 2326 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
 2327 
 2328 2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
 2329 
 2330 	* docs/gst_plugins_cache.json:
 2331 	* meson.build:
 2332 	  Back to development
 2333 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
 2334 
 2335 === release 1.19.2 ===
 2336 
 2337 2021-09-23 01:33:39 +0100  Tim-Philipp Müller <tim@centricular.com>
 2338 
 2339 	* ChangeLog:
 2340 	* NEWS:
 2341 	* RELEASE:
 2342 	* docs/gst_plugins_cache.json:
 2343 	* gst-plugins-good.doap:
 2344 	* meson.build:
 2345 	  Release 1.19.2
 2346 
 2347 2021-09-22 14:03:57 +0100  Tim-Philipp Müller <tim@centricular.com>
 2348 
 2349 	* gst/rtp/gstrtph263pdepay.c:
 2350 	  rtph263pdepay: flag keyframes on output buffers
 2351 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1091>
 2352 
 2353 2021-08-18 19:47:40 -0400  Olivier Crête <olivier.crete@collabora.com>
 2354 
 2355 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 2356 	  rtphdrhext-twcc: Return failure on map failure
 2357 	  This feels like exactly like a case that should fail.
 2358 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1059>
 2359 
 2360 2021-08-18 19:46:25 -0400  Olivier Crête <olivier.crete@collabora.com>
 2361 
 2362 	* gst/rtp/gstrtphdrext-colorspace.c:
 2363 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 2364 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 2365 	  rtphdrext: Update write() API to return a signed value
 2366 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1059>
 2367 
 2368 2021-09-14 17:26:27 +0900  Seungha Yang <seungha@centricular.com>
 2369 
 2370 	* gst/isomp4/qtdemux.c:
 2371 	  qtdemux: Try to build AAC codec-data whenever it's possible
 2372 	  AAC codec_data is a just collection of AAC profile, samplerate, and
 2373 	  channels. We can know samplerate and channels from parsed
 2374 	  SampleEntry data. Although the AAC profile is unknown there,
 2375 	  let's assume it as AAC-LC like we've been doing for the version 1
 2376 	  atom.
 2377 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1082>
 2378 
 2379 2021-09-07 22:23:01 +0200  Vivienne Watermeier <vwatermeier@igalia.com>
 2380 
 2381 	* gst/flv/gstflvdemux.c:
 2382 	* gst/flv/gstflvdemux.h:
 2383 	  flv: fix seqnum handling for seeks
 2384 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1078>
 2385 
 2386 2021-01-18 16:06:27 +1100  Matthew Waters <matthew@centricular.com>
 2387 
 2388 	* gst/isomp4/gstqtmux.c:
 2389 	  isomp4: also allow muxing different h264/5 profiles/levels/etc
 2390 	  All of that is advertised through the codec_data itself so can change
 2391 	  just fine within isomp4.
 2392 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1071>
 2393 
 2394 2021-09-11 09:24:35 +0300  Sebastian Dröge <sebastian@centricular.com>
 2395 
 2396 	* docs/gst_plugins_cache.json:
 2397 	* gst/matroska/matroska-demux.c:
 2398 	* gst/matroska/matroska-ids.h:
 2399 	* gst/matroska/matroska-mux.c:
 2400 	  matroska: Add support for muxing/demuxing ffv1
 2401 	  Previously only demuxing when stored via the RIFF/AVI mapping was
 2402 	  supported.
 2403 	  See https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#matroska-file-format
 2404 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/923
 2405 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1080>
 2406 
 2407 2021-09-12 12:18:32 +0100  Philippe Normand <philn@igalia.com>
 2408 
 2409 	* docs/gst_plugins_cache.json:
 2410 	  docs: Update cache
 2411 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1081>
 2412 
 2413 2021-08-03 19:12:11 +0900  Seungha Yang <seungha@centricular.com>
 2414 
 2415 	* ext/jpeg/gstjpegdec.c:
 2416 	  jpegdec: Fix crash when interlaced field height is not DCT block size aligned
 2417 	  In case of interlaced JPEG file, we are doubling stride.
 2418 	  The scratch scan line should take account of it as well.
 2419 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042>
 2420 
 2421 2021-09-02 08:38:54 +0300  Sebastian Dröge <sebastian@centricular.com>
 2422 
 2423 	* gst/avi/gstavidemux.c:
 2424 	  avidemux: Also detect 0x000001 as H264 byte-stream start code in codec_data
 2425 	  This works around some AVI files storing byte-stream data in the
 2426 	  codec_data. The previous workaround was only checking for
 2427 	  0x00000001 (4 bytes) instead of 0x000001 (3 bytes).
 2428 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1072>
 2429 
 2430 2021-08-31 11:05:16 +0100  Philippe Normand <philn@igalia.com>
 2431 
 2432 	* ext/qt/qtitem.cc:
 2433 	  qt: Fix build for Qt 5.9
 2434 	  The QQuickItem::size() method was introduced in 5.10, so use direct width() and
 2435 	  height() access instead.
 2436 	  Fixes #908
 2437 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1069>
 2438 
 2439 2021-08-19 10:32:27 -0400  Olivier Crête <olivier.crete@collabora.com>
 2440 
 2441 	* tests/check/elements/rtphdrextrfc6464.c:
 2442 	  rtphdrext-rfc6464: Add test for inserting in payloader using the API
 2443 	  This makes it clearer how to use the plugin in an API driven application.
 2444 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
 2445 
 2446 2021-08-18 19:36:07 -0400  Olivier Crête <olivier.crete@collabora.com>
 2447 
 2448 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 2449 	  rtphdrext-rfc6464: Put max level if the audio is beyond it
 2450 	  Otherwise, it just fails to add the extension, which makes no
 2451 	  sense. And our level element produces levels higher than 127 in some
 2452 	  cases.
 2453 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
 2454 
 2455 2021-08-18 19:35:36 -0400  Olivier Crête <olivier.crete@collabora.com>
 2456 
 2457 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 2458 	  rtphdrext-rfc6464: Add example pipeline
 2459 	  This makes it a bit easier to understand how to use it in an application.
 2460 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
 2461 
 2462 2021-08-18 19:07:18 -0400  Olivier Crête <olivier.crete@collabora.com>
 2463 
 2464 	* tests/check/elements/rtphdrextrfc6464.c:
 2465 	  rtphdrext-rfc6464: Add test for inserting it based on caps
 2466 	  Tests adding the extension based on the caps.
 2467 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
 2468 
 2469 2021-08-27 14:32:45 +0200  Edward Hervey <edward@centricular.com>
 2470 
 2471 	* gst/isomp4/qtdemux.c:
 2472 	  qtdemux: Force stream-start push when re-using EOS'd streams
 2473 	  When re-using streams, we *do* need to push a `stream-start` event downstream if
 2474 	  we previously were EOS'd. Failure to do that would never remove the EOS status
 2475 	  on all downstream elements and cause weird issues.
 2476 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1067>
 2477 
 2478 2021-08-27 02:05:45 -0400  Brad Smith <brad@comstyle.com>
 2479 
 2480 	* gst/deinterlace/meson.build:
 2481 	  deinterlace: Use proper ASM output format for *BSD OS
 2482 	  FreeBSD/NetBSD/OpenBSD amd64 use the ELF binary format.
 2483 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1066>
 2484 
 2485 2021-08-27 13:30:57 +1000  Matthew Waters <matthew@centricular.com>
 2486 
 2487 	* ext/qt/qtitem.cc:
 2488 	  qmlgl: don't critical on input events before input format has been set
 2489 	  Accessing the unset GstVideoInfo would result in criticals
 2490 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1065>
 2491 
 2492 2021-08-25 11:53:58 +0300  Sebastian Dröge <sebastian@centricular.com>
 2493 
 2494 	* gst/rtpmanager/rtpsession.c:
 2495 	  docs: Add `Since` marker to "twcc-feedback-interval" property
 2496 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2497 
 2498 2021-08-25 10:33:24 +0200  Havard Graff <havard@pexip.com>
 2499 
 2500 	* docs/gst_plugins_cache.json:
 2501 	  docs: update with "twcc-feedback-interval"
 2502 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2503 
 2504 2021-04-13 16:19:22 +0200  Tulio Beloqui <tulio.beloqui@pexip.com>
 2505 
 2506 	* gst/rtpmanager/rtpsession.c:
 2507 	* gst/rtpmanager/rtpstats.h:
 2508 	* gst/rtpmanager/rtptwcc.c:
 2509 	* tests/check/elements/rtpsession.c:
 2510 	  rtptwcc: changes to use rtp buffer arrival time and current time.
 2511 	  For TWCC we are more interested to track the arrival time (receive side)
 2512 	  and the current time (sender side) of the buffers rather than the
 2513 	  running time.
 2514 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2515 
 2516 2021-03-26 11:57:42 +0100  Knut Inge Hvidsten <knut.hvidsten@pexip.com>
 2517 
 2518 	* gst/rtpmanager/rtpstats.c:
 2519 	* gst/rtpmanager/rtptwcc.c:
 2520 	* gst/rtpmanager/rtptwcc.h:
 2521 	  rtptwcc: add payloadtype to RTPTWCCPacket
 2522 	  The consumer of the stats can then separate between different media-types,
 2523 	  and do individual stats for each of them.
 2524 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2525 
 2526 2021-03-19 18:19:43 +0100  Havard Graff <havard.graff@gmail.com>
 2527 
 2528 	* gst/rtpmanager/rtptwcc.c:
 2529 	  rtptwcc: make enabling TWCC sticky
 2530 	  Meaning that if a caps comes along that does NOT have TWCC in it,
 2531 	  this does not turn of TWCC for the rest, as this is in fact
 2532 	  completely allowed. (To have some payload-types not containing TWCC
 2533 	  seqnums).
 2534 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2535 
 2536 2021-02-23 09:44:05 +0100  Havard Graff <havard.graff@gmail.com>
 2537 
 2538 	* gst/rtpmanager/rtpsession.c:
 2539 	* gst/rtpmanager/rtptwcc.c:
 2540 	* gst/rtpmanager/rtptwcc.h:
 2541 	  rtptwcc: move TWCC-logic over to the TWCC-manager
 2542 	  Prevent cluttering up the rtpsession, and keeping things localized.
 2543 	  Also write TWCC-seqnums for *all* streams in the session if configured by
 2544 	  caps.
 2545 	  A while back WebRTC was not doing TWCC for audio, basically breaking the
 2546 	  whole idea of a "transport-wide seqnuencenumber" applying for all bundled
 2547 	  streams. However, they have since fixed this, and now it no longers
 2548 	  makes sense to be able to single out certain payloadtypes for
 2549 	  use with TWCC, rather just including them all.
 2550 	  This also makes using RTX, RED, FEC etc much simpler, as it will apply
 2551 	  to them all as they enter the rtpsession.
 2552 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2553 
 2554 2021-02-23 09:50:04 +0100  Havard Graff <havard.graff@gmail.com>
 2555 
 2556 	* gst/rtpmanager/rtptwcc.c:
 2557 	  rtptwcc: fix warning
 2558 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2559 
 2560 2021-02-11 15:17:16 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
 2561 
 2562 	* gst/rtpmanager/rtptwcc.c:
 2563 	* tests/check/elements/rtpsession.c:
 2564 	  rtptwcc: fixes and optimizations around run-length chunks
 2565 	  Co-authored-by: Havard Graff <havard.graff@gmail.com>
 2566 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2567 
 2568 2020-12-18 14:01:23 +0100  Havard Graff <havard.graff@gmail.com>
 2569 
 2570 	* gst/rtpmanager/rtptwcc.c:
 2571 	* tests/check/elements/rtpsession.c:
 2572 	  rtptwcc: fix seqnum-wrap
 2573 	  Using the proper API to do this is obviously an improvement, and
 2574 	  adding a test for the case of a packet-loss when the seqnum wrap
 2575 	  is also a good idea.
 2576 	  Co-authored-by: Tulio Beloqui <tulio.beloqui@pexip.com>
 2577 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2578 
 2579 2020-12-18 13:06:35 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
 2580 
 2581 	* gst/rtpmanager/rtptwcc.c:
 2582 	* tests/check/elements/rtpsession.c:
 2583 	  rtptwcc: fixed feedback packet count overflow that allowed late packets to be processed
 2584 	  Co-authored-by: Havard Graff <havard.graff@gmail.com>
 2585 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2586 
 2587 2020-12-16 16:31:18 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
 2588 
 2589 	* gst/rtpmanager/rtptwcc.c:
 2590 	* tests/check/elements/rtpsession.c:
 2591 	  rtptwcc: fixed parsing of old sequence number
 2592 	  Co-authored-by: Havard Graff <havard.graff@gmail.com>
 2593 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2594 
 2595 2020-12-16 16:16:09 +0100  Tulio Beloqui <tulio.beloqui@pexip.com>
 2596 
 2597 	* gst/rtpmanager/rtptwcc.c:
 2598 	* tests/check/elements/rtpsession.c:
 2599 	  rtptwcc: fixed guint8 overflow of feedback packet count
 2600 	  Co-authored-by: Havard Graff <havard.graff@gmail.com>
 2601 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2602 
 2603 2020-11-19 23:50:23 +0100  Havard Graff <havard.graff@gmail.com>
 2604 
 2605 	* gst/rtpmanager/rtpsession.c:
 2606 	* gst/rtpmanager/rtptwcc.c:
 2607 	* gst/rtpmanager/rtptwcc.h:
 2608 	* tests/check/elements/rtpsession.c:
 2609 	  rtptwcc: add feedback-interval
 2610 	  To allow RTCP TWCC reports to be scheduled on a timer instead of per
 2611 	  marker-bit.
 2612 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2613 
 2614 2021-08-20 11:54:01 +0200  Havard Graff <havard@pexip.com>
 2615 
 2616 	* gst/rtpmanager/rtptwcc.c:
 2617 	* gst/rtpmanager/rtptwcc.h:
 2618 	  rtptwcc: remove _set_send_packet_ts
 2619 	  Not in use.
 2620 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2621 
 2622 2020-11-17 00:45:02 +0100  Havard Graff <havard@pexip.com>
 2623 
 2624 	* tests/check/elements/rtpsession.c:
 2625 	  rtptwcc: make twcc-tests more deterministic
 2626 	  They were a bit racy.
 2627 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>
 2628 
 2629 2021-08-24 13:28:22 +0100  Tim-Philipp Müller <tim@centricular.com>
 2630 
 2631 	* gst/isomp4/qtdemux.c:
 2632 	  qtdemux: add depth for ProRes 4:4:4:4 variants if available
 2633 	  Might be 24bpp in case an alpha channel is coded but
 2634 	  the image is always opaque.
 2635 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061>
 2636 
 2637 2021-08-22 23:16:26 +0000  Ruslan Khamidullin <ruslank@borisfx.com>
 2638 
 2639 	* gst/isomp4/gstqtmux.c:
 2640 	  qtmux: for Apple ProRes, allow overriding pixel bit depth for 4:4:4:4 variants
 2641 	  e.g. when exporting an opaque image, yet with alpha channel.
 2642 	  Apple ProRes certification requires that, when a ProRes-writing
 2643 	  application *knows* that the entire frame is opaque, the application
 2644 	  writes only RGB without alpha even when the clip is RGBA. For that,
 2645 	  this tiny change allows the app to override pixel depth when writing ProRes.
 2646 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1061>
 2647 
 2648 2019-05-22 11:16:56 +0200  Havard Graff <havard.graff@gmail.com>
 2649 
 2650 	* ext/vpx/gstvpxdec.c:
 2651 	* ext/vpx/gstvpxdec.h:
 2652 	  vpxdec: Fix direct rendering, avoid holding write access
 2653 	  When a buffer is pushed downstream, we should try not to hold the
 2654 	  buffer mapped with write access. Doing so would often lead to
 2655 	  an unneccesary memcpy later.
 2656 	  For instance, gst_buffer_make_writable() in
 2657 	  gst_video_decoder_finish_frame() will cause a memcpy because of
 2658 	  _memory_get_exclusive_reference().
 2659 	  We know that we can perform a two-step remap when using system
 2660 	  memory, as this will not cause the location of the memory to
 2661 	  change.
 2662 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/812>
 2663 
 2664 2021-08-19 16:26:17 +1000  Matthew Waters <matthew@centricular.com>
 2665 
 2666 	* gst/isomp4/gstqtmux.c:
 2667 	  isomp4/mux: add a function for seeking to a specific output byte position
 2668 	  We do it enough times that this makes sense.  Also add a debug log line
 2669 	  for the seek position requested.
 2670 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
 2671 
 2672 2021-08-19 16:02:47 +1000  Matthew Waters <matthew@centricular.com>
 2673 
 2674 	* gst/isomp4/atoms.c:
 2675 	  isomp4/mux: don't overwrite with a bigger moov when fragmenting
 2676 	  When outputting fragmented mp4, with a seekable downstream, we rewrite
 2677 	  the moov to maybe add a duration to the mvex.  If we start by not
 2678 	  writing the initial moov->mvex->mhed duration and then overwrite with a
 2679 	  moov containing mhed atom, the moov's will have different sizes and
 2680 	  could overwrite subsequent data and result in an unplayable file.
 2681 	  e.g. The initial moov would be of size 842 and the final moov would have
 2682 	  a size of 862.
 2683 	  Fix by always pushing out the mhed duration in the moov when
 2684 	  fragmenting.
 2685 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/898
 2686 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
 2687 
 2688 2021-01-15 20:53:27 +1100  Matthew Waters <matthew@centricular.com>
 2689 
 2690 	* gst/isomp4/gstqtmux.c:
 2691 	  isomp4: actually make streamable fallback work
 2692 	  We weren't setting the fragment_mode field anymore now that the
 2693 	  implementation doesn't change based on the value of the streamable
 2694 	  property.  This lead to invalid files.
 2695 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
 2696 
 2697 2021-01-15 20:54:56 +1100  Matthew Waters <matthew@centricular.com>
 2698 
 2699 	* gst/isomp4/gstqtmux.c:
 2700 	  isomp4: fix trun data offset handling
 2701 	  The trun offset was missing a calculation for one of the box type
 2702 	  headers.
 2703 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/866
 2704 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
 2705 
 2706 2020-10-15 00:28:36 +1100  Matthew Waters <matthew@centricular.com>
 2707 
 2708 	* gst/isomp4/atoms.c:
 2709 	* gst/isomp4/gstqtmux.c:
 2710 	  isomp4/mux: fixes for fragmented mp4 output
 2711 	  Various buffer offset calculations were not quite correct in all cases.
 2712 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/866
 2713 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
 2714 
 2715 2021-08-10 00:53:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 2716 
 2717 	* docs/gst_plugins_cache.json:
 2718 	* gst/matroska/matroska-mux.c:
 2719 	  matroska-mux: support H264 avc3 / H265 hev1
 2720 	  The matroska codec specs is unfortunately vague on the subject,
 2721 	  stating for H264:
 2722 	  AVC/H.264 stored as described in [@!ISO.14496-15]
 2723 	  and for H265:
 2724 	  HEVC/H.265 stored as described in [@!ISO.14496-15]
 2725 	  This spec however specifies multiple stream formats, our
 2726 	  implementation has opted for interpreting this as avc1 / hvc1,
 2727 	  both of which disallow in-band SPS.
 2728 	  Most decoders however will support in-band SPS / PPS, and
 2729 	  this commit gives the option to explicitly mux in avc3 / hev1,
 2730 	  which allows changing stream parameters on the fly, that is
 2731 	  useful for smart encoding for example.
 2732 	  When either of these stream formats are picked as the input,
 2733 	  changes in codec_data / tier / level / profile do not cause
 2734 	  renegotiation failure, a warning is logged however as it isn't
 2735 	  clear how compliant such a stream is.
 2736 	  The stream-format field is correctly ordered in the template
 2737 	  caps to avoid selecting potentially non-compliant options on
 2738 	  automatic negotiation.
 2739 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
 2740 
 2741 2021-08-10 00:51:36 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 2742 
 2743 	* gst/isomp4/gstqtmux.c:
 2744 	  isomp4/qtmux: allow renegotiating when tier / level / profile change
 2745 	  Those are carried either in codec_data or in-band SPS (for avc3),
 2746 	  and it is OK for those to change, though decoders obviously need
 2747 	  to support it.
 2748 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
 2749 
 2750 2021-08-06 23:36:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 2751 
 2752 	* gst/isomp4/gstqtmux.c:
 2753 	* gst/isomp4/gstqtmuxmap.c:
 2754 	  isomp4/qtmux: accept video/x-h264, stream-format=avc3
 2755 	  The main difference between avc1 and avc3 is that avc3 is allowed
 2756 	  to contain in-band SPS / PPS. In practice decoders will always use
 2757 	  in-band parameter sets anyway, but it is cleaner to explicitly
 2758 	  advertise it.
 2759 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
 2760 
 2761 2021-08-06 22:59:23 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 2762 
 2763 	* gst/isomp4/gstqtmux.c:
 2764 	  isomp4/qtmux: make sure to switch to next chunk on new caps
 2765 	  For example, with single video sink pad, and new codec_data is
 2766 	  received, current_chunk_offset must be reset to -1 for the
 2767 	  aggregate loop to open a new chunk.
 2768 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
 2769 
 2770 2021-08-06 22:55:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 2771 
 2772 	* gst/isomp4/atoms.c:
 2773 	  isomp4/atoms: fix multiple stsd entries
 2774 	  stsd entries are serialized in reverse order (starting from
 2775 	  g_list_last()), and must be prepended to the entry list for their
 2776 	  index to be correct when referenced from stsc entries.
 2777 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1047>
 2778 
 2779 2021-08-12 11:03:58 -0400  Arun Raghavan <arun@asymptotic.io>
 2780 
 2781 	* docs/gst_plugins_cache.json:
 2782 	* gst/matroska/matroska-mux.c:
 2783 	* gst/matroska/matroska-mux.h:
 2784 	  matroska-mux: Add a timestamp-offset property
 2785 	  Adds a user-controllable timestamp offset to clusters and blocks. This
 2786 	  should be useful if we want to have timestamps that have significance
 2787 	  outside of the current file (for example, we might set the offset to the
 2788 	  wallclock when the file is being created, or some other common base, if
 2789 	  we want to correlate streams across multiple files).
 2790 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1051>
 2791 
 2792 2021-07-15 12:02:40 +0200  Stéphane Cerveau <scerveau@collabora.com>
 2793 
 2794 	* gst/matroska/matroska-demux.c:
 2795 	  matroska: demux: update stream_start_time
 2796 	  The stream_start_time can be less than the first detected.
 2797 	  In case of B-Frame based media, the first frame PTS might be
 2798 	  greater than the next one.
 2799 	  Need to keep the segment.start if a seek has been performed.
 2800 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1030>
 2801 
 2802 2021-08-17 16:08:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 2803 
 2804 	* gst/matroska/matroska-demux.c:
 2805 	  mastrokademux: Remove redundant assignment
 2806 	  The segment.position is unconditionnaly set few lines below.
 2807 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1030>
 2808 
 2809 2021-08-17 16:49:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 2810 
 2811 	* gst/videocrop/gstvideocrop.c:
 2812 	* tests/icles/videocrop-test.c:
 2813 	  videocrop: Fix icles tests.
 2814 	  Internally videcrop can call gst_video_crop_set_info() with NULL as in
 2815 	  caps. Then critical messages are raised when the in caps are
 2816 	  processed.
 2817 	  To fix this the in caps are checked, and if they are present, its
 2818 	  capsfeature is extracted, otherwise, the previous raw caps detection
 2819 	  remains as before.
 2820 	  Also the videocrop-test removes the format field in the structure
 2821 	  because now its always passed.
 2822 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1056>
 2823 
 2824 2021-01-08 17:34:02 +0100  Jakub Adam <jakub.adam@collabora.com>
 2825 
 2826 	* docs/gst_plugins_cache.json:
 2827 	* gst/rtp/gstrtp.c:
 2828 	* gst/rtp/gstrtpelements.h:
 2829 	* gst/rtp/gstrtphdrext-colorspace.c:
 2830 	* gst/rtp/gstrtphdrext-colorspace.h:
 2831 	* gst/rtp/meson.build:
 2832 	* tests/check/elements/rtphdrext-colorspace.c:
 2833 	* tests/check/meson.build:
 2834 	  rtp: Color Space header extension
 2835 	  Implements WebRTC header extension defined in
 2836 	  http://www.webrtc.org/experiments/rtp-hdrext/color-space.
 2837 	  It uses RTP header to communicate color space information and optionally
 2838 	  also metadata that is needed in order to properly render a high dynamic
 2839 	  range (HDR) video stream.
 2840 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/853>
 2841 
 2842 2021-08-09 10:46:30 +0800  Hou Qi <qi.hou@nxp.com>
 2843 
 2844 	* sys/v4l2/gstv4l2object.c:
 2845 	  v4l2: Add protection when set decoder capture fps accroding to output fps
 2846 	  Some v4l2 drivers don't have the capacity to change framerate. There is
 2847 	  chance to make decoder capture fps to be 0/0 if numerator and denominator
 2848 	  returned by G_PARM ioctl are both 0. It causes critical warning
 2849 	  "passed '0' as denominator for `GstFraction'".
 2850 	  In order to fix this, add protection when set decoder capture fps according
 2851 	  to output fps.
 2852 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1048>
 2853 
 2854 2021-06-01 15:33:01 +0200  Per Förlin <perfn@axis.com>
 2855 
 2856 	* docs/gst_plugins_cache.json:
 2857 	* gst/rtsp/gstrtspsrc.c:
 2858 	* gst/rtsp/gstrtspsrc.h:
 2859 	  rtspsrc: Add support to ignore x-server HEADER reply
 2860 	  When connecting to an RTSP server in tunnled mode (HTTP) the server
 2861 	  usually replies with a x-server header. This contains the address
 2862 	  of the intended streaming server. However some servers return an
 2863 	  "invalid" address. Here follows two examples when it might happen.
 2864 	  1. A server use Apache combined with a separate RTSP process to handle
 2865 	  Https request on port 443. In this case Apache handle TLS and
 2866 	  connects to the local RTSP server, which results in a local
 2867 	  address 127.0.0.1 or ::1 in the x-server reply. This address is
 2868 	  returned to the actual RTSP client in the x-server header.
 2869 	  The client will receive this address and try to  connect to it
 2870 	  and fail.
 2871 	  2. The client use a ipv6 link local address with a specified scope id
 2872 	  fe80::aaaa:bbbb:cccc:dddd%eth0 and connects via Http on port 80.
 2873 	  The RTSP server receives the connection and returns the address
 2874 	  in the x-server header. The client will receive this address and
 2875 	  try to connect to it "as is" without the scope id and fail.
 2876 	  In the case of streaming data from RTSP servers like 1. and 2. it's
 2877 	  useful to have the option to simply ignore the x-server header reply
 2878 	  and continue using the original address.
 2879 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1007>
 2880 
 2881 2021-08-04 12:33:06 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2882 
 2883 	* ext/qt/qtitem.cc:
 2884 	  gstqmlgl: fix indent
 2885 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2886 
 2887 2021-07-30 16:52:23 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2888 
 2889 	* ext/qt/gstqsgtexture.cc:
 2890 	* ext/qt/gstqsgtexture.h:
 2891 	  gstqmlgl: wrap raw GstGLContext into GWeakRef
 2892 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2893 
 2894 2021-07-30 16:32:13 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2895 
 2896 	* tests/examples/qt/meson.build:
 2897 	* tests/examples/qt/qmlsink-multisink/main.cpp:
 2898 	* tests/examples/qt/qmlsink-multisink/main.qml:
 2899 	* tests/examples/qt/qmlsink-multisink/meson.build:
 2900 	* tests/examples/qt/qmlsink-multisink/qmlsink-multi.qrc:
 2901 	* tests/examples/qt/qmlsink-multisink/videoitem/VideoItem.qml:
 2902 	* tests/examples/qt/qmlsink-multisink/videoitem/videoitem.cpp:
 2903 	* tests/examples/qt/qmlsink-multisink/videoitem/videoitem.h:
 2904 	  gstqmlgl: add multisink test application
 2905 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2906 
 2907 2021-07-30 17:21:46 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2908 
 2909 	* ext/qt/qtitem.cc:
 2910 	* ext/qt/qtitem.h:
 2911 	  gstqmlgl: refactoring: rename ambiguous variables, clean up unused and duplicated ones
 2912 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2913 
 2914 2021-07-30 17:20:59 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2915 
 2916 	* ext/qt/gstqtglutility.cc:
 2917 	  gstqmlgl: rework WGL-specific context init code
 2918 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2919 
 2920 2021-07-30 17:20:49 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2921 
 2922 	* ext/qt/gstqtglutility.cc:
 2923 	  gstqmlgl: retrieve correct device bound to current GL context (+ minor code cleanup)
 2924 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2925 
 2926 2021-07-30 17:20:25 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2927 
 2928 	* ext/qt/gstqsgtexture.cc:
 2929 	  gstqmlgl: correct validation for Qt GL context
 2930 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2931 
 2932 2021-07-30 17:20:07 +0700  Dmitry Shusharin <pmdvsh@gmail.com>
 2933 
 2934 	* ext/qt/gstqtglutility.h:
 2935 	* ext/qt/qtitem.cc:
 2936 	* ext/qt/qtitem.h:
 2937 	* ext/qt/qtwindow.cc:
 2938 	* ext/qt/qtwindow.h:
 2939 	  gstqmlgl: create helper QRunnable-based class for render jobs
 2940 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1032>
 2941 
 2942 2021-08-06 16:25:02 +0200  Tulio Beloqui <tulio@pexip.com>
 2943 
 2944 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 2945 	* tests/check/elements/rtpjitterbuffer.c:
 2946 	  rtpjitterbuffer: fixed stall on gap when using rtx
 2947 	  Co-authored-by: Håvard Graff <havard@pexip.com>
 2948 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1055>
 2949 
 2950 2021-08-13 19:32:53 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 2951 
 2952 	* gst/flv/gstindex.c:
 2953 	  flv: use g_memdup2() as g_memdup() is deprecated
 2954 	  g_memdup() is deprecated since GLib 2.68 and we want to avoid
 2955 	  deprecation warnings with recent versions of GLib.
 2956 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1052>
 2957 
 2958 2021-08-15 12:26:38 +0300  Sebastian Dröge <sebastian@centricular.com>
 2959 
 2960 	* ext/soup/gstsouphttpsrc.c:
 2961 	  souphttpsrc: Always use the content decoder but set `Accept-Encoding: identity` if no compression should be used
 2962 	  Some servers respond with gzip-encoded responses regardless of whether
 2963 	  the request allowed it to be used in the response. By always having the
 2964 	  content decoder enabled, these invalid responses can be decoded
 2965 	  correctly while for well-behaving servers the `compress` property
 2966 	  selects between allowing compressed responses or not.
 2967 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/833
 2968 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1053>
 2969 
 2970 2021-08-12 22:57:01 +1000  Matthew Waters <matthew@centricular.com>
 2971 
 2972 	* ext/qt/gstqtglutility.cc:
 2973 	  qt: always update the sink_retrieved flag when the sink retrieves
 2974 	  Fixes a case where adding a qmlgloverlay element after an existing
 2975 	  qmlglsink elements was already in the pipeline would create an entirely
 2976 	  separate GstGLDisplay pointing to the same underlying display resource.
 2977 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1050>
 2978 
 2979 2021-08-11 14:52:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 2980 
 2981 	* gst/videocrop/gstaspectratiocrop.c:
 2982 	* gst/videocrop/gstaspectratiocrop.h:
 2983 	* gst/videocrop/gstvideocrop.c:
 2984 	* gst/videocrop/gstvideocrop.h:
 2985 	* gst/videocrop/gstvideocropelement.c:
 2986 	* gst/videocrop/gstvideocropelements.h:
 2987 	* gst/videocrop/gstvideocropplugin.c:
 2988 	* gst/videocrop/meson.build:
 2989 	  videocrop: Resurrect logging category.
 2990 	  Fix for a regression from commit 8f1384c9. That commit moved the debug
 2991 	  category definition, as static, into a gstvideocropelement.c, but that
 2992 	  category was used as default, in gstvideocrop.c, so it was never used
 2993 	  at logging, so the debug selector never showed the logs for
 2994 	  videocrop.
 2995 	  This patch move back the category definition into gstvideocrop.c and
 2996 	  leaving the function videocrop_element_init() as a noop.
 2997 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1049>
 2998 
 2999 2021-07-31 23:14:34 +0900  Seungha Yang <seungha@centricular.com>
 3000 
 3001 	* ext/jpeg/meson.build:
 3002 	  jpeg: Add support for meson fallback
 3003 	  Allow building jpeg plugin by using meson fallback
 3004 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1041>
 3005 
 3006 2021-07-27 10:43:21 +0800  Hou Qi <qi.hou@nxp.com>
 3007 
 3008 	* sys/v4l2/gstv4l2object.c:
 3009 	* sys/v4l2/gstv4l2videodec.c:
 3010 	  v4l2: Keep decoder capture fps same as output fps if it's not set
 3011 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1035>
 3012 
 3013 2021-07-27 18:33:18 +0900  Seungha Yang <seungha@centricular.com>
 3014 
 3015 	* docs/gst_plugins_cache.json:
 3016 	* ext/jack/gstjack.c:
 3017 	* ext/jack/gstjack.h:
 3018 	* ext/jack/gstjackaudioclient.c:
 3019 	* ext/jack/gstjackaudioclient.h:
 3020 	* ext/jack/gstjackaudiosink.c:
 3021 	* ext/jack/gstjackaudiosink.h:
 3022 	* ext/jack/gstjackaudiosrc.c:
 3023 	* ext/jack/gstjackaudiosrc.h:
 3024 	  jack: Add port-names property to select ports explicitly
 3025 	  By this new property, user can select physical port to connect,
 3026 	  and element will pick requested port instead of random ones.
 3027 	  User should provide full port name including "client_name:" prefix.
 3028 	  An example is
 3029 	  jackaudiosrc port-names="system:capture_1,system:capture_3" ! ...
 3030 	  jackaudiosink port-names="system:playback_2"
 3031 	  In addition to "port-names" property, a new connect type "explicit"
 3032 	  is added so that element can post error message if requested
 3033 	  "port-names" contains invalid port(s).
 3034 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1037>
 3035 
 3036 2021-07-23 11:04:00 +0200  Kai Uwe Broulik <kai_uwe.broulik@mbition.io>
 3037 
 3038 	* ext/qt/gstqsgtexture.cc:
 3039 	* ext/qt/gstqtsink.cc:
 3040 	  qt: Support RGB format
 3041 	  In GstQSGTexture::hasAlphaChannel return value based on
 3042 	  whether the video format has alpha channel.
 3043 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1040>
 3044 
 3045 2021-07-26 20:14:32 +0900  Seungha Yang <seungha@centricular.com>
 3046 
 3047 	* docs/gst_plugins_cache.json:
 3048 	* ext/jack/gstjackaudiosink.c:
 3049 	* ext/jack/gstjackaudiosink.h:
 3050 	* ext/jack/gstjackaudiosrc.c:
 3051 	* ext/jack/gstjackaudiosrc.h:
 3052 	  jack: Add low-latency property for automatic latency-optimized setting
 3053 	  Similar to wasapi/wasapi2 plugins on Windows, adding low-latency
 3054 	  option so that jack element can optimize GstAudioRingBufferSpec
 3055 	  setting for low latency.
 3056 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034>
 3057 
 3058 2021-07-26 19:55:25 +0900  Seungha Yang <seungha@centricular.com>
 3059 
 3060 	* ext/jack/gstjackaudioclient.c:
 3061 	* ext/jack/gstjackaudioclient.h:
 3062 	* ext/jack/gstjackaudiosrc.c:
 3063 	* ext/jack/gstjackringbuffer.h:
 3064 	  jack: Remove trailing whitespace
 3065 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034>
 3066 
 3067 2021-07-27 17:58:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 3068 
 3069 	* docs/gst_plugins_cache.json:
 3070 	* gst/videocrop/gstvideocrop-private.h:
 3071 	  videocrop: Resurrect any caps feature negotiation.
 3072 	  Commit e31cbce4 brought a regression to negotiate featured caps. But
 3073 	  only by removing the entry in the caps template. This commit brings it
 3074 	  back.
 3075 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1039>
 3076 
 3077 2021-07-26 18:43:04 +0900  Seungha Yang <seungha@centricular.com>
 3078 
 3079 	* ext/jack/gstjackaudiosink.c:
 3080 	* ext/jack/gstjackaudiosrc.c:
 3081 	  jack: Fix assertion fail when device supports only mono channel
 3082 	  MAX should be larger than MIN for GST_TYPE_INT_RANGE.
 3083 	  GStreamer-CRITICAL **: 18:26:27.912:
 3084 	  gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
 3085 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1033>
 3086 
 3087 2021-07-21 20:14:46 +1000  Matthew Waters <matthew@centricular.com>
 3088 
 3089 	* ext/qt/gstqtsrc.cc:
 3090 	* ext/qt/qtwindow.cc:
 3091 	* ext/qt/qtwindow.h:
 3092 	  qmlglsrc: fix operation without any qmlglsink
 3093 	  E.g. a pipeline like qmlglsrc ! gldownload ! ... would currently fail to
 3094 	  run because the OpenGL context are not created in the correct order.
 3095 	  The QtWindow also needs to know the OpenGL context used by downstream
 3096 	  elements in order to set optimize for the correct GstGLSyncMeta for
 3097 	  synchonisation purposes.
 3098 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1036>
 3099 
 3100 2021-07-26 17:55:24 +1000  Jan Schmidt <jan@centricular.com>
 3101 
 3102 	* gst/multifile/gstsplitmuxsink.c:
 3103 	  splitmuxsink: Fix some reference leaks in error cases.
 3104 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1023>
 3105 
 3106 2021-07-08 00:12:52 +1000  Jan Schmidt <jan@centricular.com>
 3107 
 3108 	* gst/multifile/gstsplitmuxsink.c:
 3109 	* tests/check/elements/splitmuxsink.c:
 3110 	  splitmuxsink: Prevent hang going back to NULL after failures
 3111 	  Prevent a condition where splitmuxsink won't go back to NULL state
 3112 	  after a child element fails to change state by making sure that
 3113 	  a READY->READY state change doesn't fail, and by returning
 3114 	  GST_FLOW_ERROR or GST_FLOW_FLUSHING upstream to shut down streaming
 3115 	  as quickly as possible.
 3116 	  This can happen after (for example) setting an invalid filename
 3117 	  on the sink element. In that case, the READY->PAUSED transition
 3118 	  fails, but with internal elements still in the NULL state. Trying
 3119 	  to set splitmuxsink back to NULL then ends up trying to bring
 3120 	  those NULL elements up to READY with a READY->READY transition,
 3121 	  (which fails, prevent splitmuxsink from getting to NULL)
 3122 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1023>
 3123 
 3124 2021-07-13 01:27:45 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 3125 
 3126 	* gst/deinterlace/gstdeinterlace.c:
 3127 	  deinterlace: reduce noise when gst_pad_set_caps fails
 3128 	  It may be that downstream is simply flushing, in which case logging
 3129 	  an error is misleading.
 3130 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1029>
 3131 
 3132 2021-07-08 02:22:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 3133 
 3134 	* gst/multifile/gstsplitmuxsink.c:
 3135 	  splitmuxsink: always use factory property when set
 3136 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1024>
 3137 
 3138 2021-06-21 13:47:50 +0200  Yacine Bandou <yacine.bandou@softathome.com>
 3139 
 3140 	* gst/isomp4/qtdemux.c:
 3141 	  qtdemux: No need for new "application/x-cbcs" caps
 3142 	  Instead of using the new "application/x-cbcs" caps, we are just adding
 3143 	  a new structure field "ciphe-mode", to indicate which encryption scheme
 3144 	  is used: "cenc", "cbcs", "cbc1" or "cens".
 3145 	  Similarly for the protection metadata, we add the "cipher-mode" field
 3146 	  to specify the encryption mode with which the buffers are encrypted.
 3147 	  "cenc": AES-CTR (no pattern)
 3148 	  "cbc1": AES-CBC (no pattern)
 3149 	  "cens": AES-CTR (pattern specified)
 3150 	  "cbcs": AES-CBC (pattern specified, using a constant IV)
 3151 	  Currently only "cenc" and "cbcs" are supported.
 3152 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1013>
 3153 
 3154 2021-07-05 16:12:57 +0100  Philippe Normand <philn@igalia.com>
 3155 
 3156 	* ext/qt/qtitem.h:
 3157 	  qt: Fix clang build
 3158 	  The updatePaintNode method is part of the QQuickItem class interface, so needs
 3159 	  to be flagged as overriding the default implementation.
 3160 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567>
 3161 
 3162 2020-04-15 10:38:04 +0100  Philippe Normand <philn@igalia.com>
 3163 
 3164 	* ext/qt/gstqtsink.cc:
 3165 	* ext/qt/qtitem.cc:
 3166 	* ext/qt/qtitem.h:
 3167 	  qt: Add navigation events support
 3168 	  Currently handles only mouse events.
 3169 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567>
 3170 
 3171 2020-04-15 10:33:22 +0100  Philippe Normand <philn@igalia.com>
 3172 
 3173 	* ext/gtk/gtkgstbasewidget.c:
 3174 	  gtk: Scroll events dispatch support
 3175 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/567>
 3176 
 3177 2021-07-02 01:41:05 +1000  Jan Schmidt <jan@centricular.com>
 3178 
 3179 	* gst/matroska/matroska-mux.c:
 3180 	  matroskamux: Always write a tags element into seekhead
 3181 	  If there are only stream tags, we still want to write the
 3182 	  tags entry into the seekhead, so that tags can be found
 3183 	  quickly in the player.
 3184 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/905
 3185 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1020>
 3186 
 3187 2021-06-30 23:52:26 +0900  Seungha Yang <seungha@centricular.com>
 3188 
 3189 	* gst/isomp4/gstqtmux.c:
 3190 	  qtmux: Don't need to update track per GstCaps if it's not changed
 3191 	  Skip GstQTMuxPad::set_caps() call for duplicated caps.
 3192 	  All the processing done in set_caps() method for duplicated caps
 3193 	  are redundant.
 3194 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1019>
 3195 
 3196 2021-07-01 13:18:45 +0300  Sebastian Dröge <sebastian@centricular.com>
 3197 
 3198 	* gst/rtpmanager/gstrtpssrcdemux.c:
 3199 	  rtpssrcdemux: Remove pads and reset the element also in READY->NULL
 3200 	  Mostly for completeness.
 3201 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1018>
 3202 
 3203 2021-07-01 13:18:09 +0300  Sebastian Dröge <sebastian@centricular.com>
 3204 
 3205 	* gst/rtpmanager/gstrtpptdemux.c:
 3206 	  rtpptdemux: Remove pads also in PAUSED->READY
 3207 	  They're based on per-stream information and that should be reset
 3208 	  whenever going to READY state.
 3209 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1018>
 3210 
 3211 2021-02-16 16:39:34 +0100  Jakub Adam <jakub.adam@collabora.com>
 3212 
 3213 	* docs/gst_plugins_cache.json:
 3214 	  docs: update plugins cache for vp9enc
 3215 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
 3216 
 3217 2021-04-09 19:22:29 +0200  Jakub Adam <jakub.adam@collabora.com>
 3218 
 3219 	* ext/vpx/gstvp9enc.c:
 3220 	* ext/vpx/gstvp9enc.h:
 3221 	* ext/vpx/gstvpxenums.h:
 3222 	* ext/vpx/meson.build:
 3223 	  vpx: add enum for adaptive quantization modes
 3224 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
 3225 
 3226 2021-02-16 13:28:00 +0100  Jakub Adam <jakub.adam@collabora.com>
 3227 
 3228 	* ext/vpx/gstvp9enc.c:
 3229 	* ext/vpx/gstvp9enc.h:
 3230 	  vp9enc: expose frame-parallel-decoding property
 3231 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
 3232 
 3233 2021-02-16 12:57:55 +0100  Jakub Adam <jakub.adam@collabora.com>
 3234 
 3235 	* ext/vpx/gstvp9enc.c:
 3236 	* ext/vpx/gstvp9enc.h:
 3237 	  vp9enc: expose aq-mode property
 3238 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874>
 3239 
 3240 2021-06-26 20:00:03 +0900  Seungha Yang <seungha@centricular.com>
 3241 
 3242 	* gst/udp/gstmultiudpsink.c:
 3243 	  multiudpsink: Fix broken SO_SNDBUF get/set on Windows
 3244 	  SO_SNDBUF has been undefined on Windows because of missing WinSock2.h
 3245 	  include. And don't use native socket functions (e.g., setsockopt())
 3246 	  if code is expected to be built on Windows. We don't link ws2_32.lib
 3247 	  for this plugin.
 3248 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1016>
 3249 
 3250 2021-06-24 14:57:14 -0400  Olivier Crête <olivier.crete@collabora.com>
 3251 
 3252 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 3253 	  rtpmanager: Access GstRTPHdrExt fields through accessor
 3254 	  This way, the implementation can be private.
 3255 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1017>
 3256 
 3257 2021-06-22 17:19:19 +1000  Jan Schmidt <jan@centricular.com>
 3258 
 3259 	* gst/isomp4/qtdemux.c:
 3260 	  qtdemux: Refuse seeks in BYTES format
 3261 	  If downstream tries to seek in BYTES format, don't pass that through
 3262 	  to upstream. The byte positions downstream requests won't make any
 3263 	  sense in the muxed stream. There might be other formats we want to
 3264 	  pass through to upstream, but BYTES is not one of them. If we get a
 3265 	  seeking query about BYTES format, refuse that too.
 3266 	  This fixes a situation where we're playing a fragmented mp4 over http
 3267 	  and qtdemux refuses the initial seek (in TIME format), but then
 3268 	  h264parse/baseparse send a seek in BYTES format and everything falls
 3269 	  apart.
 3270 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1014>
 3271 
 3272 2021-06-16 16:30:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3273 
 3274 	* gst/rtp/gstrtph265depay.c:
 3275 	  rtph265depay: update codec_data in caps regardless of format
 3276 	  Updating of codec_data in the caps is important to propagate changes
 3277 	  in sps/pps/vps via NALs. Without this, downstream does not renegotiate
 3278 	  when upstream changes resolution.
 3279 	  The comment referring to rtph264pay is from 2015 and is out of date.
 3280 	  rtph264pay stopped doing that in 2017 with commit
 3281 	  dabeed52a995d27e16eba9e4617e61eb0bcd44c4
 3282 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1011>
 3283 
 3284 2021-06-04 13:56:05 +0300  Jordan Petridis <jordan@centricular.com>
 3285 
 3286 	* docs/gst_plugins_cache.json:
 3287 	  doc: update gst_plugins_cache.json
 3288 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1006>
 3289 
 3290 2021-06-03 20:33:45 +1000  Matthew Waters <matthew@centricular.com>
 3291 
 3292 	* ext/qt/qtitem.cc:
 3293 	  qtitem: don't potentially leak a large number of buffers
 3294 	  The only other place where these queued buffers are removed, is in
 3295 	  setCaps() but that is not called at all on shutdown so this list of
 3296 	  buffers could not be removed.
 3297 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1004>
 3298 
 3299 2021-05-28 09:54:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3300 
 3301 	* docs/gst_plugins_cache.json:
 3302 	* ext/jpeg/gstjpegenc.c:
 3303 	  jpegenc: Remove arbitrary encoding size limitation
 3304 	  The encoder is happy to encode with sizes less then 16x16, so remove this
 3305 	  arbitrary limitation. This also fixes the fact the sink and src template caps
 3306 	  disagree.
 3307 	  Fixes #888
 3308 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/998>
 3309 
 3310 2021-05-23 15:42:38 +0100  Tim-Philipp Müller <tim@centricular.com>
 3311 
 3312 	* gst/isomp4/qtdemux.c:
 3313 	  qtdemux: use g_memdup2() as g_memdup() is deprecated
 3314 	  - atom nodes/bytereader sizes are already checked
 3315 	  - palettes: are fixed/known size
 3316 	  g_memdup() is deprecated since GLib 2.68 and we want to avoid
 3317 	  deprecation warnings with recent versions of GLib.
 3318 	  Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..).
 3319 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
 3320 
 3321 2021-05-23 01:28:11 +0100  Tim-Philipp Müller <tim@centricular.com>
 3322 
 3323 	* gst/matroska/ebml-read.c:
 3324 	* gst/matroska/matroska-demux.c:
 3325 	* gst/matroska/matroska-ids.c:
 3326 	* gst/matroska/matroska-read-common.c:
 3327 	  matroskademux: use g_memdup2() as g_memdup() is deprecated
 3328 	  - ebml-read: add some sanity checks when going from 64-bit
 3329 	  to 32-bit length
 3330 	  - matroska-ids: codec_data_size has been checked via
 3331 	  gst_ebml_read_binary(), is existing allocation.
 3332 	  - matroska-demux: alloc size is from existing allocations
 3333 	  g_memdup() is deprecated since GLib 2.68 and we want to avoid
 3334 	  deprecation warnings with recent versions of GLib.
 3335 	  Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..).
 3336 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
 3337 
 3338 2021-05-22 19:39:32 +0100  Tim-Philipp Müller <tim@centricular.com>
 3339 
 3340 	* ext/libpng/gstpngdec.c:
 3341 	* ext/vpx/gstvpxenc.c:
 3342 	* ext/wavpack/gstwavpackenc.c:
 3343 	* meson.build:
 3344 	* tests/check/elements/rtp-payloading.c:
 3345 	* tests/check/elements/rtph264.c:
 3346 	* tests/check/elements/rtph265.c:
 3347 	* tests/check/elements/rtpopus.c:
 3348 	* tests/check/elements/rtpvp8.c:
 3349 	* tests/check/elements/rtpvp9.c:
 3350 	* tests/icles/gdkpixbufoverlay-test.c:
 3351 	  Use g_memdup2() where available and add fallback for older GLib versions
 3352 	  - png: alloc size variable is a png type that's always 32-bit
 3353 	  - vpx: alloc size based on existing allocation
 3354 	  - wavpack: alloc size based on existing allocation
 3355 	  - icles: gdkpixbufoverlay: trusted and hard-coded input data
 3356 	  - rtp tests: rtp-payloading, vp8, vp9, h264, h265: trusted and/or static input data
 3357 	  g_memdup() is deprecated since GLib 2.68 and we want to avoid
 3358 	  deprecation warnings with recent versions of GLib.
 3359 	  Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..)
 3360 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
 3361 
 3362 2021-06-01 15:28:36 +0100  Tim-Philipp Müller <tim@centricular.com>
 3363 
 3364 	* docs/gst_plugins_cache.json:
 3365 	* meson.build:
 3366 	  Back to development
 3367 
 3368 === release 1.19.1 ===
 3369 
 3370 2021-06-01 00:11:44 +0100  Tim-Philipp Müller <tim@centricular.com>
 3371 
 3372 	* ChangeLog:
 3373 	* NEWS:
 3374 	* README:
 3375 	* RELEASE:
 3376 	* docs/gst_plugins_cache.json:
 3377 	* gst-plugins-good.doap:
 3378 	* meson.build:
 3379 	  Release 1.19.1
 3380 
 3381 2021-05-29 12:54:22 +0100  Tim-Philipp Müller <tim@centricular.com>
 3382 
 3383 	* gst/rtp/gstrtpjpegpay.c:
 3384 	  rtpjpegpay: fix image corruption when compiled with MSVC on Windows
 3385 	  On Windows with MSVC, jpeg_header_size would end up 2 bytes larger
 3386 	  than it should be. This then leads to the first 2 bytes of the
 3387 	  actual jpeg image data to be dropped, because we think those
 3388 	  belong to the header, which results in an undecodable image when
 3389 	  reconstructed in the depayloader.
 3390 	  What happens is that when the compiler evaluates
 3391 	  jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem);
 3392 	  it actually uses the mem.offset value after it has been increased
 3393 	  by the function call on the right hand size of the equation.
 3394 	  From section 6.5 of the C99 spec:
 3395 	  3. The grouping of operators and operands is indicated by the syntax [74].
 3396 	  Except as specified later (for the function-call (), &&, ||, ?:, and
 3397 	  comma operators), the order of evaluation of subexpressions and the
 3398 	  order in which side effects take place are both unspecified.
 3399 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/889
 3400 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/999>
 3401 
 3402 2021-05-25 16:19:20 +0800  Hou Qi <qi.hou@nxp.com>
 3403 
 3404 	* sys/v4l2/gstv4l2videoenc.c:
 3405 	  v4l2videoenc: Set default latency if the frame duration is invalid
 3406 	  If the duration of the v4l2object is invalid, use default 25fps instead.
 3407 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/996>
 3408 
 3409 2021-05-26 00:23:56 +0900  Seungha Yang <seungha@centricular.com>
 3410 
 3411 	* gst/deinterlace/gstdeinterlace.c:
 3412 	  deinterlace: Drop "field-order" field while transforming caps
 3413 	  Like other basetransform subclasses are doing, drop field
 3414 	  which can be converted by deinterlace.
 3415 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/997>
 3416 
 3417 2021-05-25 20:10:34 +0900  Seungha Yang <seungha@centricular.com>
 3418 
 3419 	* gst/deinterlace/gstdeinterlace.c:
 3420 	  deinterlace: Drop field-order field if outputting progressive
 3421 	  Progressive with field-order doesn't make sense
 3422 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/997>
 3423 
 3424 2021-05-21 14:19:29 +0200  Havard Graff <havard@pexip.com>
 3425 
 3426 	* gst/rtpmanager/gstrtpssrcdemux.c:
 3427 	* tests/check/elements/rtpssrcdemux.c:
 3428 	  rtpssrcdemux: fix "data flow before segment event" crash
 3429 	  This crash could happen at any time a RTP and RTCP buffer arrived
 3430 	  simultaneously in ssrcdemux.
 3431 	  The problem was that sticky-event arriving while the rtp and rtcp pads
 3432 	  were being set up could arrive just too late to be included in the initial
 3433 	  forwarding.
 3434 	  The fix checks if the stickies have been sent on the srcpad about to be
 3435 	  pushed on, and if not sends them. It also blocks any stickes from
 3436 	  being forwarded *prior* to this happening, to avoid them arriving on
 3437 	  the srcpad multiple times.
 3438 	  Since the test loops 1000 times, this will make running under valgrind
 3439 	  take forever, so use the RUNNING_ON_VALGRIND variable to detect we
 3440 	  are running under valgrind, and reduce the loop-count to 2 in that case.
 3441 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/992>
 3442 
 3443 2021-05-21 18:45:17 +0200  Havard Graff <havard@pexip.com>
 3444 
 3445 	* gst/rtpmanager/gstrtpssrcdemux.c:
 3446 	  rtpssrcdemux: refactor destruction of GstRtpSsrcDemuxPads
 3447 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/992>
 3448 
 3449 2021-05-21 18:30:28 +0200  Havard Graff <havard@pexip.com>
 3450 
 3451 	* gst/rtpmanager/gstrtpssrcdemux.c:
 3452 	* gst/rtpmanager/gstrtpssrcdemux.h:
 3453 	  rtpssrcdemux: make naming consistent
 3454 	  Use plural for GstRtpSsrcDemuxPads, since it contains two pads, and
 3455 	  use the variable-name 'dpads' everywhere.
 3456 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/992>
 3457 
 3458 2021-05-23 15:14:11 +0100  Tim-Philipp Müller <tim@centricular.com>
 3459 
 3460 	* gst/wavparse/gstwavparse.c:
 3461 	  wavparse: use g_strndup() for copying text data
 3462 	  So we don't rely on NUL terminators inside the data.
 3463 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/994>
 3464 
 3465 2021-05-23 13:29:07 +0100  Tim-Philipp Müller <tim@centricular.com>
 3466 
 3467 	* gst/wavparse/gstwavparse.c:
 3468 	  wavparse: clean up adtl/note/labl chunk parsing
 3469 	  We were passing the size of the adtl chunk to the note/labl
 3470 	  sub-chunk parsing function, which means we may memdup lots of
 3471 	  data after the chunk string's NUL terminator that doesn't
 3472 	  really belong to it.
 3473 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/994>
 3474 
 3475 2021-05-23 13:24:21 +0100  Tim-Philipp Müller <tim@centricular.com>
 3476 
 3477 	* gst/wavparse/gstwavparse.c:
 3478 	  wavparse: guard against overflow when comparing chunk sizes
 3479 	  Could be rewritten as lsize > (size - 8) a well, but the
 3480 	  extra check seems clearer. Doesn't look like it was problematic,
 3481 	  lsize wasn't actually used when parsing the sub-chunks.
 3482 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/994>
 3483 
 3484 2021-05-21 13:31:12 -0300  Daniel Almeida <daniel.almeida@collabora.com>
 3485 
 3486 	* docs/gst_plugins_cache.json:
 3487 	  doc: update gst_plugins_cache.json
 3488 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/991>
 3489 
 3490 2021-05-05 13:20:04 +0200  Stéphane Cerveau <scerveau@collabora.com>
 3491 
 3492 	* gst/matroska/matroska-demux.c:
 3493 	  matroskademux: fix decoder glitches with H264 content
 3494 	  To avoid decoder starvation causing glitches on screen,
 3495 	  the demuxer shall clip only when the buffer is a key frame
 3496 	  and the lace time is greater than the stop time.
 3497 	  Fixes gst-editing-services#128
 3498 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/973>
 3499 
 3500 2021-05-11 20:41:38 +1000  Matthew Waters <matthew@centricular.com>
 3501 
 3502 	* ext/qt/gstqtoverlay.cc:
 3503 	  qml: don't use buffers that have invalid contents
 3504 	  If the GL context is not shareable, ignore it.
 3505 	  A future change may also not output the relevant output either.
 3506 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/983>
 3507 
 3508 2021-05-11 20:38:52 +1000  Matthew Waters <matthew@centricular.com>
 3509 
 3510 	* ext/qt/gstqsgtexture.cc:
 3511 	  qml: also use the dummy texture when no buffer has been set
 3512 	  Fixes corrupted texture output when changing OpenGL display/contexts.
 3513 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/983>
 3514 
 3515 2021-05-11 17:20:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3516 
 3517 	* docs/gst_plugins_cache.json:
 3518 	  doc: Update cache for RGBP format addition
 3519 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/968>
 3520 
 3521 2021-04-23 14:37:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3522 
 3523 	* gst/matroska/matroska-demux.c:
 3524 	* gst/matroska/matroska-ids.c:
 3525 	* gst/matroska/matroska-ids.h:
 3526 	  matroskademux: Advertise codec-alpha in caps
 3527 	  This will be used to select the appropriate decoders. We also only attach the
 3528 	  GstVideoCodecAlphaMeta if the AlphaMode element is set, this is to stay on the
 3529 	  safe side and mimic what browsers (verified in Firefox and Chromium code) do.
 3530 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/968>
 3531 
 3532 2021-03-22 16:58:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3533 
 3534 	* gst/matroska/matroska-demux.c:
 3535 	  matroskademux: Store alpha stream in VideoCodecAlphaMeta
 3536 	  This generalize the feature over using mini object quark data. If
 3537 	  that feature was Matroska specifc, using the new CustomMeta would have
 3538 	  been enough and arguably cleaner then QData, though it seems that
 3539 	  similar technique is use with AV1 Image Format (AVIF).
 3540 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/968>
 3541 
 3542 2016-12-03 14:27:57 +0000  Tim-Philipp Müller <tim@centricular.com>
 3543 
 3544 	* gst/matroska/matroska-demux.c:
 3545 	  matroska-demux: extract VP8 alpha from BlockAdditionals
 3546 	  And put it on buffers as qdata (which is easier in this
 3547 	  case than a private custom meta because it can be picked
 3548 	  up easily in other modules).
 3549 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/968>
 3550 
 3551 2021-05-03 17:39:05 +1000  Matthew Waters <matthew@centricular.com>
 3552 
 3553 	* ext/qt/gstqtglutility.cc:
 3554 	* ext/qt/gstqtglutility.h:
 3555 	* ext/qt/gstqtoverlay.cc:
 3556 	* ext/qt/qtitem.cc:
 3557 	* ext/qt/qtwindow.cc:
 3558 	  qt: return a different GstGLDisplay object when the first sink requests
 3559 	  This allows the 'replace-gstreamer-opengl-context' context machinery to
 3560 	  correctly replace the OpenGL context used by the pipeline when the first
 3561 	  qmlglsink is added to the pipeline.
 3562 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/982>
 3563 
 3564 2021-05-07 11:16:47 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 3565 
 3566 	* gst/udp/gstudpsrc.c:
 3567 	  udpsrc: Plug leaks of saddr in error cases
 3568 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/977>
 3569 
 3570 2021-05-07 11:16:21 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 3571 
 3572 	* gst/udp/gstudpsrc.c:
 3573 	  udpsrc: Whitespace
 3574 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/977>
 3575 
 3576 2021-05-07 00:43:44 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 3577 
 3578 	* gst/deinterlace/gstdeinterlace.c:
 3579 	  deinterlace: Plug a method subobject leak
 3580 	  Changing the method would leak the previous method.
 3581 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/976>
 3582 
 3583 2021-05-06 15:04:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3584 
 3585 	* ext/vpx/gstvp9enc.c:
 3586 	  vp9enc: Add color range support
 3587 	  When setting the colorspace, we now clear the range to reduced range,
 3588 	  the default, and then we also set the range so the VP9 encoder encodes
 3589 	  the right information in the bitstream.
 3590 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/975>
 3591 
 3592 2021-05-06 14:51:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3593 
 3594 	* ext/vpx/gstvp9enc.c:
 3595 	* ext/vpx/gstvpxenc.c:
 3596 	  vp9enc: Move colorspace configuration in VP9 enc
 3597 	  This is not supported by VP8 and was causing a warning.
 3598 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/975>
 3599 
 3600 2021-05-06 14:48:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 3601 
 3602 	* ext/vpx/gstvp9enc.c:
 3603 	* ext/vpx/gstvpxenc.c:
 3604 	* ext/vpx/gstvpxenc.h:
 3605 	  vpxdenc: Add a GstVideoCodecState to configure_encoder virtual
 3606 	  This will be needed to configure the VP9 specific colorimetry, which is
 3607 	  currently configured for VP8 casing warning.
 3608 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/975>
 3609 
 3610 2021-05-05 16:48:10 +0200  Bastien Nocera <hadess@hadess.net>
 3611 
 3612 	* ext/gtk/gtkgstbasewidget.c:
 3613 	  gtk: Remove coordinates double-translation
 3614 	  Remove our own translation in the mouse event capture code, as that
 3615 	  translation will be done through the navigation interface.
 3616 	  Tested by resizing the window created by:
 3617 	  gst-launch-1.0 -v videotestsrc ! navigationtest ! glupload ! glcolorconvert ! tee name=t  ! gtkglsink
 3618 	  and checking that the cursor follows the mouse as expected.
 3619 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974>
 3620 
 3621 2021-05-05 14:28:15 +0200  Bastien Nocera <hadess@hadess.net>
 3622 
 3623 	* ext/gtk/gstgtkbasesink.c:
 3624 	  gtk: Translate navigation events coordinates
 3625 	  If the application passed down some pointer coordinates, translate those
 3626 	  from display coordinates to stream coordinates, so things work as
 3627 	  expected even if the video is resized.
 3628 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974>
 3629 
 3630 2021-05-05 14:24:31 +0200  Bastien Nocera <hadess@hadess.net>
 3631 
 3632 	* ext/gtk/gtkgstbasewidget.c:
 3633 	* ext/gtk/gtkgstbasewidget.h:
 3634 	  gtk: Export _display_size_to_stream_size()
 3635 	  Export _display_size_to_stream_size() so that GstNavigation implementors
 3636 	  can translate from display coordinates to stream coordinates before
 3637 	  pushing the events upstream to the DVD source, for example.
 3638 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/974>
 3639 
 3640 2018-02-26 17:26:41 +0100  David Fernandez <d.fernandezlop@gmail.com>
 3641 
 3642 	* docs/gst_plugins_cache.json:
 3643 	* gst/matroska/matroska-mux.c:
 3644 	  matroska-mux: Change accepted caps width and height from [16, MAX] to [1, MAX]
 3645 	  There are cases where the video size might be less than 16x16.
 3646 	  This change allows the Matroska muxer to accept this cases.
 3647 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/539>
 3648 
 3649 2021-04-20 22:08:23 +0200  François Laignel <fengalin@free.fr>
 3650 
 3651 	* gst/multifile/gstsplitmuxsink.c:
 3652 	* gst/rtpmanager/gstrtpbin.c:
 3653 	* gst/rtsp/gstrtspsrc.c:
 3654 	* tests/check/elements/avimux.c:
 3655 	* tests/check/elements/flvmux.c:
 3656 	* tests/check/elements/interleave.c:
 3657 	* tests/check/elements/qtmux.c:
 3658 	* tests/check/elements/rtpbin.c:
 3659 	* tests/check/elements/rtpcollision.c:
 3660 	* tests/check/elements/rtpmux.c:
 3661 	* tests/check/elements/splitmuxsink.c:
 3662 	* tests/check/elements/videomixer.c:
 3663 	* tests/examples/rtp/client-PCMA.c:
 3664 	* tests/examples/rtp/server-alsasrc-PCMA.c:
 3665 	  Use gst_element_request_pad_simple
 3666 	  Instead of the deprecated gst_element_get_request_pad.
 3667 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/958>
 3668 
 3669 2021-04-30 08:12:47 +1000  Jan Schmidt <jan@centricular.com>
 3670 
 3671 	* gst/isomp4/atoms.c:
 3672 	* gst/isomp4/atoms.h:
 3673 	  qtmux: Make sure to write 64-bit STCO table when needed.
 3674 	  qtmux attempts to choose between writing a 32-bit stco chunk offset table
 3675 	  when it can, but switch to a 64-bit co64 table when file offsets go over
 3676 	  4GB.
 3677 	  This patch fixes a problem where the atom handling code was checking
 3678 	  mdat-relative offsets instead of the final file offset (computed by
 3679 	  adding the mdat position plus the mdat-relative offset) - leading to
 3680 	  problems where files with a size between 4GB and 4GB+offset-of-the-mdat
 3681 	  would write incorrect STCO tables with some samples having truncated
 3682 	  32-bit offsets.
 3683 	  Smaller files write STCO correctly, larger files would switch to
 3684 	  co64 and also output correctly.
 3685 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/970>
 3686 
 3687 2021-04-22 15:01:32 +0800  Hou Qi <qi.hou@nxp.com>
 3688 
 3689 	* sys/v4l2/gstv4l2object.c:
 3690 	  v4l2object: Add interlace-mode back to caps for camera
 3691 	  skip_try_fmt_probes is set to TRUE for v4l2src to skip interlace-mode and
 3692 	  colorimetry when probe caps. gst_v4l2_object_set_format_full() will add
 3693 	  colorimetry back to caps when iterating over the negotiated caps. There is
 3694 	  one case that v4l2src is first in preview state then starts recording.
 3695 	  v4l2src caps will change with an additional interlace-mode structure after
 3696 	  renegotiation, then v4l2src needs to reset. But this camera driver can't
 3697 	  orphan buffer pool, it causes require buffer failed as streaming is still
 3698 	  in active state.
 3699 	  To fix this, also need to add interlace-mode back to caps for camera to
 3700 	  avoid reset.
 3701 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/961>
 3702 
 3703 2021-04-02 18:41:28 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 3704 
 3705 	* gst/rtp/gstrtpopuspay.c:
 3706 	* gst/rtp/gstrtpopuspay.h:
 3707 	* tests/check/elements/rtp-payloading.c:
 3708 	  rtpopuspay: set MARKER flag
 3709 	  Set MARKER flag on first buffer after DTX.
 3710 	  According to RFC 3551 section 4.1 the marker bit needs to be set on
 3711 	  "the first packet after a silence period during which packets have
 3712 	  not been transmitted contiguously".
 3713 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/967>
 3714 
 3715 2021-03-31 11:18:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 3716 
 3717 	* docs/gst_plugins_cache.json:
 3718 	* gst/rtp/gstrtpopuspay.c:
 3719 	* gst/rtp/gstrtpopuspay.h:
 3720 	* tests/check/elements/rtp-payloading.c:
 3721 	  rtpopuspay: add DTX support
 3722 	  If enabled, the payloader won't transmit empty frames.
 3723 	  Can be tested using:
 3724 	  opusenc dtx=true bitrate-type=vbr ! rtpopuspay dtx=true
 3725 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/967>
 3726 
 3727 2021-04-24 11:15:50 -0400  Doug Nazar <nazard@nazar.ca>
 3728 
 3729 	* ext/taglib/gstid3v2mux.cc:
 3730 	  taglib: Update createFrame() to non-deprecated version.
 3731 	  ID3v2::FrameFactory::createFrame() versions not taking a Header have
 3732 	  been deprecated since v1.5 (Jan 2008).
 3733 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/965>
 3734 
 3735 2021-04-25 02:16:45 +0200  Havard Graff <havard@pexip.com>
 3736 
 3737 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 3738 	* tests/check/elements/rtpjitterbuffer.c:
 3739 	  rtpjitterbuffer: fix divide-by-zero
 3740 	  The estimated packet-duration can sometimes end up as zero, and dividing
 3741 	  by that is never a good idea...
 3742 	  The test reproduces the scenario, and the fix is easy.
 3743 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/966>
 3744 
 3745 2020-06-02 19:38:33 +0200  Havard Graff <havard@pexip.com>
 3746 
 3747 	  rtpjitterbuffer: clean up and improve missing packets handling
 3748 	  * Try to make variable and function names more clear.
 3749 	  * Add plenty of comments describing the logic step-by-step.
 3750 	  * Improve the logging around this, making the logs easier to read and
 3751 	  understand when debugging these issues.
 3752 	  * Revise the logic of packets that are actually beyond saving in doing
 3753 	  the following:
 3754 	  1. Do an optimistic estimation of which packets can still arrive.
 3755 	  2. Based on this, find which packets (and duration) are now hopelessly
 3756 	  lost.
 3757 	  3. Issue an immediate lost-event for the hopelessly lost and then add
 3758 	  lost/rtx timers for the ones we still hope to save, meaning that if
 3759 	  they are to arrive, they will not be discarded.
 3760 	  * Revise the use of rtx-delay:
 3761 	  Earlier the rtx-delay would vary, depending on the pts of the latest
 3762 	  packet and the estimated pts of the packet it being issued a RTX for,
 3763 	  but now that we aim to estimate the PTS of the missing packet accurately,
 3764 	  the RTX delay should remain the same for all packets.
 3765 	  Meaning: If the packet have a PTS of X, the delay in asked for a RTX
 3766 	  for this packet is always a constant X + delay, not a variable one.
 3767 	  * Finally ensure that the chaotic "check-for-stall" tests uses timestamps
 3768 	  that starts from 0 to make them easier to debug.
 3769 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/952>
 3770 
 3771 2021-04-23 12:07:52 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 3772 
 3773 	* gst/level/gstlevel.c:
 3774 	* gst/level/gstlevel.h:
 3775 	  level: make properties thread-safe
 3776 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/962>
 3777 
 3778 2021-04-22 14:11:09 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 3779 
 3780 	* gst/level/gstlevel.c:
 3781 	  level: disable passthrough when audio-level-meta is enabled
 3782 	  Ensure we receive a writable buffer to add the meta.
 3783 	  Fix #878
 3784 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/962>
 3785 
 3786 2021-04-23 08:28:06 +0300  Sebastian Dröge <sebastian@centricular.com>
 3787 
 3788 	* gst/matroska/matroska-mux.c:
 3789 	  matroskamux: Don't pass a non-GObject pointer to GST_DEBUG_OBJECT and similar
 3790 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/964>
 3791 
 3792 2021-04-22 08:57:23 +0200  Edward Hervey <edward@centricular.com>
 3793 
 3794 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 3795 	  rtpjitterbuffer: Avoid generation of invalid timestamps
 3796 	  When updating timestamps and timer timeouts with a new offset, make sure that
 3797 	  the resulting value is valid (and not a negative (signed) value which ends up in
 3798 	  a massive (unsigned) value).
 3799 	  Fixes #571
 3800 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/960>
 3801 
 3802 2021-04-21 18:41:08 +0100  Philippe Normand <philn@igalia.com>
 3803 
 3804 	* sys/v4l2/v4l2_calls.c:
 3805 	  v4l2: Fix glib warning emitted when attribute query fails
 3806 	  The v4l2object is not a GstObject. Logging has to go through its dbg_obj
 3807 	  specially meant for this.
 3808 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/959>
 3809 
 3810 2021-03-25 13:20:38 +0100  VaL Doroshchuk <valentyn.doroshchuk@qt.io>
 3811 
 3812 	* ext/qt/gstqtoverlay.cc:
 3813 	* tests/examples/qt/qmloverlay/overlay.py:
 3814 	  qmloverlay: Use first found GstGLVideoItem as widget property
 3815 	  GstGLVideoItem is required to render input video in the overlay's qml.
 3816 	  And currently qmlgloverlay requires to set this GstGLVideoItem to its widget property.
 3817 	  Instead of fetching GstGLVideoItem from the overlay's root object (root-item prop),
 3818 	  and setting it back as a widget (widget prop),
 3819 	  proposing to use found GstGLVideoItem in the current object hierarchy (passed in qml-scene) by default.
 3820 	  Also useful in Python, which solves the issue when casting gpointer <=> QQuickItem* is required.
 3821 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/919>
 3822 
 3823 2021-04-19 16:39:03 +0100  Tim-Philipp Müller <tim@centricular.com>
 3824 
 3825 	* sys/v4l2/gstv4l2.c:
 3826 	  v4l2: fix debug category initialisation again
 3827 	  Would spew warnings on the rpi4 when calling into
 3828 	  gst_v4l2_object_get_codec_caps() from the probe_and_register()
 3829 	  function since the v4l2_debug category initialisation would
 3830 	  only be done later as part of the element/device provider
 3831 	  registration.
 3832 	  Also log things in the probe function to the v4l2 category
 3833 	  instead of the default category while we're at it.
 3834 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/956>
 3835 
 3836 2021-04-19 01:29:33 -0400  Doug Nazar <nazard@nazar.ca>
 3837 
 3838 	* gst/rtsp/gstrtspsrc.c:
 3839 	  rtspsrc: Fix race saving seek event seqnum.
 3840 	  We need to save the seek seqnum before the flush stop event
 3841 	  since that will start the basesrc task which may send the segment
 3842 	  event before we're ready.
 3843 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/954>
 3844 
 3845 2021-03-31 10:52:14 +0200  Marco Felsch <m.felsch@pengutronix.de>
 3846 
 3847 	* ext/qt/qtitem.cc:
 3848 	* ext/qt/qtitem.h:
 3849 	  qmlglsink: allow to set force-aspect-ratio property
 3850 	  Add the forceAspectRatio Q_PROPERTY to allow changing the aspect ratio
 3851 	  from QML code as well.
 3852 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/937>
 3853 
 3854 2021-04-19 11:14:00 +0100  Tim-Philipp Müller <tim@centricular.com>
 3855 
 3856 	* sys/v4l2/v4l2_calls.c:
 3857 	  v4l2src: fix spurious SOURCE_CHANGED error-level log messages
 3858 	  They're harmless, and some drivers at least return EINVAL
 3859 	  instead of ENOTTY for unsupported events (here: uvcvideo).
 3860 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/955>
 3861 
 3862 2021-04-14 16:32:06 -0400  Doug Nazar <nazard@nazar.ca>
 3863 
 3864 	* gst/rtp/gstrtpsbcpay.c:
 3865 	  rtpsbcpay: remove use of packed struct for payload
 3866 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/950>
 3867 
 3868 2021-04-14 11:13:45 -0400  Doug Nazar <nazard@nazar.ca>
 3869 
 3870 	* gst/dtmf/gstdtmfcommon.h:
 3871 	* gst/dtmf/gstrtpdtmfdepay.c:
 3872 	* gst/dtmf/gstrtpdtmfsrc.c:
 3873 	  dtmf: convert to bit accessors
 3874 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/949>
 3875 
 3876 2021-04-13 09:23:12 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3877 
 3878 	* gst/rtsp/gstrtspsrc.c:
 3879 	  rtspsrc: Remove some dead code
 3880 	  stop is not used after this point, nor do we create a new segment
 3881 	  here since 84725d62b57bc74ce34abde755f35bf8f948f94d
 3882 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/940>
 3883 
 3884 2021-04-10 02:53:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3885 
 3886 	* gst/rtsp/gstrtspsrc.c:
 3887 	  rtspsrc: Do not overwrite the known duration after a seek
 3888 	  This breaks the duration query and also the seeking query.
 3889 	  Broke in 5f1a732bc7b76a6f1b8aa5f26b6e76fbca0261c7
 3890 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/940>
 3891 
 3892 2021-04-10 04:40:46 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3893 
 3894 	* gst/rtsp/gstrtspsrc.c:
 3895 	  rtspsrc: Just assign the segment instead of memcpy
 3896 	  Assignments copy by value, we don't need to memcpy...
 3897 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/940>
 3898 
 3899 2021-04-13 11:30:51 +0300  Sebastian Dröge <sebastian@centricular.com>
 3900 
 3901 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 3902 	  rtpjitterbuffer: Check srcresult before waiting on the condition variable too
 3903 	  It might've been set to FLUSHING between the last check and the waiting,
 3904 	  and in that case we'd be waiting here forever now.
 3905 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/944>
 3906 
 3907 2021-04-12 23:15:17 -0400  Doug Nazar <nazard@nazar.ca>
 3908 
 3909 	* tests/check/elements/rtpsession.c:
 3910 	  rtp: fix test_twcc_header_and_run to support big endian.
 3911 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942>
 3912 
 3913 2021-04-12 23:13:15 -0400  Doug Nazar <nazard@nazar.ca>
 3914 
 3915 	* gst/rtpmanager/rtptwcc.c:
 3916 	  rtp: fix rtptwcc to support big endian.
 3917 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942>
 3918 
 3919 2021-04-12 21:59:45 -0400  Doug Nazar <nazard@nazar.ca>
 3920 
 3921 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 3922 	  rtp: fix rtphdrextrfc6464 to support big endian.
 3923 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942>
 3924 
 3925 2021-04-12 21:36:58 -0400  Doug Nazar <nazard@nazar.ca>
 3926 
 3927 	* tests/check/elements/alpha.c:
 3928 	  tests: Fix alpha test on big endian machines.
 3929 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/943>
 3930 
 3931 2021-03-19 02:51:20 +1100  Jan Schmidt <jan@centricular.com>
 3932 
 3933 	* gst/isomp4/gstqtmux.c:
 3934 	* gst/isomp4/gstqtmux.h:
 3935 	  qtmux: Protect against writing absurd sample durations
 3936 	  If the input DTS goes backward or is missing, the calculated
 3937 	  sample duration goes negative and wraps around to a very big
 3938 	  number. In that case, just write a sample with a duration of
 3939 	  0 and hope the problem is transient.
 3940 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/914>
 3941 
 3942 2021-04-10 03:09:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3943 
 3944 	* gst/rtsp/gstrtspsrc.c:
 3945 	  rtspsrc: De-dup seek event seqnums to avoid multiple seeks
 3946 	  Seek events are sent upstream on each sink, so if we receive multiple
 3947 	  seeks with the same seqnum, we must only perform one seek, not N seeks
 3948 	  where N = the number of sinks in the pipeline connected to rtspsrc.
 3949 	  This is the same thing done by demuxers like qtdemux or matrsokademux.
 3950 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/938>
 3951 
 3952 2021-04-10 01:55:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3953 
 3954 	* gst/rtsp/gstrtspsrc.c:
 3955 	  rtspsrc: Using multicast UDP has no relation to seekability
 3956 	  The transport has no relation to whether a media can be seeked. The
 3957 	  range response having a duration is the correct thing to check for.
 3958 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/939>
 3959 
 3960 2021-04-10 01:54:48 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 3961 
 3962 	* gst/rtsp/gstrtspsrc.c:
 3963 	  rtspsrc: Add more logging for range parsing and seekable
 3964 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/939>
 3965 
 3966 2021-04-10 14:47:23 +0300  Sebastian Dröge <sebastian@centricular.com>
 3967 
 3968 	* docs/gst_plugins_cache.json:
 3969 	  videocrop: Update documentation cache
 3970 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
 3971 
 3972 2021-04-07 21:57:11 +0200  Markus Ebner <info@ebner-markus.de>
 3973 
 3974 	* gst/videocrop/gstvideocrop-private.h:
 3975 	* gst/videocrop/gstvideocrop.c:
 3976 	* gst/videocrop/gstvideocrop.h:
 3977 	  videocrop: Add support for GBR* video formats
 3978 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
 3979 
 3980 2021-04-07 18:54:49 +0200  Markus Ebner <info@ebner-markus.de>
 3981 
 3982 	* gst/videocrop/gstvideocrop-private.h:
 3983 	* gst/videocrop/gstvideocrop.c:
 3984 	* gst/videocrop/gstvideocrop.h:
 3985 	  videocrop: Added support for planar pixel formats > 8bits
 3986 	  - Added support for planar pixel formats with depths greater than 8bits
 3987 	  to transform_planar implementation
 3988 	  - Added a whole lot of new pixel formats to the support-list
 3989 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
 3990 
 3991 2021-04-07 17:52:34 +0200  Markus Ebner <info@ebner-markus.de>
 3992 
 3993 	* gst/videocrop/gstaspectratiocrop.c:
 3994 	* gst/videocrop/gstvideocrop-private.h:
 3995 	* gst/videocrop/gstvideocrop.c:
 3996 	  videocrop: Move supported format list into private header
 3997 	  - Moved declaration of supported pixel formats to private header, which
 3998 	  can be shared between videocrop and aspectvideocrop
 3999 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
 4000 
 4001 2021-04-06 17:02:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 4002 
 4003 	* gst/rtpmanager/rtpjitterbuffer.c:
 4004 	  rtpjitterbuffer: More logging when calculating rfc7273 timestamps
 4005 	  This code can be fragile, since it is very exacting in the timestamps
 4006 	  that it will accept. Add more logging so it's easier to debug issues
 4007 	  and figure out whether it's a bug in the calculation or something
 4008 	  wrong in the incoming buffers.
 4009 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/934>
 4010 
 4011 2021-04-08 13:29:10 +0200  Stéphane Cerveau <scerveau@collabora.com>
 4012 
 4013 	* gst/rtp/gstrtph264depay.c:
 4014 	* gst/rtp/gstrtph265depay.c:
 4015 	* gst/rtp/gstrtpsv3vdepay.c:
 4016 	  rtp: missing debug init after element splitting
 4017 	  - h264depay
 4018 	  - h265depay
 4019 	  - sv3vdepay
 4020 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/936>
 4021 
 4022 2020-03-30 09:29:07 +0200  Michal Dzik <michal.dzik@streamunlimited.com>
 4023 
 4024 	* gst/rtp/gstrtpsbcpay.c:
 4025 	  rtp: rename gst_rtp_sbc_pay_flush_buffers()
 4026 	  gst_rtp_sbc_pay_flush_buffers() is a misleading name. A better name would
 4027 	  be gst_rtp_sbc_pay_drain_buffers(), because that's what it does, it drains
 4028 	  any leftover queued data and pushes it downstream. "Flushing" in GStreamer
 4029 	  typically means to throw away any queued data and not process/push it
 4030 	  downstream.
 4031 	  Signed-off-by: Michal Dzik <michal.dzik@streamunlimited.com>
 4032 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/700>
 4033 
 4034 2020-03-24 13:31:00 +0100  Michal Dzik <michal.dzik@streamunlimited.com>
 4035 
 4036 	* gst/rtp/gstrtpsbcpay.c:
 4037 	  rtp: fix adapter flushing in sbc payloader
 4038 	  GstAdapter must be flushed in some cases (flush, new segment, state change)
 4039 	  Without it, it may, for example, push some leftover buffer from old
 4040 	  segment in new segment. This, in general, breaks timestamps.
 4041 	  See GstAdapter documentation for more.
 4042 	  Signed-off-by: Michal Dzik <michal.dzik@streamunlimited.com>
 4043 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/700>
 4044 
 4045 2020-08-18 20:16:06 +0200  Jakub Adam <jakub.adam@collabora.com>
 4046 
 4047 	* ext/vpx/gstvpxenc.c:
 4048 	  vpxenc: add colorspace information into VP9 bitstream
 4049 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/871>
 4050 
 4051 2021-03-26 16:26:22 +0800  Hou Qi <qi.hou@nxp.com>
 4052 
 4053 	* sys/v4l2/gstv4l2object.c:
 4054 	  v4l2object: Use default colorimetry if that in caps is unknown
 4055 	  Some streams have unknown colorimetry in caps, but v4l2object sets
 4056 	  default values for each primaries. It will cause check colorimetry
 4057 	  fail when do gst_v4l2_video_colorimetry_matches().
 4058 	  To fix this, need to keep the unknown colorimetry in caps same as
 4059 	  the default value set by v4l2object.
 4060 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/923>
 4061 
 4062 2021-03-31 16:37:56 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 4063 
 4064 	* gst/matroska/matroska-demux.c:
 4065 	  matroskademux: Take segment stop into account when need_segment
 4066 	  Otherwise, in the case of e.g. a deferred seek event, the segment stop
 4067 	  would be replaced with GST_CLOCK_TIME_NONE.
 4068 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/929>
 4069 
 4070 2021-03-29 16:45:26 +0200  Val Doroshchuk <val@sevendof.com>
 4071 
 4072 	* ext/qt/gstqtoverlay.cc:
 4073 	* ext/qt/gstqtoverlay.h:
 4074 	  gstqtoverlay: Add initialization and finalization to qml-scene prop
 4075 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/924>
 4076 
 4077 2021-03-31 10:21:59 +1100  Matthew Waters <matthew@centricular.com>
 4078 
 4079 	* ext/qt/gstqtglutility.h:
 4080 	  qt: fix build warning with clang and c-linkage of user defined type
 4081 	  In file included from ../subprojects/gst-plugins-good/ext/qt/qtglrenderer.cc:17:
 4082 	  ../subprojects/gst-plugins-good/ext/qt/gstqtglutility.h:35:16: error: 'qt_opengl_native_context_from_gst_gl_context' has C-linkage specified, but returns user-defined type 'QVariant' which is incompatible with C [-Werror,-Wreturn-type-c-linkage]
 4083 	  QVariant       qt_opengl_native_context_from_gst_gl_context     (GstGLContext * context);
 4084 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/928>
 4085 
 4086 2021-03-30 09:45:45 +0200  Stéphane Cerveau <scerveau@collabora.com>
 4087 
 4088 	* ext/qt/gstqtelement.cc:
 4089 	* ext/qt/gstqtelements.h:
 4090 	* ext/qt/gstqtoverlay.cc:
 4091 	* ext/qt/gstqtsink.cc:
 4092 	* ext/qt/gstqtsrc.cc:
 4093 	  qt: hotfix: allow per feature registration
 4094 	  Fixes #869
 4095 	  Split plugin into features including
 4096 	  dynamic types which can be indiviually
 4097 	  registered during a static build.
 4098 	  More details here:
 4099 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4100 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4101 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/925>
 4102 
 4103 2021-02-17 08:52:40 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4104 
 4105 	* ext/twolame/gsttwolamemp2enc.c:
 4106 	* ext/twolame/gsttwolamemp2enc.h:
 4107 	  twolame: allow per feature registration
 4108 	  Split plugin into features including
 4109 	  dynamic types which can be indiviually
 4110 	  registered during a static build.
 4111 	  More details here:
 4112 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4113 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4114 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4115 
 4116 2021-02-16 17:49:03 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4117 
 4118 	* ext/shout2/gstshout2.c:
 4119 	* ext/shout2/gstshout2.h:
 4120 	  shout2: allow per feature registration
 4121 	  Split plugin into features including
 4122 	  dynamic types which can be indiviually
 4123 	  registered during a static build.
 4124 	  More details here:
 4125 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4126 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4127 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4128 
 4129 2021-02-16 17:38:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4130 
 4131 	* ext/cairo/gstcairo.c:
 4132 	* ext/cairo/gstcairooverlay.c:
 4133 	* ext/cairo/gstcairooverlay.h:
 4134 	  cairo: allow per feature registration
 4135 	  Split plugin into features including
 4136 	  dynamic types which can be indiviually
 4137 	  registered during a static build.
 4138 	  More details here:
 4139 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4140 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4141 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4142 
 4143 2021-02-16 17:34:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4144 
 4145 	* gst/y4m/gsty4mencode.c:
 4146 	* gst/y4m/gsty4mencode.h:
 4147 	  y4m: allow per feature registration
 4148 	  Split plugin into features including
 4149 	  dynamic types which can be indiviually
 4150 	  registered during a static build.
 4151 	  More details here:
 4152 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4153 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4154 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4155 
 4156 2021-02-16 17:32:26 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4157 
 4158 	* gst/wavparse/gstwavparse.c:
 4159 	* gst/wavparse/gstwavparse.h:
 4160 	  wavparse: allow per feature registration
 4161 	  Split plugin into features including
 4162 	  dynamic types which can be indiviually
 4163 	  registered during a static build.
 4164 	  More details here:
 4165 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4166 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4167 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4168 
 4169 2021-02-16 17:29:40 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4170 
 4171 	* gst/wavenc/gstwavenc.c:
 4172 	* gst/wavenc/gstwavenc.h:
 4173 	  wavenc: allow per feature registration
 4174 	  Split plugin into features including
 4175 	  dynamic types which can be indiviually
 4176 	  registered during a static build.
 4177 	  More details here:
 4178 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4179 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4180 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4181 
 4182 2021-02-16 17:27:24 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4183 
 4184 	* gst/spectrum/gstspectrum.c:
 4185 	* gst/spectrum/gstspectrum.h:
 4186 	  spectrum: allow per feature registration
 4187 	  Split plugin into features including
 4188 	  dynamic types which can be indiviually
 4189 	  registered during a static build.
 4190 	  More details here:
 4191 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4192 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4193 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4194 
 4195 2021-02-16 17:27:12 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4196 
 4197 	* gst/monoscope/gstmonoscope.c:
 4198 	* gst/monoscope/gstmonoscope.h:
 4199 	  monoscope: allow per feature registration
 4200 	  Split plugin into features including
 4201 	  dynamic types which can be indiviually
 4202 	  registered during a static build.
 4203 	  More details here:
 4204 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4205 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4206 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4207 
 4208 2021-02-16 17:22:47 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4209 
 4210 	* gst/imagefreeze/gstimagefreeze.c:
 4211 	* gst/imagefreeze/gstimagefreeze.h:
 4212 	  imagefreeze: allow per feature registration
 4213 	  Split plugin into features including
 4214 	  dynamic types which can be indiviually
 4215 	  registered during a static build.
 4216 	  More details here:
 4217 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4218 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4219 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4220 
 4221 2021-02-16 17:19:52 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4222 
 4223 	* gst/id3demux/gstid3demux.c:
 4224 	* gst/id3demux/gstid3demux.h:
 4225 	  id3demux: allow per feature registration
 4226 	  Split plugin into features including
 4227 	  dynamic types which can be indiviually
 4228 	  registered during a static build.
 4229 	  More details here:
 4230 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4231 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4232 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4233 
 4234 2021-02-16 17:16:33 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4235 
 4236 	* gst/icydemux/gsticydemux.c:
 4237 	* gst/icydemux/gsticydemux.h:
 4238 	  icydemux: allow per feature registration
 4239 	  Split plugin into features including
 4240 	  dynamic types which can be indiviually
 4241 	  registered during a static build.
 4242 	  More details here:
 4243 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4244 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4245 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4246 
 4247 2021-02-16 17:14:26 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4248 
 4249 	* gst/goom2k1/gstgoom.c:
 4250 	* gst/goom2k1/gstgoom.h:
 4251 	  goom2k1: allow per feature registration
 4252 	  Split plugin into features including
 4253 	  dynamic types which can be indiviually
 4254 	  registered during a static build.
 4255 	  More details here:
 4256 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4257 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4258 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4259 
 4260 2021-02-16 17:11:26 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4261 
 4262 	* gst/cutter/gstcutter.c:
 4263 	* gst/cutter/gstcutter.h:
 4264 	  cutter: allow per feature registration
 4265 	  Split plugin into features including
 4266 	  dynamic types which can be indiviually
 4267 	  registered during a static build.
 4268 	  More details here:
 4269 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4270 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4271 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4272 
 4273 2021-02-16 17:11:14 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4274 
 4275 	* gst/goom/gstgoom.c:
 4276 	* gst/goom/gstgoom.h:
 4277 	  goom: allow per feature registration
 4278 	  Split plugin into features including
 4279 	  dynamic types which can be indiviually
 4280 	  registered during a static build.
 4281 	  More details here:
 4282 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4283 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4284 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4285 
 4286 2021-02-16 17:10:33 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4287 
 4288 	* gst/deinterlace/gstdeinterlace.c:
 4289 	* gst/deinterlace/gstdeinterlace.h:
 4290 	  deinterlace: allow per feature registration
 4291 	  Split plugin into features including
 4292 	  dynamic types which can be indiviually
 4293 	  registered during a static build.
 4294 	  More details here:
 4295 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4296 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4297 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4298 
 4299 2021-02-16 16:34:48 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4300 
 4301 	* sys/oss4/gstoss4audioplugin.c:
 4302 	* sys/oss4/meson.build:
 4303 	* sys/oss4/oss4-audio.c:
 4304 	* sys/oss4/oss4-audio.h:
 4305 	* sys/oss4/oss4-sink.c:
 4306 	* sys/oss4/oss4-sink.h:
 4307 	* sys/oss4/oss4-source.c:
 4308 	* sys/oss4/oss4-source.h:
 4309 	  oss4: allow per feature registration
 4310 	  Split plugin into features including
 4311 	  dynamic types which can be indiviually
 4312 	  registered during a static build.
 4313 	  More details here:
 4314 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4315 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4316 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4317 
 4318 2021-02-16 16:11:36 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4319 
 4320 	* sys/oss/gstossaudio.c:
 4321 	* sys/oss/gstossaudioelement.c:
 4322 	* sys/oss/gstossaudioelements.h:
 4323 	* sys/oss/gstosssink.c:
 4324 	* sys/oss/gstosssrc.c:
 4325 	* sys/oss/meson.build:
 4326 	  oss: allow per feature registration
 4327 	  Split plugin into features including
 4328 	  dynamic types which can be indiviually
 4329 	  registered during a static build.
 4330 	  More details here:
 4331 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4332 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4333 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4334 
 4335 2021-02-16 15:56:35 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4336 
 4337 	* gst/auparse/gstauparse.c:
 4338 	* gst/auparse/gstauparse.h:
 4339 	  auparse: allow per feature registration
 4340 	  Split plugin into features including
 4341 	  dynamic types which can be indiviually
 4342 	  registered during a static build.
 4343 	  More details here:
 4344 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4345 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4346 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4347 
 4348 2021-02-16 15:29:06 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4349 
 4350 	* sys/v4l2/gstv4l2.c:
 4351 	* sys/v4l2/gstv4l2deviceprovider.c:
 4352 	* sys/v4l2/gstv4l2element.c:
 4353 	* sys/v4l2/gstv4l2elements.h:
 4354 	* sys/v4l2/gstv4l2radio.c:
 4355 	* sys/v4l2/gstv4l2sink.c:
 4356 	* sys/v4l2/gstv4l2src.c:
 4357 	* sys/v4l2/meson.build:
 4358 	  v4l2: allow per feature registration
 4359 	  Split plugin into features including
 4360 	  dynamic types which can be indiviually
 4361 	  registered during a static build.
 4362 	  More details here:
 4363 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4364 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4365 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4366 
 4367 2021-02-16 15:05:43 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4368 
 4369 	* gst/videofilter/gstgamma.c:
 4370 	* gst/videofilter/gstgamma.h:
 4371 	* gst/videofilter/gstvideobalance.c:
 4372 	* gst/videofilter/gstvideobalance.h:
 4373 	* gst/videofilter/gstvideoflip.c:
 4374 	* gst/videofilter/gstvideoflip.h:
 4375 	* gst/videofilter/gstvideomedian.c:
 4376 	* gst/videofilter/gstvideomedian.h:
 4377 	* gst/videofilter/plugin.c:
 4378 	  videofilter: allow per feature registration
 4379 	  Split plugin into features including
 4380 	  dynamic types which can be indiviually
 4381 	  registered during a static build.
 4382 	  More details here:
 4383 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4384 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4385 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4386 
 4387 2021-02-16 14:58:57 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4388 
 4389 	* gst/videocrop/gstaspectratiocrop.c:
 4390 	* gst/videocrop/gstvideocrop.c:
 4391 	* gst/videocrop/gstvideocropelement.c:
 4392 	* gst/videocrop/gstvideocropelements.h:
 4393 	* gst/videocrop/gstvideocropplugin.c:
 4394 	* gst/videocrop/meson.build:
 4395 	  videocrop: allow per feature registration
 4396 	  Split plugin into features including
 4397 	  dynamic types which can be indiviually
 4398 	  registered during a static build.
 4399 	  More details here:
 4400 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4401 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4402 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4403 
 4404 2021-02-16 14:54:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4405 
 4406 	* gst/videobox/gstvideobox.c:
 4407 	* gst/videobox/gstvideobox.h:
 4408 	  videobox: allow per feature registration
 4409 	  Split plugin into features including
 4410 	  dynamic types which can be indiviually
 4411 	  registered during a static build.
 4412 	  More details here:
 4413 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4414 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4415 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4416 
 4417 2021-02-16 14:49:56 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4418 
 4419 	* gst/udp/gstdynudpsink.c:
 4420 	* gst/udp/gstmultiudpsink.c:
 4421 	* gst/udp/gstudp.c:
 4422 	* gst/udp/gstudpelement.c:
 4423 	* gst/udp/gstudpelements.h:
 4424 	* gst/udp/gstudpsink.c:
 4425 	* gst/udp/gstudpsrc.c:
 4426 	* gst/udp/meson.build:
 4427 	  udp: allow per feature registration
 4428 	  Split plugin into features including
 4429 	  dynamic types which can be indiviually
 4430 	  registered during a static build.
 4431 	  More details here:
 4432 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4433 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4434 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4435 
 4436 2021-02-16 14:43:32 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4437 
 4438 	* gst/smpte/gstsmpte.c:
 4439 	* gst/smpte/gstsmpte.h:
 4440 	* gst/smpte/gstsmptealpha.c:
 4441 	* gst/smpte/gstsmptealpha.h:
 4442 	* gst/smpte/plugin.c:
 4443 	  smpte: allow per feature registration
 4444 	  Split plugin into features including
 4445 	  dynamic types which can be indiviually
 4446 	  registered during a static build.
 4447 	  More details here:
 4448 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4449 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4450 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4451 
 4452 2021-02-16 14:38:37 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4453 
 4454 	* gst/shapewipe/gstshapewipe.c:
 4455 	* gst/shapewipe/gstshapewipe.h:
 4456 	  shapewipe: allow per feature registration
 4457 	  Split plugin into features including
 4458 	  dynamic types which can be indiviually
 4459 	  registered during a static build.
 4460 	  More details here:
 4461 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4462 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4463 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4464 
 4465 2021-02-16 14:35:51 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4466 
 4467 	* gst/rtsp/gstrtpdec.c:
 4468 	* gst/rtsp/gstrtsp.c:
 4469 	* gst/rtsp/gstrtspelement.c:
 4470 	* gst/rtsp/gstrtspelements.h:
 4471 	* gst/rtsp/gstrtspsrc.c:
 4472 	* gst/rtsp/meson.build:
 4473 	  rtsp: allow per feature registration
 4474 	  Split plugin into features including
 4475 	  dynamic types which can be indiviually
 4476 	  registered during a static build.
 4477 	  More details here:
 4478 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4479 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4480 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4481 
 4482 2021-02-16 14:24:33 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4483 
 4484 	* gst/rtpmanager/gstrtpbin.c:
 4485 	* gst/rtpmanager/gstrtpbin.h:
 4486 	* gst/rtpmanager/gstrtpdtmfmux.c:
 4487 	* gst/rtpmanager/gstrtpdtmfmux.h:
 4488 	* gst/rtpmanager/gstrtpfunnel.c:
 4489 	* gst/rtpmanager/gstrtpfunnel.h:
 4490 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 4491 	* gst/rtpmanager/gstrtphdrext-rfc6464.h:
 4492 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 4493 	* gst/rtpmanager/gstrtphdrext-twcc.h:
 4494 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 4495 	* gst/rtpmanager/gstrtpjitterbuffer.h:
 4496 	* gst/rtpmanager/gstrtpmanager.c:
 4497 	* gst/rtpmanager/gstrtpmux.c:
 4498 	* gst/rtpmanager/gstrtpmux.h:
 4499 	* gst/rtpmanager/gstrtpptdemux.c:
 4500 	* gst/rtpmanager/gstrtpptdemux.h:
 4501 	* gst/rtpmanager/gstrtprtxqueue.c:
 4502 	* gst/rtpmanager/gstrtprtxqueue.h:
 4503 	* gst/rtpmanager/gstrtprtxreceive.c:
 4504 	* gst/rtpmanager/gstrtprtxreceive.h:
 4505 	* gst/rtpmanager/gstrtprtxsend.c:
 4506 	* gst/rtpmanager/gstrtprtxsend.h:
 4507 	* gst/rtpmanager/gstrtpsession.c:
 4508 	* gst/rtpmanager/gstrtpsession.h:
 4509 	* gst/rtpmanager/gstrtpssrcdemux.c:
 4510 	* gst/rtpmanager/gstrtpssrcdemux.h:
 4511 	* gst/rtpmanager/gstrtpst2022-1-fecdec.c:
 4512 	* gst/rtpmanager/gstrtpst2022-1-fecdec.h:
 4513 	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
 4514 	* gst/rtpmanager/gstrtpst2022-1-fecenc.h:
 4515 	  rtpmanager: allow per feature registration
 4516 	  Split plugin into features including
 4517 	  dynamic types which can be indiviually
 4518 	  registered during a static build.
 4519 	  More details here:
 4520 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4521 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4522 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4523 
 4524 2021-02-16 13:49:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4525 
 4526 	* gst/replaygain/gstrganalysis.c:
 4527 	* gst/replaygain/gstrglimiter.c:
 4528 	* gst/replaygain/gstrglimiter.h:
 4529 	* gst/replaygain/gstrgvolume.c:
 4530 	* gst/replaygain/gstrgvolume.h:
 4531 	* gst/replaygain/replaygain.c:
 4532 	* gst/replaygain/rganalysis.h:
 4533 	  replaygain: allow per feature registration
 4534 	  Split plugin into features including
 4535 	  dynamic types which can be indiviually
 4536 	  registered during a static build.
 4537 	  More details here:
 4538 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4539 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4540 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4541 
 4542 2021-02-16 13:43:44 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4543 
 4544 	* gst/multipart/multipart.c:
 4545 	* gst/multipart/multipartdemux.c:
 4546 	* gst/multipart/multipartdemux.h:
 4547 	* gst/multipart/multipartmux.c:
 4548 	* gst/multipart/multipartmux.h:
 4549 	  multipart: allow per feature registration
 4550 	  Split plugin into features including
 4551 	  dynamic types which can be indiviually
 4552 	  registered during a static build.
 4553 	  More details here:
 4554 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4555 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4556 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4557 
 4558 2021-02-16 12:04:26 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4559 
 4560 	* gst/multifile/gstimagesequencesrc.c:
 4561 	* gst/multifile/gstimagesequencesrc.h:
 4562 	* gst/multifile/gstmultifile.c:
 4563 	* gst/multifile/gstmultifilesink.c:
 4564 	* gst/multifile/gstmultifilesink.h:
 4565 	* gst/multifile/gstmultifilesrc.c:
 4566 	* gst/multifile/gstmultifilesrc.h:
 4567 	* gst/multifile/gstsplitfilesrc.c:
 4568 	* gst/multifile/gstsplitfilesrc.h:
 4569 	* gst/multifile/gstsplitmuxsink.c:
 4570 	* gst/multifile/gstsplitmuxsink.h:
 4571 	* gst/multifile/gstsplitmuxsrc.c:
 4572 	* gst/multifile/gstsplitmuxsrc.h:
 4573 	  multifile: allow per feature registration
 4574 	  Split plugin into features including
 4575 	  dynamic types which can be indiviually
 4576 	  registered during a static build.
 4577 	  More details here:
 4578 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4579 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4580 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4581 
 4582 2021-02-16 11:14:17 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4583 
 4584 	* gst/matroska/gstmatroskaelement.c:
 4585 	* gst/matroska/gstmatroskaelements.h:
 4586 	* gst/matroska/matroska-demux.c:
 4587 	* gst/matroska/matroska-demux.h:
 4588 	* gst/matroska/matroska-mux.c:
 4589 	* gst/matroska/matroska-parse.c:
 4590 	* gst/matroska/matroska-parse.h:
 4591 	* gst/matroska/matroska.c:
 4592 	* gst/matroska/meson.build:
 4593 	* gst/matroska/webm-mux.c:
 4594 	  matroska: allow per feature registration
 4595 	  Split plugin into features including
 4596 	  dynamic types which can be indiviually
 4597 	  registered during a static build.
 4598 	  More details here:
 4599 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4600 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4601 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4602 
 4603 2021-02-16 10:59:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4604 
 4605 	* gst/level/gstlevel.c:
 4606 	* gst/level/gstlevel.h:
 4607 	  level: allow per feature registration
 4608 	  Split plugin into features including
 4609 	  dynamic types which can be indiviually
 4610 	  registered during a static build.
 4611 	  More details here:
 4612 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4613 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4614 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4615 
 4616 2021-02-16 10:57:58 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4617 
 4618 	* gst/law/alaw-decode.c:
 4619 	* gst/law/alaw-decode.h:
 4620 	* gst/law/alaw-encode.c:
 4621 	* gst/law/alaw-encode.h:
 4622 	* gst/law/alaw.c:
 4623 	* gst/law/mulaw-decode.c:
 4624 	* gst/law/mulaw-decode.h:
 4625 	* gst/law/mulaw-encode.c:
 4626 	* gst/law/mulaw-encode.h:
 4627 	* gst/law/mulaw.c:
 4628 	  law: allow per feature registration
 4629 	  Split plugin into features including
 4630 	  dynamic types which can be indiviually
 4631 	  registered during a static build.
 4632 	  More details here:
 4633 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4634 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4635 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4636 
 4637 2021-02-16 10:26:40 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4638 
 4639 	* gst/isomp4/gstisomp4element.c:
 4640 	* gst/isomp4/gstisomp4elements.h:
 4641 	* gst/isomp4/gstqtmoovrecover.c:
 4642 	* gst/isomp4/gstqtmux.c:
 4643 	* gst/isomp4/gstrtpxqtdepay.c:
 4644 	* gst/isomp4/isomp4-plugin.c:
 4645 	* gst/isomp4/meson.build:
 4646 	* gst/isomp4/qtdemux.c:
 4647 	  isomp4: allow per feature registration
 4648 	  Split plugin into features including
 4649 	  dynamic types which can be indiviually
 4650 	  registered during a static build.
 4651 	  More details here:
 4652 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4653 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4654 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4655 
 4656 2021-02-16 09:57:27 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4657 
 4658 	* gst/interleave/deinterleave.c:
 4659 	* gst/interleave/gstinterleaveelements.h:
 4660 	* gst/interleave/interleave.c:
 4661 	* gst/interleave/plugin.c:
 4662 	  interleave: allow per feature registration
 4663 	  Split plugin into features including
 4664 	  dynamic types which can be indiviually
 4665 	  registered during a static build.
 4666 	  More details here:
 4667 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4668 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4669 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4670 
 4671 2021-02-16 09:51:16 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4672 
 4673 	* gst/flx/gstflxdec.c:
 4674 	* gst/flx/gstflxdec.h:
 4675 	  flx: allow per feature registration
 4676 	  Split plugin into features including
 4677 	  dynamic types which can be indiviually
 4678 	  registered during a static build.
 4679 	  More details here:
 4680 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4681 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4682 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4683 
 4684 2021-02-15 17:37:09 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4685 
 4686 	* gst/flv/gstflvdemux.c:
 4687 	* gst/flv/gstflvelement.c:
 4688 	* gst/flv/gstflvelements.h:
 4689 	* gst/flv/gstflvmux.c:
 4690 	* gst/flv/gstflvplugin.c:
 4691 	* gst/flv/meson.build:
 4692 	  flv: allow per feature registration
 4693 	  Split plugin into features including
 4694 	  dynamic types which can be indiviually
 4695 	  registered during a static build.
 4696 	  More details here:
 4697 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4698 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4699 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4700 
 4701 2021-02-15 17:27:51 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4702 
 4703 	* gst/equalizer/gstiirequalizer.c:
 4704 	* gst/equalizer/gstiirequalizer.h:
 4705 	* gst/equalizer/gstiirequalizer10bands.c:
 4706 	* gst/equalizer/gstiirequalizer3bands.c:
 4707 	* gst/equalizer/gstiirequalizernbands.c:
 4708 	* gst/equalizer/gstiirequalizerplugin.c:
 4709 	* gst/equalizer/meson.build:
 4710 	  equalizer: allow per feature registration
 4711 	  Split plugin into features including
 4712 	  dynamic types which can be indiviually
 4713 	  registered during a static build.
 4714 	  More details here:
 4715 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4716 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4717 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4718 
 4719 2021-02-15 15:37:52 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4720 
 4721 	* gst/effectv/gstaging.c:
 4722 	* gst/effectv/gstdice.c:
 4723 	* gst/effectv/gstedge.c:
 4724 	* gst/effectv/gsteffectv.c:
 4725 	* gst/effectv/gsteffectv.h:
 4726 	* gst/effectv/gstop.c:
 4727 	* gst/effectv/gstquark.c:
 4728 	* gst/effectv/gstradioac.c:
 4729 	* gst/effectv/gstrev.c:
 4730 	* gst/effectv/gstripple.c:
 4731 	* gst/effectv/gstshagadelic.c:
 4732 	* gst/effectv/gststreak.c:
 4733 	* gst/effectv/gstvertigo.c:
 4734 	* gst/effectv/gstwarp.c:
 4735 	  effectv: allow per feature registration
 4736 	  Split plugin into features including
 4737 	  dynamic types which can be indiviually
 4738 	  registered during a static build.
 4739 	  More details here:
 4740 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4741 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4742 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4743 
 4744 2021-02-15 15:03:10 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4745 
 4746 	* gst/dtmf/gstdtmf.c:
 4747 	* gst/dtmf/gstdtmfsrc.c:
 4748 	* gst/dtmf/gstdtmfsrc.h:
 4749 	* gst/dtmf/gstrtpdtmfdepay.c:
 4750 	* gst/dtmf/gstrtpdtmfdepay.h:
 4751 	* gst/dtmf/gstrtpdtmfsrc.c:
 4752 	* gst/dtmf/gstrtpdtmfsrc.h:
 4753 	  dtmf: allow per feature registration
 4754 	  Split plugin into features including
 4755 	  dynamic types which can be indiviually
 4756 	  registered during a static build.
 4757 	  More details here:
 4758 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4759 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4760 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4761 
 4762 2021-02-15 14:55:15 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4763 
 4764 	* gst/debugutils/breakmydata.c:
 4765 	* gst/debugutils/cpureport.c:
 4766 	* gst/debugutils/gstcapsdebug.c:
 4767 	* gst/debugutils/gstcapssetter.c:
 4768 	* gst/debugutils/gstdebug.c:
 4769 	* gst/debugutils/gstdebugutilselements.h:
 4770 	* gst/debugutils/gstnavigationtest.c:
 4771 	* gst/debugutils/gstnavigationtest.h:
 4772 	* gst/debugutils/gstnavseek.c:
 4773 	* gst/debugutils/gstpushfilesrc.c:
 4774 	* gst/debugutils/gsttaginject.c:
 4775 	* gst/debugutils/progressreport.c:
 4776 	* gst/debugutils/rndbuffersize.c:
 4777 	* gst/debugutils/testplugin.c:
 4778 	  debugutils: allow per feature registration
 4779 	  Split plugin into features including
 4780 	  dynamic types which can be indiviually
 4781 	  registered during a static build.
 4782 	  More details here:
 4783 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4784 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4785 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4786 
 4787 2021-02-15 13:38:21 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4788 
 4789 	* gst/avi/gstavi.c:
 4790 	* gst/avi/gstavidemux.c:
 4791 	* gst/avi/gstavielement.c:
 4792 	* gst/avi/gstavielements.h:
 4793 	* gst/avi/gstavimux.c:
 4794 	* gst/avi/gstavisubtitle.c:
 4795 	* gst/avi/meson.build:
 4796 	  avi: allow per feature registration
 4797 	  Split plugin into features including
 4798 	  dynamic types which can be indiviually
 4799 	  registered during a static build.
 4800 	  More details here:
 4801 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4802 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4803 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4804 
 4805 2021-02-15 13:02:59 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4806 
 4807 	* gst/autodetect/gstautoaudiosink.c:
 4808 	* gst/autodetect/gstautoaudiosrc.c:
 4809 	* gst/autodetect/gstautodetect.c:
 4810 	* gst/autodetect/gstautodetect.h:
 4811 	* gst/autodetect/gstautodetectelement.c:
 4812 	* gst/autodetect/gstautodetectelements.h:
 4813 	* gst/autodetect/gstautodetectplugin.c:
 4814 	* gst/autodetect/gstautovideosink.c:
 4815 	* gst/autodetect/gstautovideosrc.c:
 4816 	* gst/autodetect/meson.build:
 4817 	  autodetect: allow per feature registration
 4818 	  Split plugin into features including
 4819 	  dynamic types which can be indiviually
 4820 	  registered during a static build.
 4821 	  More details here:
 4822 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4823 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4824 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4825 
 4826 2021-02-15 13:00:38 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4827 
 4828 	* gst/audioparsers/gstaacparse.c:
 4829 	* gst/audioparsers/gstac3parse.c:
 4830 	* gst/audioparsers/gstamrparse.c:
 4831 	* gst/audioparsers/gstaudioparserselements.h:
 4832 	* gst/audioparsers/gstdcaparse.c:
 4833 	* gst/audioparsers/gstflacparse.c:
 4834 	* gst/audioparsers/gstmpegaudioparse.c:
 4835 	* gst/audioparsers/gstsbcparse.c:
 4836 	* gst/audioparsers/gstwavpackparse.c:
 4837 	* gst/audioparsers/plugin.c:
 4838 	  audioparsers: allow per feature registration
 4839 	  Split plugin into features including
 4840 	  dynamic types which can be indiviually
 4841 	  registered during a static build.
 4842 	  More details here:
 4843 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4844 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4845 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4846 
 4847 2021-02-15 12:44:31 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4848 
 4849 	* gst/apetag/gstapedemux.c:
 4850 	* gst/apetag/gstapedemux.h:
 4851 	  apetag: allow per feature registration
 4852 	  Split plugin into features including
 4853 	  dynamic types which can be indiviually
 4854 	  registered during a static build.
 4855 	  More details here:
 4856 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4857 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4858 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4859 
 4860 2021-02-15 11:00:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4861 
 4862 	* ext/vpx/gstvp8dec.c:
 4863 	* ext/vpx/gstvp8enc.c:
 4864 	* ext/vpx/gstvp9dec.c:
 4865 	* ext/vpx/gstvp9enc.c:
 4866 	* ext/vpx/gstvpxelement.c:
 4867 	* ext/vpx/gstvpxelements.h:
 4868 	* ext/vpx/meson.build:
 4869 	* ext/vpx/plugin.c:
 4870 	  vpx: allow per feature registration
 4871 	  Split plugin into features including
 4872 	  dynamic types which can be indiviually
 4873 	  registered during a static build.
 4874 	  More details here:
 4875 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4876 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4877 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4878 
 4879 2021-02-12 17:26:36 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4880 
 4881 	* ext/taglib/gstapev2mux.cc:
 4882 	* ext/taglib/gstid3v2mux.cc:
 4883 	* ext/taglib/gsttaglibelement.c:
 4884 	* ext/taglib/gsttaglibelements.h:
 4885 	* ext/taglib/gsttaglibplugin.c:
 4886 	* ext/taglib/meson.build:
 4887 	  taglib: allow per feature registration
 4888 	  Split plugin into features including
 4889 	  dynamic types which can be indiviually
 4890 	  registered during a static build.
 4891 	  More details here:
 4892 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4893 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4894 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4895 
 4896 2021-02-12 17:09:19 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4897 
 4898 	* ext/qt/gstplugin.cc:
 4899 	* ext/qt/gstqtelement.cc:
 4900 	* ext/qt/gstqtelements.h:
 4901 	* ext/qt/gstqtoverlay.cc:
 4902 	* ext/qt/gstqtsink.cc:
 4903 	* ext/qt/gstqtsrc.cc:
 4904 	* ext/qt/meson.build:
 4905 	* ext/qt/qtplugin.pro:
 4906 	  qt: allow per feature registration
 4907 	  Split plugin into features including
 4908 	  dynamic types which can be indiviually
 4909 	  registered during a static build.
 4910 	  More details here:
 4911 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4912 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4913 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4914 
 4915 2021-02-12 16:09:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4916 
 4917 	* ext/speex/gstspeex.c:
 4918 	* ext/speex/gstspeexdec.c:
 4919 	* ext/speex/gstspeexelement.c:
 4920 	* ext/speex/gstspeexelements.h:
 4921 	* ext/speex/gstspeexenc.c:
 4922 	* ext/speex/meson.build:
 4923 	  speex: allow per feature registration
 4924 	  Split plugin into features including
 4925 	  dynamic types which can be indiviually
 4926 	  registered during a static build.
 4927 	  More details here:
 4928 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4929 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4930 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4931 
 4932 2021-02-12 16:04:16 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4933 
 4934 	* ext/soup/gstsoup.c:
 4935 	* ext/soup/gstsoupelement.c:
 4936 	* ext/soup/gstsoupelements.h:
 4937 	* ext/soup/gstsouphttpclientsink.c:
 4938 	* ext/soup/gstsouphttpsrc.c:
 4939 	* ext/soup/meson.build:
 4940 	  soup: allow per feature registration
 4941 	  Split plugin into features including
 4942 	  dynamic types which can be indiviually
 4943 	  registered during a static build.
 4944 	  More details here:
 4945 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4946 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4947 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4948 
 4949 2021-02-12 15:53:19 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4950 
 4951 	* ext/raw1394/gst1394.c:
 4952 	* ext/raw1394/gstdv1394src.c:
 4953 	* ext/raw1394/gstdv1394src.h:
 4954 	* ext/raw1394/gsthdv1394src.c:
 4955 	* ext/raw1394/gsthdv1394src.h:
 4956 	  raw1394: allow per feature registration
 4957 	  Split plugin into features including
 4958 	  dynamic types which can be indiviually
 4959 	  registered during a static build.
 4960 	  More details here:
 4961 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4962 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4963 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4964 
 4965 2021-02-12 15:47:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4966 
 4967 	* ext/wavpack/gstwavpack.c:
 4968 	* ext/wavpack/gstwavpackdec.c:
 4969 	* ext/wavpack/gstwavpackelement.c:
 4970 	* ext/wavpack/gstwavpackelements.h:
 4971 	* ext/wavpack/gstwavpackenc.c:
 4972 	* ext/wavpack/meson.build:
 4973 	  wavpack: allow per feature registration
 4974 	  Split plugin into features including
 4975 	  dynamic types which can be indiviually
 4976 	  registered during a static build.
 4977 	  More details here:
 4978 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4979 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4980 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4981 
 4982 2021-02-12 15:35:11 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4983 
 4984 	* gst/alpha/gstalpha.c:
 4985 	* gst/alpha/gstalpha.h:
 4986 	  alpha: allow per feature registration
 4987 	  Split plugin into features including
 4988 	  dynamic types which can be indiviually
 4989 	  registered during a static build.
 4990 	  More details here:
 4991 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 4992 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 4993 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 4994 
 4995 2021-02-12 15:27:31 +0100  Stéphane Cerveau <scerveau@collabora.com>
 4996 
 4997 	* gst/audiofx/audioamplify.c:
 4998 	* gst/audiofx/audioamplify.h:
 4999 	* gst/audiofx/audiochebband.c:
 5000 	* gst/audiofx/audiochebband.h:
 5001 	* gst/audiofx/audiocheblimit.c:
 5002 	* gst/audiofx/audiocheblimit.h:
 5003 	* gst/audiofx/audiodynamic.c:
 5004 	* gst/audiofx/audiodynamic.h:
 5005 	* gst/audiofx/audioecho.c:
 5006 	* gst/audiofx/audioecho.h:
 5007 	* gst/audiofx/audiofirfilter.c:
 5008 	* gst/audiofx/audiofirfilter.h:
 5009 	* gst/audiofx/audiofx.c:
 5010 	* gst/audiofx/audioiirfilter.c:
 5011 	* gst/audiofx/audioiirfilter.h:
 5012 	* gst/audiofx/audioinvert.c:
 5013 	* gst/audiofx/audioinvert.h:
 5014 	* gst/audiofx/audiokaraoke.c:
 5015 	* gst/audiofx/audiokaraoke.h:
 5016 	* gst/audiofx/audiopanorama.c:
 5017 	* gst/audiofx/audiopanorama.h:
 5018 	* gst/audiofx/audiowsincband.c:
 5019 	* gst/audiofx/audiowsincband.h:
 5020 	* gst/audiofx/audiowsinclimit.c:
 5021 	* gst/audiofx/audiowsinclimit.h:
 5022 	* gst/audiofx/gstscaletempo.c:
 5023 	* gst/audiofx/gstscaletempo.h:
 5024 	* gst/audiofx/gststereo.c:
 5025 	* gst/audiofx/gststereo.h:
 5026 	  audiofx: allow per feature registration
 5027 	  Split plugin into features including
 5028 	  dynamic types which can be indiviually
 5029 	  registered during a static build.
 5030 	  More details here:
 5031 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5032 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5033 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5034 
 5035 2021-02-12 13:16:28 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5036 
 5037 	* gst/rtp/gstasteriskh263.c:
 5038 	* gst/rtp/gstasteriskh263.h:
 5039 	* gst/rtp/gstrtp.c:
 5040 	* gst/rtp/gstrtpL16depay.c:
 5041 	* gst/rtp/gstrtpL16depay.h:
 5042 	* gst/rtp/gstrtpL16pay.c:
 5043 	* gst/rtp/gstrtpL16pay.h:
 5044 	* gst/rtp/gstrtpL24depay.c:
 5045 	* gst/rtp/gstrtpL24depay.h:
 5046 	* gst/rtp/gstrtpL24pay.c:
 5047 	* gst/rtp/gstrtpL24pay.h:
 5048 	* gst/rtp/gstrtpL8depay.c:
 5049 	* gst/rtp/gstrtpL8depay.h:
 5050 	* gst/rtp/gstrtpL8pay.c:
 5051 	* gst/rtp/gstrtpL8pay.h:
 5052 	* gst/rtp/gstrtpac3depay.c:
 5053 	* gst/rtp/gstrtpac3depay.h:
 5054 	* gst/rtp/gstrtpac3pay.c:
 5055 	* gst/rtp/gstrtpac3pay.h:
 5056 	* gst/rtp/gstrtpamrdepay.c:
 5057 	* gst/rtp/gstrtpamrdepay.h:
 5058 	* gst/rtp/gstrtpamrpay.c:
 5059 	* gst/rtp/gstrtpamrpay.h:
 5060 	* gst/rtp/gstrtpbvdepay.c:
 5061 	* gst/rtp/gstrtpbvdepay.h:
 5062 	* gst/rtp/gstrtpbvpay.c:
 5063 	* gst/rtp/gstrtpbvpay.h:
 5064 	* gst/rtp/gstrtpceltdepay.c:
 5065 	* gst/rtp/gstrtpceltdepay.h:
 5066 	* gst/rtp/gstrtpceltpay.c:
 5067 	* gst/rtp/gstrtpceltpay.h:
 5068 	* gst/rtp/gstrtpdvdepay.c:
 5069 	* gst/rtp/gstrtpdvdepay.h:
 5070 	* gst/rtp/gstrtpdvpay.c:
 5071 	* gst/rtp/gstrtpdvpay.h:
 5072 	* gst/rtp/gstrtpelement.c:
 5073 	* gst/rtp/gstrtpelements.h:
 5074 	* gst/rtp/gstrtpg722depay.c:
 5075 	* gst/rtp/gstrtpg722depay.h:
 5076 	* gst/rtp/gstrtpg722pay.c:
 5077 	* gst/rtp/gstrtpg722pay.h:
 5078 	* gst/rtp/gstrtpg723depay.c:
 5079 	* gst/rtp/gstrtpg723depay.h:
 5080 	* gst/rtp/gstrtpg723pay.c:
 5081 	* gst/rtp/gstrtpg723pay.h:
 5082 	* gst/rtp/gstrtpg726depay.c:
 5083 	* gst/rtp/gstrtpg726depay.h:
 5084 	* gst/rtp/gstrtpg726pay.c:
 5085 	* gst/rtp/gstrtpg726pay.h:
 5086 	* gst/rtp/gstrtpg729depay.c:
 5087 	* gst/rtp/gstrtpg729depay.h:
 5088 	* gst/rtp/gstrtpg729pay.c:
 5089 	* gst/rtp/gstrtpg729pay.h:
 5090 	* gst/rtp/gstrtpgsmdepay.c:
 5091 	* gst/rtp/gstrtpgsmdepay.h:
 5092 	* gst/rtp/gstrtpgsmpay.c:
 5093 	* gst/rtp/gstrtpgsmpay.h:
 5094 	* gst/rtp/gstrtpgstdepay.c:
 5095 	* gst/rtp/gstrtpgstdepay.h:
 5096 	* gst/rtp/gstrtpgstpay.c:
 5097 	* gst/rtp/gstrtpgstpay.h:
 5098 	* gst/rtp/gstrtph261depay.c:
 5099 	* gst/rtp/gstrtph261depay.h:
 5100 	* gst/rtp/gstrtph261pay.c:
 5101 	* gst/rtp/gstrtph261pay.h:
 5102 	* gst/rtp/gstrtph263depay.c:
 5103 	* gst/rtp/gstrtph263depay.h:
 5104 	* gst/rtp/gstrtph263pay.c:
 5105 	* gst/rtp/gstrtph263pay.h:
 5106 	* gst/rtp/gstrtph263pdepay.c:
 5107 	* gst/rtp/gstrtph263pdepay.h:
 5108 	* gst/rtp/gstrtph263ppay.c:
 5109 	* gst/rtp/gstrtph263ppay.h:
 5110 	* gst/rtp/gstrtph264depay.c:
 5111 	* gst/rtp/gstrtph264depay.h:
 5112 	* gst/rtp/gstrtph264pay.c:
 5113 	* gst/rtp/gstrtph264pay.h:
 5114 	* gst/rtp/gstrtph265depay.c:
 5115 	* gst/rtp/gstrtph265depay.h:
 5116 	* gst/rtp/gstrtph265pay.c:
 5117 	* gst/rtp/gstrtph265pay.h:
 5118 	* gst/rtp/gstrtpilbcdepay.c:
 5119 	* gst/rtp/gstrtpilbcdepay.h:
 5120 	* gst/rtp/gstrtpilbcpay.c:
 5121 	* gst/rtp/gstrtpilbcpay.h:
 5122 	* gst/rtp/gstrtpisacdepay.c:
 5123 	* gst/rtp/gstrtpisacdepay.h:
 5124 	* gst/rtp/gstrtpisacpay.c:
 5125 	* gst/rtp/gstrtpisacpay.h:
 5126 	* gst/rtp/gstrtpj2kdepay.c:
 5127 	* gst/rtp/gstrtpj2kdepay.h:
 5128 	* gst/rtp/gstrtpj2kpay.c:
 5129 	* gst/rtp/gstrtpj2kpay.h:
 5130 	* gst/rtp/gstrtpjpegdepay.c:
 5131 	* gst/rtp/gstrtpjpegdepay.h:
 5132 	* gst/rtp/gstrtpjpegpay.c:
 5133 	* gst/rtp/gstrtpjpegpay.h:
 5134 	* gst/rtp/gstrtpklvdepay.c:
 5135 	* gst/rtp/gstrtpklvdepay.h:
 5136 	* gst/rtp/gstrtpklvpay.c:
 5137 	* gst/rtp/gstrtpklvpay.h:
 5138 	* gst/rtp/gstrtpldacpay.c:
 5139 	* gst/rtp/gstrtpmp1sdepay.c:
 5140 	* gst/rtp/gstrtpmp1sdepay.h:
 5141 	* gst/rtp/gstrtpmp2tdepay.c:
 5142 	* gst/rtp/gstrtpmp2tdepay.h:
 5143 	* gst/rtp/gstrtpmp2tpay.c:
 5144 	* gst/rtp/gstrtpmp2tpay.h:
 5145 	* gst/rtp/gstrtpmp4adepay.c:
 5146 	* gst/rtp/gstrtpmp4adepay.h:
 5147 	* gst/rtp/gstrtpmp4apay.c:
 5148 	* gst/rtp/gstrtpmp4apay.h:
 5149 	* gst/rtp/gstrtpmp4gdepay.c:
 5150 	* gst/rtp/gstrtpmp4gdepay.h:
 5151 	* gst/rtp/gstrtpmp4gpay.c:
 5152 	* gst/rtp/gstrtpmp4gpay.h:
 5153 	* gst/rtp/gstrtpmp4vdepay.c:
 5154 	* gst/rtp/gstrtpmp4vdepay.h:
 5155 	* gst/rtp/gstrtpmp4vpay.c:
 5156 	* gst/rtp/gstrtpmp4vpay.h:
 5157 	* gst/rtp/gstrtpmpadepay.c:
 5158 	* gst/rtp/gstrtpmpadepay.h:
 5159 	* gst/rtp/gstrtpmpapay.c:
 5160 	* gst/rtp/gstrtpmpapay.h:
 5161 	* gst/rtp/gstrtpmparobustdepay.c:
 5162 	* gst/rtp/gstrtpmparobustdepay.h:
 5163 	* gst/rtp/gstrtpmpvdepay.c:
 5164 	* gst/rtp/gstrtpmpvdepay.h:
 5165 	* gst/rtp/gstrtpmpvpay.c:
 5166 	* gst/rtp/gstrtpmpvpay.h:
 5167 	* gst/rtp/gstrtpopusdepay.c:
 5168 	* gst/rtp/gstrtpopusdepay.h:
 5169 	* gst/rtp/gstrtpopuspay.c:
 5170 	* gst/rtp/gstrtpopuspay.h:
 5171 	* gst/rtp/gstrtppcmadepay.c:
 5172 	* gst/rtp/gstrtppcmadepay.h:
 5173 	* gst/rtp/gstrtppcmapay.c:
 5174 	* gst/rtp/gstrtppcmapay.h:
 5175 	* gst/rtp/gstrtppcmudepay.c:
 5176 	* gst/rtp/gstrtppcmudepay.h:
 5177 	* gst/rtp/gstrtppcmupay.c:
 5178 	* gst/rtp/gstrtppcmupay.h:
 5179 	* gst/rtp/gstrtpqcelpdepay.c:
 5180 	* gst/rtp/gstrtpqcelpdepay.h:
 5181 	* gst/rtp/gstrtpqdmdepay.c:
 5182 	* gst/rtp/gstrtpqdmdepay.h:
 5183 	* gst/rtp/gstrtpreddec.c:
 5184 	* gst/rtp/gstrtpredenc.c:
 5185 	* gst/rtp/gstrtpsbcdepay.c:
 5186 	* gst/rtp/gstrtpsbcdepay.h:
 5187 	* gst/rtp/gstrtpsbcpay.c:
 5188 	* gst/rtp/gstrtpsbcpay.h:
 5189 	* gst/rtp/gstrtpsirendepay.c:
 5190 	* gst/rtp/gstrtpsirendepay.h:
 5191 	* gst/rtp/gstrtpsirenpay.c:
 5192 	* gst/rtp/gstrtpsirenpay.h:
 5193 	* gst/rtp/gstrtpspeexdepay.c:
 5194 	* gst/rtp/gstrtpspeexdepay.h:
 5195 	* gst/rtp/gstrtpspeexpay.c:
 5196 	* gst/rtp/gstrtpspeexpay.h:
 5197 	* gst/rtp/gstrtpstorage.c:
 5198 	* gst/rtp/gstrtpstreamdepay.c:
 5199 	* gst/rtp/gstrtpstreamdepay.h:
 5200 	* gst/rtp/gstrtpstreampay.c:
 5201 	* gst/rtp/gstrtpstreampay.h:
 5202 	* gst/rtp/gstrtpsv3vdepay.c:
 5203 	* gst/rtp/gstrtpsv3vdepay.h:
 5204 	* gst/rtp/gstrtptheoradepay.c:
 5205 	* gst/rtp/gstrtptheoradepay.h:
 5206 	* gst/rtp/gstrtptheorapay.c:
 5207 	* gst/rtp/gstrtptheorapay.h:
 5208 	* gst/rtp/gstrtpulpfecdec.c:
 5209 	* gst/rtp/gstrtpulpfecenc.c:
 5210 	* gst/rtp/gstrtpvorbisdepay.c:
 5211 	* gst/rtp/gstrtpvorbisdepay.h:
 5212 	* gst/rtp/gstrtpvorbispay.c:
 5213 	* gst/rtp/gstrtpvorbispay.h:
 5214 	* gst/rtp/gstrtpvp8depay.c:
 5215 	* gst/rtp/gstrtpvp8depay.h:
 5216 	* gst/rtp/gstrtpvp8pay.c:
 5217 	* gst/rtp/gstrtpvp8pay.h:
 5218 	* gst/rtp/gstrtpvp9depay.c:
 5219 	* gst/rtp/gstrtpvp9depay.h:
 5220 	* gst/rtp/gstrtpvp9pay.c:
 5221 	* gst/rtp/gstrtpvp9pay.h:
 5222 	* gst/rtp/gstrtpvrawdepay.c:
 5223 	* gst/rtp/gstrtpvrawdepay.h:
 5224 	* gst/rtp/gstrtpvrawpay.c:
 5225 	* gst/rtp/gstrtpvrawpay.h:
 5226 	* gst/rtp/meson.build:
 5227 	* tests/check/meson.build:
 5228 	  rtp: allow per feature registration
 5229 	  Split plugin into features including
 5230 	  dynamic types which can be indiviually
 5231 	  registered during a static build.
 5232 	  More details here:
 5233 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5234 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5235 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5236 
 5237 2021-02-12 11:12:34 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5238 
 5239 	* ext/pulse/gstpulseelement.c:
 5240 	* ext/pulse/gstpulseelements.h:
 5241 	* ext/pulse/meson.build:
 5242 	* ext/pulse/plugin.c:
 5243 	* ext/pulse/pulsesink.c:
 5244 	* ext/pulse/pulsesrc.c:
 5245 	  pulse: allow per feature registration
 5246 	  Split plugin into features including
 5247 	  dynamic types which can be indiviually
 5248 	  registered during a static build.
 5249 	  More details here:
 5250 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5251 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5252 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5253 
 5254 2021-02-12 10:41:29 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5255 
 5256 	* ext/mpg123/gstmpg123audiodec.c:
 5257 	* ext/mpg123/gstmpg123audiodec.h:
 5258 	  mpeg123: allow per feature registration
 5259 	  Split plugin into features including
 5260 	  dynamic types which can be indiviually
 5261 	  registered during a static build.
 5262 	  More details here:
 5263 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5264 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5265 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5266 
 5267 2021-02-12 10:33:50 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5268 
 5269 	* ext/libpng/gstpng.c:
 5270 	* ext/libpng/gstpngdec.c:
 5271 	* ext/libpng/gstpngdec.h:
 5272 	* ext/libpng/gstpngenc.c:
 5273 	* ext/libpng/gstpngenc.h:
 5274 	  libpng: allow per feature registration
 5275 	  Split plugin into features including
 5276 	  dynamic types which can be indiviually
 5277 	  registered during a static build.
 5278 	  More details here:
 5279 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5280 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5281 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5282 
 5283 2021-02-12 10:27:18 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5284 
 5285 	* ext/lame/gstlamemp3enc.c:
 5286 	* ext/lame/gstlamemp3enc.h:
 5287 	* ext/lame/plugin.c:
 5288 	  lame: allow per feature registration
 5289 	  Split plugin into features including
 5290 	  dynamic types which can be indiviually
 5291 	  registered during a static build.
 5292 	  More details here:
 5293 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5294 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5295 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5296 
 5297 2021-02-12 10:26:26 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5298 
 5299 	* ext/libcaca/gstcacaplugin.c:
 5300 	* ext/libcaca/gstcacasink.c:
 5301 	* ext/libcaca/gstcacasink.h:
 5302 	* ext/libcaca/gstcacatv.c:
 5303 	* ext/libcaca/gstcacatv.h:
 5304 	* ext/libcaca/meson.build:
 5305 	  libcaca: allow per feature registration
 5306 	  Split plugin into features including
 5307 	  dynamic types which can be indiviually
 5308 	  registered during a static build.
 5309 	  More details here:
 5310 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5311 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5312 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5313 
 5314 2021-02-12 10:09:46 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5315 
 5316 	* ext/jpeg/gstjpeg.c:
 5317 	* ext/jpeg/gstjpegdec.c:
 5318 	* ext/jpeg/gstjpegelements.h:
 5319 	* ext/jpeg/gstjpegenc.c:
 5320 	* ext/jpeg/gstjpegplugin.c:
 5321 	* ext/jpeg/gstsmokedec.c:
 5322 	* ext/jpeg/gstsmokeenc.c:
 5323 	* ext/jpeg/meson.build:
 5324 	  jpeg: allow per feature registration
 5325 	  Split plugin into features including
 5326 	  dynamic types which can be indiviually
 5327 	  registered during a static build.
 5328 	  More details here:
 5329 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5330 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5331 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5332 
 5333 2021-02-12 09:56:36 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5334 
 5335 	* ext/jack/gstjack.c:
 5336 	* ext/jack/gstjack.h:
 5337 	* ext/jack/gstjackaudiosink.c:
 5338 	* ext/jack/gstjackaudiosrc.c:
 5339 	  jack: allow per feature registration
 5340 	  Split plugin into features including
 5341 	  dynamic types which can be indiviually
 5342 	  registered during a static build.
 5343 	  More details here:
 5344 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5345 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5346 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5347 
 5348 2021-02-12 08:57:55 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5349 
 5350 	* ext/gdk_pixbuf/gstgdkpixbufdec.c:
 5351 	* ext/gdk_pixbuf/gstgdkpixbufelement.c:
 5352 	* ext/gdk_pixbuf/gstgdkpixbufelements.h:
 5353 	* ext/gdk_pixbuf/gstgdkpixbufoverlay.c:
 5354 	* ext/gdk_pixbuf/gstgdkpixbufplugin.c:
 5355 	* ext/gdk_pixbuf/gstgdkpixbufsink.c:
 5356 	* ext/gdk_pixbuf/meson.build:
 5357 	  gdk_pixbuf: allow per feature registration
 5358 	  Split plugin into features including
 5359 	  dynamic types which can be indiviually
 5360 	  registered during a static build.
 5361 	  More details here:
 5362 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5363 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5364 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5365 
 5366 2021-02-12 08:48:21 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5367 
 5368 	* ext/gtk/gstgtkglsink.c:
 5369 	* ext/gtk/gstgtkglsink.h:
 5370 	* ext/gtk/gstgtksink.c:
 5371 	* ext/gtk/gstgtksink.h:
 5372 	* ext/gtk/gstplugin.c:
 5373 	  gtk: allow per feature registration
 5374 	  Split plugin into features including
 5375 	  dynamic types which can be indiviually
 5376 	  registered during a static build.
 5377 	  More details here:
 5378 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5379 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5380 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5381 
 5382 2021-02-11 19:53:30 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5383 
 5384 	* ext/flac/gstflac.c:
 5385 	* ext/flac/gstflacdec.c:
 5386 	* ext/flac/gstflacelement.c:
 5387 	* ext/flac/gstflacelements.h:
 5388 	* ext/flac/gstflacenc.c:
 5389 	* ext/flac/gstflactag.c:
 5390 	* ext/flac/meson.build:
 5391 	  flac: allow per feature registration
 5392 	  Split plugin into features including
 5393 	  dynamic types which can be indiviually
 5394 	  registered during a static build.
 5395 	  More details here:
 5396 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5397 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5398 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5399 
 5400 2021-02-11 18:57:03 +0100  Stéphane Cerveau <scerveau@collabora.com>
 5401 
 5402 	* ext/dv/gstdv.c:
 5403 	* ext/dv/gstdvdec.c:
 5404 	* ext/dv/gstdvdemux.c:
 5405 	* ext/dv/gstdvelement.c:
 5406 	* ext/dv/gstdvelements.h:
 5407 	* ext/dv/meson.build:
 5408 	  dv: allow per feature registration
 5409 	  Split plugin into features including
 5410 	  dynamic types which can be indiviually
 5411 	  registered during a static build.
 5412 	  More details here:
 5413 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5414 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5415 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5416 
 5417 2020-08-14 15:27:31 -0400  Julian Bouzas <julian.bouzas@collabora.com>
 5418 
 5419 	* ext/aalib/gstaaplugin.c:
 5420 	* ext/aalib/gstaasink.c:
 5421 	* ext/aalib/gstaasink.h:
 5422 	* ext/aalib/gstaatv.c:
 5423 	* ext/aalib/gstaatv.h:
 5424 	* ext/aalib/meson.build:
 5425 	  aalib: allow per feature registration
 5426 	  Split plugin into features including
 5427 	  dynamic types which can be indiviually
 5428 	  registered during a static build.
 5429 	  More details here:
 5430 	  https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
 5431 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
 5432 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
 5433 
 5434 2021-03-19 17:19:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 5435 
 5436 	* docs/gst_plugins_cache.json:
 5437 	* gst/videocrop/gstvideocrop.c:
 5438 	* gst/videocrop/gstvideocrop.h:
 5439 	* tests/check/elements/videocrop.c:
 5440 	  videocrop: handle non raw caps features
 5441 	  Currently, videocrop, only negotiates raw caps (system memory) because
 5442 	  it's the type of memory it can modify. Nonetheless, it's also possible
 5443 	  for the element to handle non-raw caps when only adding the crop meta
 5444 	  is possible, in other words, when downstream buffer pools expose the
 5445 	  crop API.
 5446 	  This patch enable non-raw caps negotiation. If downstream doesn't
 5447 	  expose crop API and negotiated caps are featured, the negotiation
 5448 	  fails.
 5449 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/915>
 5450 
 5451 2021-03-19 10:35:09 +0200  Sebastian Dröge <sebastian@centricular.com>
 5452 
 5453 	* gst/rtpmanager/gstrtpbin.c:
 5454 	  rtpbin: Don't special-case G_SIGNAL_RUN_CLEANUP stage in signal accumulators
 5455 	  All these signals don't run the class handler in the CLEANUP stage.
 5456 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/913>
 5457 
 5458 2021-03-19 10:34:33 +0200  Sebastian Dröge <sebastian@centricular.com>
 5459 
 5460 	* ext/shout2/gstshout2.c:
 5461 	  shout2: Don't register signal without class handler with G_SIGNAL_RUN_CLEANUP
 5462 	  There is no class handler to run during the CLEANUP stage.
 5463 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/913>
 5464 
 5465 2021-03-23 16:59:28 +0800  Hou Qi <qi.hou@nxp.com>
 5466 
 5467 	* sys/v4l2/gstv4l2object.c:
 5468 	  v4l2object: Avoid colorimetry mismatch for streams with invalid colorimetry
 5469 	  video-info sets gst colorimetry to default value when colorimetry in caps
 5470 	  is unparsable or invalid. Then v4l2object uses this gst colorimetry to do
 5471 	  mapping with v4l2 colorimetry. This may cause colorimetry mismatch when
 5472 	  check mapped gst colorimetry with that read from caps directly.
 5473 	  To fix this, need to correct gst colorimetry as that parsed from video-info
 5474 	  when check gst_v4l2_video_colorimetry_matches().
 5475 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/917>
 5476 
 5477 2021-03-19 10:52:26 +0800  Hou Qi <qi.hou@nxp.com>
 5478 
 5479 	* sys/v4l2/gstv4l2object.c:
 5480 	  v4l2object: Add support for hdr10 stream playback
 5481 	  Colorimetry of hdr10 video is bt2100-pq with transfer as
 5482 	  GST_VIDEO_TRANSFER_SMPTE2084. So map GST_VIDEO_TRANSFER_SMPTE2084
 5483 	  to V4L2_XFER_FUNC_SMPTE2084 to support hdr10 stream playback.
 5484 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/888>
 5485 
 5486 2021-03-20 10:41:29 -0500  Sid Sethupathi <sid.sethupathi@gmail.com>
 5487 
 5488 	* gst/shapewipe/gstshapewipe.c:
 5489 	  shapewipe: fix broken link in docs
 5490 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/916>
 5491 
 5492 2021-03-18 17:42:02 +0000  Alba Mendez <me@alba.sh>
 5493 
 5494 	* docs/gst_plugins_cache.json:
 5495 	* gst/rtsp/gstrtspsrc.c:
 5496 	  rtspsrc: Fix more signals
 5497 	  Behaviour change in GLib causes select-stream signal to discard
 5498 	  the value returned by handlers. See !909 for more info.
 5499 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/912>
 5500 
 5501 2021-03-18 19:52:53 +1100  Matthew Waters <matthew@centricular.com>
 5502 
 5503 	* ext/jack/gstjack.c:
 5504 	* ext/jack/gstjackaudiosink.c:
 5505 	* ext/jack/gstjackaudiosrc.c:
 5506 	* ext/pulse/pulsesink.h:
 5507 	* ext/qt/gstqsgtexture.cc:
 5508 	* ext/qt/gstqtglutility.cc:
 5509 	* ext/qt/qtglrenderer.cc:
 5510 	* ext/qt/qtitem.cc:
 5511 	* ext/qt/qtwindow.cc:
 5512 	* ext/vpx/gstvpxdec.c:
 5513 	* ext/vpx/gstvpxenc.c:
 5514 	* gst/audioparsers/gstac3parse.h:
 5515 	* sys/rpicamsrc/gstrpicamsrc.c:
 5516 	* sys/ximage/ximageutil.c:
 5517 	  gst: don't use volatile to mean atomic
 5518 	  volatile is not sufficient to provide atomic guarantees and real atomics
 5519 	  should be used instead.  GCC 11 has started warning about using volatile
 5520 	  with atomic operations.
 5521 	  https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
 5522 	  Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
 5523 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/911>
 5524 
 5525 2021-03-17 15:54:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 5526 
 5527 	* docs/gst_plugins_cache.json:
 5528 	* gst/rtsp/gstrtspsrc.c:
 5529 	  Update docs cache and fix before-send signal doc syntax
 5530 	  The docs for before-send were missing because of this
 5531 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/909>
 5532 
 5533 2021-03-17 13:18:34 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 5534 
 5535 	* gst/rtsp/gstrtspsrc.c:
 5536 	  rtspsrc: Fix accumulation of before-send signal return values
 5537 	  Since glib 2.62, the accumulated return values in RUN_CLEANUP override the
 5538 	  accumulated return values in RUN_FIRST. Since:
 5539 	  1. We have a default handler that always returns TRUE, and
 5540 	  2. User handlers are only run in RUN_FIRST, and
 5541 	  3. Our accumulator just takes the latest return value
 5542 	  We were discarding the return value from the user handler and always
 5543 	  sending messages even if the user handler said not to. See
 5544 	  https://gitlab.gnome.org/GNOME/glib/-/issues/2352 for more details.
 5545 	  This signal does not need RUN_CLEANUP or RUN_FIRST, so just change it
 5546 	  to RUN_LAST so that it's emitted exactly once and accumulated once.
 5547 	  With this fix, this signal can now be used to intercept PAUSE when
 5548 	  going to GST_STATE_NULL so that the server does a TEARDOWN (if
 5549 	  necessary) and not a PAUSE, which will confuse other RTSP clients when
 5550 	  playing shared media.
 5551 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/909>
 5552 
 5553 2021-03-17 11:32:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 5554 
 5555 	* gst/rtsp/gstrtspsrc.c:
 5556 	  Revert unusable workaround for PAUSE being sent when going NULL
 5557 	  Directly setting rtspsrc to the NULL state before putting the pipeline
 5558 	  in the NULL state usually works, but it can cause a deadlock in some
 5559 	  cases, so it's not a reliable mechanism to fix this.
 5560 	  This reverts commit f37afdafff1fd0a339966116261f5cd0de53f5d1:
 5561 	  "rtspsrc: Fix state changes from PAUSED to PLAYING"
 5562 	  and commit 76d624b2df5594a82269b94dffe8766a372d059d:
 5563 	  "rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL"
 5564 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/908>
 5565 
 5566 2021-03-16 19:25:36 +0200  Sebastian Dröge <sebastian@centricular.com>
 5567 
 5568 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 5569 	  rtpjitterbuffer: Fix parsing of the mediaclk:direct= field
 5570 	  Due to an off-by-one when parsing the string, the most significant digit
 5571 	  or the clock offset was skipped when parsing the offset.
 5572 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/907>
 5573 
 5574 2021-03-16 00:08:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 5575 
 5576 	* gst/rtsp/gstrtspsrc.c:
 5577 	  rtspsrc: Fix state changes from PAUSED to PLAYING
 5578 	  This was accidentally broken in the last commit that touched this
 5579 	  because I missed the fall-through in the case immediately above this.
 5580 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/906>
 5581 
 5582 2021-03-04 13:05:19 +0200  Sebastian Dröge <sebastian@centricular.com>
 5583 
 5584 	* gst/matroska/matroska-demux.c:
 5585 	* gst/matroska/matroska-ids.h:
 5586 	  matroskademux: Fix extraction of multichannel WavPack
 5587 	  The old code had a couple of issues that all lead to potential memory
 5588 	  safety bugs.
 5589 	  - Use a constant for the Wavpack4Header size instead of using sizeof.
 5590 	  It's written out into the data and not from the struct and who knows
 5591 	  what special alignment/padding requirements some C compilers have.
 5592 	  - gst_buffer_set_size() does not realloc the buffer when setting a
 5593 	  bigger size than allocated, it only allows growing up to the maximum
 5594 	  allocated size. Instead use a GstAdapter to collect all the blocks
 5595 	  and take out everything at once in the end.
 5596 	  - Check that enough data is actually available in the input and
 5597 	  otherwise handle it an error in all cases instead of silently
 5598 	  ignoring it.
 5599 	  Among other things this fixes out of bounds writes because the code
 5600 	  assumed gst_buffer_set_size() can grow the buffer and simply wrote after
 5601 	  the end of the buffer.
 5602 	  Thanks to Natalie Silvanovich for reporting.
 5603 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/859
 5604 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902>
 5605 
 5606 2021-03-03 11:31:52 +0200  Sebastian Dröge <sebastian@centricular.com>
 5607 
 5608 	* gst/matroska/matroska-demux.c:
 5609 	  matroskademux: Initialize track context out parameter to NULL before parsing
 5610 	  Various error return paths don't set it to NULL and callers are only
 5611 	  checking if the pointer is NULL. As it's allocated on the stack this
 5612 	  usually contains random stack memory, and more often than not the memory
 5613 	  of a previously parsed track.
 5614 	  This then causes all kinds of memory corruptions further down the line.
 5615 	  Thanks to Natalie Silvanovich for reporting.
 5616 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/858
 5617 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902>
 5618 
 5619 2021-03-15 12:57:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 5620 
 5621 	* gst/rtsp/gstrtspsrc.c:
 5622 	  rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL
 5623 	  This usually doesn't matter, but it is disruptive when streaming from
 5624 	  a shared media since it will pause all other clients when any client
 5625 	  exits.
 5626 	  This new behaviour is opt-in and should be safe because you need to
 5627 	  set the NULL state on rtspsrc directly, instead of just on the
 5628 	  pipeline. See the updated documentation for an explanation.
 5629 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/901>
 5630 
 5631 2021-01-18 15:54:43 +0100  Philipp Zabel <p.zabel@pengutronix.de>
 5632 
 5633 	* sys/v4l2/gstv4l2object.c:
 5634 	  v4l2object: handle GST_VIDEO_TRANSFER_BT601
 5635 	  V4L2 makes no difference between the BT.601 and BT.709 transfer
 5636 	  functions [1], but GStreamer does since 1.18 [2].
 5637 	  Adapt gst_v4l2_object_get_colorspace() and
 5638 	  gst_v4l2_object_set_format_full().
 5639 	  [1] https://linuxtv.org/downloads/v4l-dvb-apis-new/userspace-api/v4l/colorspaces-details.html#colorspace-smpte-170m-v4l2-colorspace-smpte170m
 5640 	  [2] https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724
 5641 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/856>
 5642 
 5643 2021-03-11 22:22:15 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 5644 
 5645 	* gst/rtsp/gstrtspsrc.c:
 5646 	  rtspsrc: fix title of a few properties docstrings
 5647 	  GstRtspSrc -> GstRTSPSrc
 5648 	  This would have been noticed by the since checker, but those
 5649 	  properties were introduced prior to that.
 5650 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/899>
 5651 
 5652 2021-03-07 21:25:01 +0000  Vladimir Menshakov <vladimir.menshakov@gmail.com>
 5653 
 5654 	* docs/gst_plugins_cache.json:
 5655 	* ext/wavpack/gstwavpackdec.c:
 5656 	* ext/wavpack/gstwavpackdec.h:
 5657 	  wavpackdec: Add floating point format support
 5658 	  This commit negotiate F32 audio format if MODE_FLOAT used in wavpack file.
 5659 	  Wavpack float mode is always in 32-bit IEEE format.
 5660 	  The following pipeline plays distorted audio if source file is encoded in float mode:
 5661 	  gst-launch-1.0 filesrc ... ! wavpackparse ! wavpackdec ! pulsesink
 5662 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/894>
 5663 
 5664 2021-03-04 16:40:06 +1100  Matthew Waters <matthew@centricular.com>
 5665 
 5666 	* gst/matroska/matroska-demux.c:
 5667 	  matroska: also support push-mode from seek events sent to the element
 5668 	  Otherwise sending seek events would fail to actually seek.
 5669 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/891>
 5670 
 5671 2021-02-26 10:49:10 +0100  Marc Leeman <m.leeman@televic.com>
 5672 
 5673 	* gst/rtsp/gstrtspsrc.c:
 5674 	  gstrtspsrc: 551 should not result in an unhandled error
 5675 	  Some cameras (e.g. HikVision DS-2CD2732F-IS) return "551 Option
 5676 	  not supported" when a command is sent that is not implemented
 5677 	  (e.g. PAUSE). Instead; it should return "501 Not Implemented".
 5678 	  This is wrong, as previously, the camera did announce support for PAUSE
 5679 	  in the OPTIONS.
 5680 	  In this case, handle the 551 as if it was 501 to avoid throwing errors
 5681 	  to application level. */
 5682 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/885>
 5683 
 5684 2021-03-01 14:32:40 +0800  Hou Qi <qi.hou@nxp.com>
 5685 
 5686 	* sys/v4l2/gstv4l2videodec.c:
 5687 	  v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps
 5688 	  Vp8/vp9 supported profiles/levels are listed in decoder sink caps, but
 5689 	  there is no parser for these two formats and the demuxers also don't have
 5690 	  these information. It causes negotiation fail between demuxers and decoder
 5691 	  when check caps "accept = gst_caps_is_subset (caps, template_caps);".
 5692 	  To fix this, need to remove profiles/levels for vp8/vp9 formats in decoder
 5693 	  sink caps.
 5694 	  Fix #854
 5695 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/887>
 5696 
 5697 2021-03-03 18:30:39 +0900  Seungha Yang <seungha@centricular.com>
 5698 
 5699 	* gst/rtpmanager/gstrtphdrext-twcc.h:
 5700 	  rtpmanager: Fix an MSVC compile warning
 5701 	  We don't expect this object is a part of public library.
 5702 	  gstrtphdrext-twcc.c(45): warning C4273: 'gst_rtp_header_extension_twcc_get_type': inconsistent dll linkage
 5703 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/889>
 5704 
 5705 2021-02-24 13:25:43 +0100  Philipp Zabel <p.zabel@pengutronix.de>
 5706 
 5707 	* sys/v4l2/gstv4l2videodec.c:
 5708 	  v4l2videodec: fix src side frame rate negotiation
 5709 	  Negotiating v4l2h264dec ! v4l2h264enc transcoding pipelines fails in
 5710 	  case the encoder does not accept framerate=(fraction)0/1.
 5711 	  The acquired caps used for downstream negotiation are determined from
 5712 	  gst_v4l2_object_acquire_format(), which sets the GstVideoInfo::fps_n
 5713 	  and ::fps_d fields to 0.
 5714 	  To fix this, copy the frame rate from the sink side.
 5715 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/882>
 5716 
 5717 2021-02-16 16:20:05 +0200  Jordan Petridis <jpetridis@gnome.org>
 5718 
 5719 	* sys/rpicamsrc/meson.build:
 5720 	  rpicamsrc: depend on posix threads and vchiq_arm
 5721 	  Could only test on rpi 3b+
 5722 	  Close #839
 5723 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/875>
 5724 
 5725 2021-02-11 14:48:07 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5726 
 5727 	* sys/v4l2/gstv4l2bufferpool.c:
 5728 	  v4l2bufferpool: Silence traces around unsupported source change
 5729 	  Don't be too spamy about unsupported source change flags as these will be
 5730 	  commonly extended in the future.
 5731 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5732 
 5733 2021-02-11 14:24:29 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5734 
 5735 	* sys/v4l2/gstv4l2src.c:
 5736 	  v4l2src: Move preferred resolution query before the probe
 5737 	  As we lock the DV_TIMINGS (and standards in the future), we need to probe the
 5738 	  caps after, otherwise, we may endup fixating to an unsupported resolution,
 5739 	  which would lead to a not-negotiated error.
 5740 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5741 
 5742 2021-02-10 16:37:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5743 
 5744 	* sys/v4l2/gstv4l2src.c:
 5745 	* sys/v4l2/v4l2_calls.c:
 5746 	  v4l2src: Calculate framerate from DV timings
 5747 	  And use this framerate in our preference. Note that we also flush
 5748 	  the probed caps as it seems that the format enumeration may change
 5749 	  when a new source change event get triggered.
 5750 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5751 
 5752 2021-02-10 15:52:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5753 
 5754 	* sys/v4l2/gstv4l2bufferpool.h:
 5755 	* sys/v4l2/gstv4l2object.h:
 5756 	* sys/v4l2/gstv4l2src.c:
 5757 	* sys/v4l2/v4l2_calls.c:
 5758 	  v4l2rc: Add DV_TIMINGS query and locking
 5759 	  This adds support to DV_TIMINGS query and locking. The timing width and
 5760 	  height is then used as a preference.
 5761 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5762 
 5763 2021-02-10 15:49:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5764 
 5765 	* sys/v4l2/gstv4l2src.c:
 5766 	  v4l2src: Force renegotiation on resolution change
 5767 	  As mandated by the specification, make sure to cycle through streamoff
 5768 	  / streamon regardless if the caps have changed or not.
 5769 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5770 
 5771 2021-02-10 14:52:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5772 
 5773 	* sys/v4l2/gstv4l2object.h:
 5774 	  v4l2object: Remove unused streaming member
 5775 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5776 
 5777 2021-02-10 10:48:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5778 
 5779 	* sys/v4l2/gstv4l2src.c:
 5780 	  v4l2src: Refactor to use PreferredCapsInfo structure
 5781 	  Avoid passing around a bare structure for the preference, this removes
 5782 	  the need to copy and free that structure and simplify the code. Also
 5783 	  fix a type in the structure name, Prefered -> Preferred.
 5784 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5785 
 5786 2021-02-08 17:27:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5787 
 5788 	* sys/v4l2/gstv4l2src.c:
 5789 	  v4l2src: Stub preferred resolution support
 5790 	  This stubs the ability to use preferred resolution from digital
 5791 	  video timings, analog TV standards or driver reported native
 5792 	  resolution.
 5793 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5794 
 5795 2021-02-09 14:44:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5796 
 5797 	* sys/v4l2/gstv4l2bufferpool.c:
 5798 	* sys/v4l2/gstv4l2object.h:
 5799 	* sys/v4l2/v4l2_calls.c:
 5800 	  v4l2: Subscribe source_change for the current input
 5801 	  When we subscribe for source-change event, we need to specify for which
 5802 	  input. Make sure we subscribe for the current input.
 5803 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5804 
 5805 2021-02-08 17:26:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5806 
 5807 	* sys/v4l2/gstv4l2src.c:
 5808 	* sys/v4l2/gstv4l2src.h:
 5809 	  v4l2src: Add input signal status detection
 5810 	  As part of the support to select a preferred size, we can also
 5811 	  detect the signal status. This is a split patch so that feature
 5812 	  is separated to ease review.
 5813 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5814 
 5815 2021-02-08 17:24:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5816 
 5817 	* sys/v4l2/gstv4l2object.h:
 5818 	* sys/v4l2/v4l2_calls.c:
 5819 	  v4l2: Add helper to query input status
 5820 	  This is a wrapper around ENUM_INPUT renamed for readability.
 5821 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5822 
 5823 2021-02-08 17:22:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5824 
 5825 	* sys/v4l2/gstv4l2object.h:
 5826 	* sys/v4l2/gstv4l2radio.c:
 5827 	* sys/v4l2/gstv4l2tuner.c:
 5828 	* sys/v4l2/v4l2_calls.c:
 5829 	  v4l2: Fix input/output index sign
 5830 	  This is an unsigned integer in the kernel API.
 5831 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5832 
 5833 2021-02-04 16:59:44 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5834 
 5835 	* sys/v4l2/gstv4l2src.c:
 5836 	  v4l2src: Add source resolution change support
 5837 	  This patch adds support for source resolution change detection.
 5838 	  Resolution change is signaled by drivers when a change in the detected
 5839 	  signal have been detected. This is notably seen on HDMI receivers.
 5840 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5841 
 5842 2021-02-04 14:13:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5843 
 5844 	* sys/v4l2/gstv4l2bufferpool.c:
 5845 	* sys/v4l2/gstv4l2bufferpool.h:
 5846 	  v4l2bufferpool: Handle resolution change event
 5847 	  This patch adds the detection, dequeuing and reporting of the SOURCE_CHANGE
 5848 	  event when the CH_RESOLUTION flag is set. The acquire function will now return
 5849 	  a new custom success called GST_V4L2_FLOW_RESOLUTION_CHANGE. In order to use
 5850 	  this new feature, elements must enable it by calling:
 5851 	  gst_v4l2_buffer_pool_enable_resolution_change (pool);
 5852 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5853 
 5854 2021-02-04 11:01:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5855 
 5856 	* sys/v4l2/gstv4l2object.h:
 5857 	* sys/v4l2/v4l2_calls.c:
 5858 	  v4l2object: Add event helpers
 5859 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5860 
 5861 2021-02-04 10:10:34 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 5862 
 5863 	* sys/v4l2/gstv4l2bufferpool.c:
 5864 	  v4l2bufferpool: use FLOW_LAST_BUFFER
 5865 	  This uses the GST_V4L2_FLOW_LAST_BUFFER alias instead of
 5866 	  GST_FLOW_CUSTOM_SUCCESS to make the code more readable.
 5867 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/870>
 5868 
 5869 2018-12-10 14:10:05 +0100  Lucas Stach <l.stach@pengutronix.de>
 5870 
 5871 	* sys/v4l2/gstv4l2object.c:
 5872 	  v4l2object: prefer NV12 over I420
 5873 	  Considering NV12 an 'odd' format is a historical artifact. This format
 5874 	  is now quite common, and usually preferable to I420 due to more memory
 5875 	  friendly access patterns.
 5876 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/857>
 5877 
 5878 2021-02-18 10:34:25 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 5879 
 5880 	* gst/wavparse/gstwavparse.c:
 5881 	* tests/check/elements/wavparse.c:
 5882 	  wavparse: fix seeking in READY state
 5883 	  wavparse claims to be able to support seeking in the READY state by
 5884 	  saving the pending seek event and actually seeking later after having parsed the
 5885 	  header.
 5886 	  Problem was that this seek event was reset on the READY to PAUSED
 5887 	  transition, making all this code useless. Fixing it by stop resetting
 5888 	  on READY to PAUSED transition as we already reset on PAUSED to READY
 5889 	  and when initiating the element.
 5890 	  Note that DTS marker detection isn't support in such scenario as
 5891 	  gst_type_find_helper_for_buffer() needs a buffer containing the
 5892 	  beginning of the stream.
 5893 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/879>
 5894 
 5895 2021-02-18 10:05:03 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 5896 
 5897 	* tests/check/elements/wavparse.c:
 5898 	  tests: wavparse: factor out create_pipeline()
 5899 	  No semantic change.
 5900 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/879>
 5901 
 5902 2021-02-18 00:34:02 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 5903 
 5904 	* docs/gst_plugins_cache.json:
 5905 	  docs: update plugins cache with new h264 / vp8 depay properties
 5906 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/834>
 5907 
 5908 2020-12-09 01:40:45 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 5909 
 5910 	* gst/rtp/gstrtph264depay.c:
 5911 	* gst/rtp/gstrtph264depay.h:
 5912 	  rtph264depay: expose request-keyframe property
 5913 	  When set, the depayloader will request new keyframes on packet
 5914 	  loss
 5915 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/834>
 5916 
 5917 2020-12-09 01:34:20 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 5918 
 5919 	* gst/rtp/gstrtpvp8depay.c:
 5920 	* gst/rtp/gstrtpvp8depay.h:
 5921 	  rtpvp8depay: expose request-keyframe property
 5922 	  When set, the depayloader will request new keyframes on packet
 5923 	  loss
 5924 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/834>
 5925 
 5926 2020-12-09 01:24:57 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 5927 
 5928 	* gst/rtp/gstrtph264depay.c:
 5929 	* gst/rtp/gstrtph264depay.h:
 5930 	  rtph264depay: expose wait-for-keyframe property
 5931 	  Similar to rtpvp8depay, when packet loss occurs, the depayloader
 5932 	  starts waiting for a keyframe.
 5933 	  We try to only stop waiting when all the packets for the new keyframe
 5934 	  have been received, by only resetting waiting_for_keyframe when
 5935 	  encountering the first packet of a keyframe, this is slightly
 5936 	  fragile because there is no bit that explicitly marks the start
 5937 	  of an access unit, so we rely on the existing picture_start
 5938 	  detection code.
 5939 	  As a consequence, the property is only meaningful when outputting
 5940 	  access units, and is ignored when outputting NALs directly.
 5941 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/834>
 5942 
 5943 2021-02-18 00:36:43 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 5944 
 5945 	* docs/gst_plugins_cache.json:
 5946 	* gst/videomixer/videomixer2.c:
 5947 	  videomixer: document as deprecated
 5948 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/878>
 5949 
 5950 2021-02-16 22:20:17 +1100  Ashley Brighthope <ashley.b@reddegrees.com>
 5951 
 5952 	* gst/wavenc/gstwavenc.c:
 5953 	  wavenc: Fixed INFO chunk corruption, caused by odd sized data not being padded. Code style was updated.
 5954 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/873>
 5955 
 5956 2020-12-07 19:51:35 +0100  Jakub Adam <jakub.adam@collabora.com>
 5957 
 5958 	* gst/rtp/gstrtpopuspay.c:
 5959 	  rtpopuspay: add info regarding (non-standard) multichannel support
 5960 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832>
 5961 
 5962 2020-12-07 16:50:01 +0100  Jakub Adam <jakub.adam@collabora.com>
 5963 
 5964 	* docs/gst_plugins_cache.json:
 5965 	  docs: update plugins cache for rtpopus
 5966 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832>
 5967 
 5968 2020-12-01 20:09:58 +0100  Jakub Adam <jakub.adam@collabora.com>
 5969 
 5970 	* tests/check/elements/rtpopus.c:
 5971 	  tests: add rtpopus multichannel test cases
 5972 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832>
 5973 
 5974 2020-12-01 16:43:32 +0100  Jakub Adam <jakub.adam@collabora.com>
 5975 
 5976 	* gst/rtp/gstrtpopusdepay.c:
 5977 	  rtpopusdepay: support libwebrtc-compatible multichannel payload
 5978 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832>
 5979 
 5980 2020-11-30 21:49:48 +0100  Jakub Adam <jakub.adam@collabora.com>
 5981 
 5982 	* gst/rtp/gstrtpopuspay.c:
 5983 	  rtpopuspay: support libwebrtc-compatible multichannel payload
 5984 	  When the audio has more than 2 channels, add optional fields to output
 5985 	  caps from which webrtcbin can generate SDP in the syntax recognized by
 5986 	  "multiopus" codec present in libwebrtc [1].
 5987 	  e.g. for 5.1 audio:
 5988 	  a=rtpmap:96 multiopus/48000/6
 5989 	  a=fmtp:96 num_streams=4;coupled_streams=2;channel_mapping=0,4,1,2,3,5
 5990 	  [1] https://webrtc-review.googlesource.com/c/src/+/129768
 5991 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832>
 5992 
 5993 2020-11-30 22:10:14 +0100  Jakub Adam <jakub.adam@collabora.com>
 5994 
 5995 	* gst/rtp/gstrtpopuspay.c:
 5996 	  rtpopuspay: make use of gst_rtp_base_payload_set_outcaps_structure()
 5997 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832>
 5998 
 5999 2021-02-09 19:31:28 -0500  Olivier Crête <olivier.crete@collabora.com>
 6000 
 6001 	* gst/effectv/LICENSE:
 6002 	  effectv: Remove redundant license file
 6003 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/869>
 6004 
 6005 2021-02-05 00:55:12 +0000  Kevin Song <kevinbing.song@gmail.com>
 6006 
 6007 	* sys/v4l2/gstv4l2videoenc.c:
 6008 	  Apply 1 suggestion(s) to 1 file(s)
 6009 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/868>
 6010 
 6011 2021-02-05 00:55:04 +0000  Kevin Song <kevinbing.song@gmail.com>
 6012 
 6013 	* sys/v4l2/gstv4l2videoenc.c:
 6014 	  Apply 1 suggestion(s) to 1 file(s)
 6015 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/868>
 6016 
 6017 2021-02-04 13:43:17 +0800  Bing Song <bing.song@nxp.com>
 6018 
 6019 	* sys/v4l2/gstv4l2videoenc.c:
 6020 	  v4l2videoenc: support resolution change stream encode.
 6021 	  Resolution change stream transcoding will drain before send new video
 6022 	  frame buffer. Need encode video frame after process EOS.
 6023 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/868>
 6024 
 6025 2021-02-04 11:44:53 +0100  Xabier Rodriguez Calvar <calvaris@igalia.com>
 6026 
 6027 	* gst/isomp4/fourcc.h:
 6028 	* gst/isomp4/qtdemux.c:
 6029 	  qtdemux: added support for cbcs encryption scheme
 6030 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/865>
 6031 
 6032 2021-01-21 18:04:58 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 6033 
 6034 	* docs/gst_plugins_cache.json:
 6035 	* gst/rtpmanager/gstrtphdrext-rfc6464.c:
 6036 	* gst/rtpmanager/gstrtphdrext-rfc6464.h:
 6037 	* gst/rtpmanager/gstrtpmanager.c:
 6038 	* gst/rtpmanager/meson.build:
 6039 	* tests/check/elements/rtphdrextrfc6464.c:
 6040 	* tests/check/meson.build:
 6041 	  rtp: add rtphdrextrfc6464
 6042 	  Header Extension for Client-to-Mixer Audio Level Indication as
 6043 	  defined in RFC 6464.
 6044 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/630>
 6045 
 6046 2020-06-16 12:01:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 6047 
 6048 	* docs/gst_plugins_cache.json:
 6049 	* gst/level/gstlevel.c:
 6050 	* gst/level/gstlevel.h:
 6051 	* tests/check/elements/level.c:
 6052 	  level: add GstRTPAudioLevelMeta on buffers
 6053 	  This meta can be used by a RTP payloader to send the level information
 6054 	  to the peer.
 6055 	  Part of https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/446
 6056 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/630>
 6057 
 6058 2021-02-03 17:10:20 +0200  Robert Swain <robert.swain@gmail.com>
 6059 
 6060 	* gst/deinterlace/gstdeinterlace.c:
 6061 	  deinterlace: Provide documentation for GST_DEINTERLACE_BUFFER_STATE
 6062 	  More information available in
 6063 	  https://gstconf.ubicast.tv/videos/interlacing-and-telecine-in-gstreamer/
 6064 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866>
 6065 
 6066 2021-01-30 16:16:13 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
 6067 
 6068 	* gst/deinterlace/gstdeinterlacemethod.c:
 6069 	  deinterlace: Fix telecine/onefield mixup
 6070 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/838
 6071 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866>
 6072 
 6073 2021-01-30 15:49:23 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
 6074 
 6075 	* gst/deinterlace/gstdeinterlace.c:
 6076 	* gst/deinterlace/gstdeinterlacemethod.c:
 6077 	  deinterlace: Better alternate support
 6078 	  Improve line offset halving based on whether this field is top or
 6079 	  bottom.
 6080 	  Also handle the buffer state the same as mixed.
 6081 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866>
 6082 
 6083 2021-01-14 01:12:06 +0800  Bing Song <bing.song@nxp.com>
 6084 
 6085 	* sys/v4l2/gstv4l2h265codec.c:
 6086 	  v4l2h265codec: fix HEVC profile string issue.
 6087 	  Keep HEVC profile compatible with other module.
 6088 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/850>
 6089 
 6090 2020-12-15 10:41:40 +0800  Bing Song <bing.song@nxp.com>
 6091 
 6092 	* sys/v4l2/gstv4l2object.c:
 6093 	* sys/v4l2/gstv4l2object.h:
 6094 	  v4l2object: Need keep same transfer as input caps.
 6095 	  GST_VIDEO_TRANSFER_BT2020_12 and GST_VIDEO_TRANSFER_BT2020_10 will
 6096 	  be mapped to V4L2_XFER_FUNC_709. Need check input caps when map
 6097 	  V4L2_XFER_FUNC_709 back to GST_VIDEO_TRANSFER_BT2020_12 and
 6098 	  GST_VIDEO_TRANSFER_BT2020_10
 6099 	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/816
 6100 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/841>
 6101 
 6102 2020-12-07 10:01:53 +0100  Tobias Ronge <tobiasr@axis.com>
 6103 
 6104 	* gst/rtsp/gstrtspsrc.c:
 6105 	  rtspsrc: Do not wait for response while flushing
 6106 	  Due to the may_cancel flag in GstRTSPConnection, receiving might not get
 6107 	  cancelled when supposed to. In this case, gst_rtsp_src_receive_response
 6108 	  will have to wait until timeout instead but if busy receiving RTP
 6109 	  data, this timeout will never occur.
 6110 	  With this patch, gst_rtsp_src_receive_response returns GST_RTSP_EINTR
 6111 	  if flushing is set to TRUE instead of continuing to receive.
 6112 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/831>
 6113 
 6114 2021-01-14 19:13:03 +0000  Tim-Philipp Müller <tim@centricular.com>
 6115 
 6116 	* ext/dv/meson.build:
 6117 	  meson: allow libdv subproject fallback
 6118 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/854>
 6119 
 6120 2020-12-21 13:55:58 +0100  Xabier Rodriguez Calvar <calvaris@igalia.com>
 6121 
 6122 	* gst/isomp4/qtdemux.c:
 6123 	  qtdemux: Allow streams with no specified protection system ID
 6124 	  This is necessary in cases like CMAF where there won't be any events
 6125 	  passing thru.
 6126 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/852>
 6127 
 6128 2021-01-07 16:57:27 +0800  Hou Qi <qi.hou@nxp.com>
 6129 
 6130 	* docs/gst_plugins_cache.json:
 6131 	* sys/v4l2/gstv4l2object.c:
 6132 	  v4l2object: Map correct video format for RGBA
 6133 	  Map V4L2_PIX_FMT_RGBA32 pixel format to GST_VIDEO_FORMAT_RGBA instead of
 6134 	  GST_VIDEO_FORMAT_RGB video format to support RGBA.
 6135 	  Fixes #823
 6136 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/848>
 6137 
 6138 2021-01-02 13:06:16 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 6139 
 6140 	* gst/udp/gstudpsrc.c:
 6141 	  udpsrc: Fix marker links
 6142 	  These should be with a single ':'. The double '::' results in a CI with
 6143 	  build failure message like below.
 6144 	  ERROR: [links]: (mandatory-link-not-found): Mandatory link Link GstSocketTimestamp -> None (GstSocketTimestamp) could not be resolved
 6145 	  ERROR: [check-missing-since-markers]: (missing-since-marker): Missing since marker for udpsrc:socket-timestamp
 6146 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/828>
 6147 
 6148 2020-12-17 11:24:07 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 6149 
 6150 	* docs/gst_plugins_cache.json:
 6151 	* gst/udp/gstudpsrc.c:
 6152 	* gst/udp/gstudpsrc.h:
 6153 	  udpsrc: Allow use of socket control message timestamps for DTS
 6154 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/828>
 6155 
 6156 2020-12-09 20:20:18 +1100  Matthew Waters <matthew@centricular.com>
 6157 
 6158 	* docs/gst_plugins_cache.json:
 6159 	* gst/videofilter/gstvideoflip.c:
 6160 	* gst/videofilter/gstvideoflip.h:
 6161 	* tests/check/elements/videoflip.c:
 6162 	  videoflip: fix possible crash when setting the video-direction while running
 6163 	  A classic case of not enough locking.
 6164 	  One interesting thing with this is the interaction between the
 6165 	  rotation value and caps negotiation.  i.e. the width/height of the caps
 6166 	  can be swapped depending on the video-direction property.  We can't lock
 6167 	  the entirety of the caps negotiation for obvious reasons so we need to
 6168 	  do something else.  This takes the approach of trying to use a single
 6169 	  rotation value throughout the entirety of the negotiation and then
 6170 	  subsequent output frame in a kind of latching sequence.
 6171 	  Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/792
 6172 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/836>
 6173 
 6174 2020-12-09 19:49:47 +1100  Matthew Waters <matthew@centricular.com>
 6175 
 6176 	* tests/check/elements/videoflip.c:
 6177 	* tests/check/meson.build:
 6178 	  tests: add tests for videoflip
 6179 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/836>
 6180 
 6181 2020-12-30 13:38:46 +0100  Ignacio Casal Quinteiro <qignacio@amazon.com>
 6182 
 6183 	* gst/deinterlace/meson.build:
 6184 	  deinterlace: force -DPREFIX on macos
 6185 	  This is due to a bug in meson where it will not detect properly
 6186 	  the compiler if the symbols need an undercore.
 6187 	  https://github.com/mesonbuild/meson/issues/5482
 6188 	  Fixes #821
 6189 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/845>
 6190 
 6191 2020-12-15 11:36:27 +0200  Sebastian Dröge <sebastian@centricular.com>
 6192 
 6193 	* docs/gst_plugins_cache.json:
 6194 	* gst/rtsp/gstrtspsrc.c:
 6195 	  rtspsrc: Use proper types instead of G_TYPE_POINTER for the RTSP messages in the "handle-request" signal
 6196 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/842>
 6197 
 6198 2020-12-10 14:27:49 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
 6199 
 6200 	* gst/multifile/gstsplitmuxsink.c:
 6201 	* gst/multifile/gstsplitmuxsink.h:
 6202 	  splitmuxsink: Avoid deadlock when releasing a pad from a running muxer
 6203 	  Might not drain correctly
 6204 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/838>
 6205 
 6206 2020-12-11 11:24:14 +0800  Hou Qi <qi.hou@nxp.com>
 6207 
 6208 	* sys/v4l2/gstv4l2object.c:
 6209 	  v4l2object: Use active resolution during fallback colorspace probe
 6210 	  For legacy drivers that don't implement ENUM_FRAMESIZE, use active
 6211 	  resolution to probe colorspace. This can improve the accuracy of the
 6212 	  result when the colorspace depends on the resolution. This fixes a
 6213 	  wrong colorspace issue on board with vendor bsp at resolution 2560x1440.
 6214 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/830>
 6215 
 6216 2020-12-12 04:02:37 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 6217 
 6218 	* gst/rtpmanager/gstrtpst2022-1-fecdec.c:
 6219 	  rtpst2022-1-fecdec: don't xor out of bounds
 6220 	  When reconstituting packets from a stream with variable packet
 6221 	  sizes, don't xor larger packets past the length of the protected
 6222 	  packet
 6223 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/839>
 6224 
 6225 2020-12-12 04:00:41 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 6226 
 6227 	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
 6228 	  rtpst2022-1-fecenc: memset when reallocating xored payload
 6229 	  When protecting packets with a variable payload length, we
 6230 	  reallocate the xored payload when needed. It is a good idea
 6231 	  to memset the extended memory to 0 so that we don't xor
 6232 	  data with garbage!
 6233 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/839>
 6234 
 6235 2020-12-12 03:56:11 +0100  Mathieu Duponchelle <mathieu@centricular.com>
 6236 
 6237 	* gst/rtpmanager/gstrtpst2022-1-fecdec.c:
 6238 	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
 6239 	  rtpst2022-1-fec-*: protect additional RTP header fields
 6240 	  While the standard is a bit vague about whether the padding,
 6241 	  extension and marker bits should be protected:
 6242 	  > The usage, by senders and receivers, of the following bits shall
 6243 	  > be defined by the associated video/audio transport standards:
 6244 	  It is obviously necessary and useful for some formats (eg VP8)
 6245 	  that those indeed be protected.
 6246 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/839>
 6247 
 6248 2020-12-12 03:28:56 +1100  Jan Schmidt <jan@centricular.com>
 6249 
 6250 	* tests/check/elements/splitmuxsink.c:
 6251 	  splitmuxsink: Unit test - check format/opened/closed sequence
 6252 	  Check the sequence of format-location/fragment-opened/fragment-closed
 6253 	  events is respected. There should be 1 format-location call for each
 6254 	  fragment-opened message, and 1 fragment-closed for each.
 6255 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833>
 6256 
 6257 2020-12-09 00:40:52 +1100  Jan Schmidt <jan@centricular.com>
 6258 
 6259 	* gst/multifile/gstsplitmuxsink.c:
 6260 	* gst/multifile/gstsplitmuxsink.h:
 6261 	  splitmuxsink: Fix for 'reference bytes muxed' check.
 6262 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798
 6263 	  introduced a check in the need-new-fragment logic to avoid starting a
 6264 	  new fragment unless there has been some data on the reference stream,
 6265 	  but the check is done against the number of bytes that have been
 6266 	  received on the input, not the number that were released for output
 6267 	  into the current fragment.
 6268 	  Fix the check to remember and test against bytes that have been sent
 6269 	  for output.
 6270 	  This also fixes a problem where starting a new fragment fails to
 6271 	  request a new filename from the format-location signal.
 6272 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833>
 6273 
 6274 2020-09-15 00:27:24 +1000  Jan Schmidt <jan@centricular.com>
 6275 
 6276 	* gst/multifile/gstsplitmuxsink.c:
 6277 	  splitmuxsink: Add debug for fragment opened/closed msgs
 6278 	  When posting fragment-opened and fragment-closed messages,
 6279 	  put a debug statement in the logs
 6280 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833>
 6281 
 6282 2020-08-18 16:06:14 +1000  Jan Schmidt <jan@centricular.com>
 6283 
 6284 	* gst/multifile/gstsplitmuxsink.c:
 6285 	  splitmuxsink: Convert asserts into element errors.
 6286 	  Change some g_assert into element errors so that they can be
 6287 	  caught and the pipeline shut down.
 6288 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833>
 6289 
 6290 2020-07-10 15:36:54 +1000  Matthew Waters <matthew@centricular.com>
 6291 
 6292 	* docs/gst_plugins_cache.json:
 6293 	* gst/rtpmanager/gstrtpfunnel.c:
 6294 	* gst/rtpmanager/gstrtphdrext-twcc.c:
 6295 	* gst/rtpmanager/gstrtphdrext-twcc.h:
 6296 	* gst/rtpmanager/gstrtpmanager.c:
 6297 	* gst/rtpmanager/meson.build:
 6298 	  rtpmanager: update for rtp header extensions
 6299 	  Provide an implementation of the transport-wide-cc header extension and
 6300 	  use it in rtpfunnel.
 6301 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/808>
 6302 
 6303 2020-11-15 11:30:07 +0000  Jose Quaresma <quaresma.jose@gmail.com>
 6304 
 6305 	* sys/rpicamsrc/meson.build:
 6306 	  rpicamsrc: add vchostif library as it is required to build successful
 6307 	  fix: undefined reference to `vc_gencmd'
 6308 	  /usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd'
 6309 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/818>
 6310 
 6311 2020-11-25 17:51:24 +0100  Marijn Suijten <marijns95@gmail.com>
 6312 
 6313 	* tests/check/elements/rtp-payloading.c:
 6314 	  tests/rtp-payloading: Use new AudioFormatInfo::fill_silence function
 6315 	  The function is renamed to be properly associated with AudioFormatInfo
 6316 	  (its instance) instead of AudioFormat (an unrelated enum), see [1] for
 6317 	  the rename itself.
 6318 	  [1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/940
 6319 
 6320 2020-11-24 22:11:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 6321 
 6322 	* gst/deinterlace/meson.build:
 6323 	* meson.build:
 6324 	  deinterlace: Enable x86 assembly with nasm on MSVC
 6325 	  We need to remove x86inc.asm from the list of compiled assembly files
 6326 	  because it is not supposed to be compiled separately. It is directly
 6327 	  included by yadif.asm, and it exports no symbols.
 6328 	  The object file was getting ignored on all platforms except on msvc
 6329 	  where it was causing a linker hang when building with debugging
 6330 	  enabled because the object file had no debug symbols (or similar).
 6331 	  We've seen this before in FFmpeg too, which uses nasm:
 6332 	  https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/46
 6333 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/825>
 6334 
 6335 2020-11-19 17:47:21 +1100  Matthew Waters <matthew@centricular.com>
 6336 
 6337 	* ext/qt/gstqtoverlay.cc:
 6338 	* ext/qt/gstqtsink.cc:
 6339 	  qml: add some docs on display and contexts
 6340 	  Especially considering some dynamic pipeline scenarios.
 6341 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/822>
 6342 
 6343 2020-11-18 20:09:24 +0100  Tim Schneider <tim.schneider94@t-online.de>
 6344 
 6345 	* sys/rpicamsrc/gstrpicamsrc.c:
 6346 	  rpicamsrc: Added "src->started = FALSE;" to gst_rpi_cam_src_stop
 6347 	  Makes the element reusable multiple times after a state change back to READY.
 6348 	  Fixes #105
 6349 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/823>
 6350 
 6351 2020-11-12 09:32:30 +0800  Bing Song <bing.song@nxp.com>
 6352 
 6353 	* docs/gst_plugins_cache.json:
 6354 	* sys/v4l2/gstv4l2object.c:
 6355 	  v4l2: caps negotiate wrong as interlace feature
 6356 	  gst_caps_simplify() will move interlace format before normal video
 6357 	  format. It will cause caps negotiate prefer interlaced caps which
 6358 	  isn't expected. Seperate normal caps and interlaced caps and then
 6359 	  merge it will keep prefer progress video format.
 6360 	  Add ARGB/BGRA for interlaced caps.
 6361 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/802
 6362 	  Part-of <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/813>
 6363 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/813>
 6364 
 6365 2020-11-13 21:25:42 +0100  Havard Graff <havard.graff@gmail.com>
 6366 
 6367 	* gst/rtpmanager/rtpsession.c:
 6368 	* tests/check/elements/rtpsession.c:
 6369 	  rtpsession: never send on a non-internal source
 6370 	  This will end up as a "received" packet, due to the code in
 6371 	  source_push_rtp, which will think this is a packet being received.
 6372 	  Instead drop the packet and hope that either:
 6373 	  1. Something upstream responds to the GstRTPCollision event and changes
 6374 	  SSRC used for sending.
 6375 	  2. That the application responds to the "on-ssrc-collision" signal, and
 6376 	  forces the sender (payloader) to change its SSRC.
 6377 	  3. That the BYE sent to the existing user of this SSRC will respond to
 6378 	  the BYE, and that we timeout this source, so we can continue sending
 6379 	  using the chosen SSRC.
 6380 	  The test reproduces a scenario where we previously would have sent
 6381 	  on a non-internal source.
 6382 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/817>
 6383 
 6384 2020-11-13 12:39:53 +0100  Havard Graff <havard.graff@gmail.com>
 6385 
 6386 	* gst/rtpmanager/rtpsource.c:
 6387 	  rtpsource: rewrite timeout-check to avoid underflow
 6388 	  If current_time is < collision_timeout, we get an uint64 underflow, and
 6389 	  the check will trigger prematurely.
 6390 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/817>
 6391 
 6392 2020-11-13 14:58:44 +0200  Vivia Nikolaidou <vivia@ahiru.eu>
 6393 
 6394 	* gst/audioparsers/gstaacparse.c:
 6395 	  aacparse: Fix caps change handling
 6396 	  In baseparse we set the fixed caps flag on all src pads, therefore the
 6397 	  source pad caps query in get_allowed_caps will return the current caps.
 6398 	  Current caps won't necessarily intersect with the new caps (e.g. sample
 6399 	  rate change). Replace get_allowed_caps with peer_query_caps.
 6400 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/816>
 6401 
 6402 2020-11-12 23:39:21 +0000  Tim-Philipp Müller <tim@centricular.com>
 6403 
 6404 	* tests/check/elements/qtdemux.c:
 6405 	  tests: qtdemux: fix typo in caps field
 6406 	  timesacle -> timescale
 6407 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
 6408 
 6409 2020-11-12 23:38:21 +0000  Tim-Philipp Müller <tim@centricular.com>
 6410 
 6411 	* tests/check/elements/qtdemux.c:
 6412 	  tests: qtdemux: fix crash on 32-bit architectures
 6413 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
 6414 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
 6415 
 6416 2020-09-14 13:12:50 +0530  Sanchayan Maity <sanchayan@asymptotic.io>
 6417 
 6418 	* docs/gst_plugins_cache.json:
 6419 	* gst/rtp/gstrtp.c:
 6420 	* gst/rtp/gstrtpldacpay.c:
 6421 	* gst/rtp/gstrtpldacpay.h:
 6422 	* gst/rtp/meson.build:
 6423 	  rtp: ldacpay: Add LDAC RTP payloader
 6424 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/757>
 6425 
 6426 2020-11-03 15:58:30 +0200  Sebastian Dröge <sebastian@centricular.com>
 6427 
 6428 	* ext/qt/gstqsgtexture.cc:
 6429 	* ext/qt/gstqsgtexture.h:
 6430 	* ext/qt/qtitem.cc:
 6431 	  qmlglsink: Keep old buffers around a bit longer if they were bound by QML
 6432 	  We don't know exactly when QML will stop using them but it should be
 6433 	  safe to unref them after at least 2 more buffers were bound.
 6434 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/810>
 6435 
 6436 2020-11-10 18:18:12 +0000  ChrisDuncanAnyvision <chrisd@anyvision.co>
 6437 
 6438 	* gst/rtsp/gstrtspsrc.c:
 6439 	* gst/rtsp/gstrtspsrc.h:
 6440 	  rtspsrc: Ensure same group-id used for both TCP/UDP stream-start events
 6441 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/811>
 6442 
 6443 2020-11-10 16:17:23 +0000  ChrisDuncanAnyvision <chrisd@anyvision.co>
 6444 
 6445 	* gst/rtsp/gstrtspsrc.c:
 6446 	  rtspsrc: Use consistent URI hashed stream-id for UDP and TCP/Interleaved streams
 6447 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/811>
 6448 
 6449 2020-11-04 18:43:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 6450 
 6451 	* meson.build:
 6452 	  meson: Enable some MSVC warnings for parity with GCC/Clang
 6453 	  This makes it easier to do development with MSVC by making it warn
 6454 	  on common issues that GCC/Clang error out for in our CI configuration.
 6455 	  Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
 6456 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/809>
 6457 
 6458 2020-10-15 21:42:40 -0400  Olivier Crête <olivier.crete@collabora.com>
 6459 
 6460 	* docs/gst_plugins_cache.json:
 6461 	* gst/rtpmanager/rtpsession.c:
 6462 	* gst/rtpmanager/rtpsource.c:
 6463 	* gst/rtpmanager/rtpsource.h:
 6464 	* gst/rtpmanager/rtpstats.h:
 6465 	  rtpsource: Report for which local SSRC is a remote RB reporting on
 6466 	  This is useful in the Bundle case because there may be multiple local
 6467 	  and remote SSRCs in the same session.
 6468 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/776>
 6469 
 6470 2020-10-29 15:58:38 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 6471 
 6472 	* docs/gst_plugins_cache.json:
 6473 	* gst/rtp/gstrtpisacdepay.c:
 6474 	* gst/rtp/gstrtpisacpay.c:
 6475 	  docs: update plugins cache
 6476 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/530>
 6477 
 6478 2020-03-20 13:15:33 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 6479 
 6480 	* gst/rtp/gstrtp.c:
 6481 	* gst/rtp/gstrtpisacdepay.c:
 6482 	* gst/rtp/gstrtpisacdepay.h:
 6483 	* gst/rtp/meson.build:
 6484 	  rtp: add rtpisacdepay
 6485 	  Depayload for the iSAC audio codec.
 6486 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/530>
 6487 
 6488 2020-03-20 13:15:33 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 6489 
 6490 	* gst/rtp/gstrtp.c:
 6491 	* gst/rtp/gstrtpisacpay.c:
 6492 	* gst/rtp/gstrtpisacpay.h:
 6493 	* gst/rtp/meson.build:
 6494 	  rtp: add rtpisacpay
 6495 	  Payload for the iSAC audio codec.
 6496 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/530>
 6497 
 6498 2020-11-01 18:36:49 +0000  Dinesh Manajipet <saidinesh5@gmail.com>
 6499 
 6500 	* ext/qt/qtitem.cc:
 6501 	  qmlglsink: Set qtitem's implicit width/height
 6502 	  This can be useful to let the layouts automatically resize qtitem
 6503 	  and also easily query a video's width/height from QML
 6504 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/802>
 6505 
 6506 2020-11-01 10:30:27 +0200  Sebastian Dröge <sebastian@centricular.com>
 6507 
 6508 	* gst/flv/gstflvmux.c:
 6509 	  flvmux: Release pads via GstAggregator
 6510 	  See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/797
 6511 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/801>
 6512 
 6513 2020-10-26 12:40:49 +1100  Matthew Waters <matthew@centricular.com>
 6514 
 6515 	* gst/isomp4/atoms.c:
 6516 	* gst/isomp4/atoms.h:
 6517 	* gst/isomp4/gstqtmux.c:
 6518 	  qtmux: support muxing multiple codec_data for h264/h265
 6519 	  Each codec_data is put into its own SampleTableEntry inside the stsd.
 6520 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/787>
 6521 
 6522 2020-10-29 14:54:16 +0100  Stéphane Cerveau <scerveau@collabora.com>
 6523 
 6524 	* docs/gst_plugins_cache.json:
 6525 	* gst/debugutils/gstnavseek.c:
 6526 	* gst/debugutils/gstnavseek.h:
 6527 	  navseek: add hold_eos property
 6528 	  This property will tell the element to hold
 6529 	  the EOS event and keep it until the next
 6530 	  keystroke.
 6531 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/792>
 6532 
 6533 2020-10-31 12:52:04 +1100  Jan Schmidt <jan@centricular.com>
 6534 
 6535 	* tests/check/elements/splitmuxsrc.c:
 6536 	  splitmuxsrc: Fix comment in a test
 6537 	  Fix a comment in the splitmuxsrc robust muxing test so it
 6538 	  describes the test properly.
 6539 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6540 
 6541 2020-10-31 12:49:08 +1100  Jan Schmidt <jan@centricular.com>
 6542 
 6543 	* gst/multifile/gstsplitmuxsink.c:
 6544 	* gst/multifile/gstsplitmuxsink.h:
 6545 	  splitmuxsink: Change EOS catching logic.
 6546 	  Add a new state for ending the overall stream, and use it to decide
 6547 	  whether to pass the final EOS message up the bus instead of dropping
 6548 	  it. Fixes a small race that makes the testsuite sometimes not generate
 6549 	  the last fragment(s) sometimes because the wrong EOS gets
 6550 	  allowed through too early.
 6551 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6552 
 6553 2020-10-31 02:19:07 +1100  Jan Schmidt <jan@centricular.com>
 6554 
 6555 	* gst/multifile/gstsplitmuxsink.c:
 6556 	* gst/multifile/gstsplitmuxsink.h:
 6557 	  splitmuxsink: Don't use the element state lock
 6558 	  Using the element state lock to avoid splitmuxsink shutting
 6559 	  down while doing element manipulations can lead to a deadlock on
 6560 	  shutdown if a fragment switch happens at exactly the wrong moment.
 6561 	  Use a private mutex and a shutdown boolean instead.
 6562 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6563 
 6564 2020-10-30 03:38:15 +1100  Jan Schmidt <jan@centricular.com>
 6565 
 6566 	* gst/multifile/gstsplitmuxsink.c:
 6567 	  splitmuxsink: Don't busy loop on a non-ready pad.
 6568 	  If a pad gets into the check_completed_gop method and then
 6569 	  the underlying conditions change on the reference context,
 6570 	  things could get stuck in a busy loop when the context should
 6571 	  instead jump back out and wait for more data.
 6572 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6573 
 6574 2020-10-30 03:36:51 +1100  Jan Schmidt <jan@centricular.com>
 6575 
 6576 	* gst/multifile/gstsplitmuxsrc.c:
 6577 	  splitmuxsrc: Mark running=false on shutdown.
 6578 	  Make sure that any late gst_element_call_async() callbacks
 6579 	  know that the elements is shutting down and bail out instead
 6580 	  of operating on the element we're trying to stop.
 6581 	  Fixes a spurious test failure in elements_splitmuxsrc
 6582 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6583 
 6584 2020-10-29 02:36:35 +1100  Jan Schmidt <jan@centricular.com>
 6585 
 6586 	* gst/multifile/gstsplitmuxsink.c:
 6587 	  splitmuxsink: Forward EOS messages from async fragments.
 6588 	  Re-enable forwarding EOS messages from fragments that are completing
 6589 	  asynchronously, so that splitmuxsink itself won't go EOS until they
 6590 	  are complete. This was disabled to work around a bug in core that
 6591 	  is fixed in
 6592 	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/683
 6593 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6594 
 6595 2020-09-17 22:56:01 +1000  Jan Schmidt <jan@centricular.com>
 6596 
 6597 	* gst/multifile/gstsplitmuxsink.c:
 6598 	* gst/multifile/gstsplitmuxsink.h:
 6599 	  splitmuxsink: Never start a new fragment with no reference buffers
 6600 	  If there has been no bytes from the reference stream muxed into
 6601 	  the current fragment, then time can't have advanced, there's no
 6602 	  GOP... this fragment would be broken or empty, so wait for some
 6603 	  data on the reference buffer.
 6604 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798>
 6605 
 6606 2020-10-29 02:38:16 +1100  Jan Schmidt <jan@centricular.com>
 6607 
 6608 	* gst/isomp4/gstqtmux.c:
 6609 	  qtmux: Chain up when releasing pad, and fix some locking.
 6610 	  Release pads by calling up into aggregator so it can do the right
 6611 	  things. Don't clean up the pad until after that.
 6612 	  Add some missing locks around some accesses to shared pad state.
 6613 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/797>
 6614 
 6615 2018-08-13 15:35:11 +0200  Stian Selnes <stian@pexip.com>
 6616 
 6617 	* gst/rtp/gstrtpvp9depay.c:
 6618 	* gst/rtp/gstrtpvp9depay.h:
 6619 	* tests/check/elements/rtpvp9.c:
 6620 	  rtpvp9depay: Improve SVC parsing, aggregate all layers
 6621 	  - Fix start and end of picture to support multiple layers. Start of
 6622 	  picture is the first packet of the base layer, while end of picture
 6623 	  is when the marker bit is set (last packet of the enhancement
 6624 	  layers).
 6625 	  - All "layers" (aka "frames") of a picture are pushed downstream in a
 6626 	  single buffer when picture is complete.
 6627 	  - Forgive SID=0 for enhancement layers (invalid, but Chrome and
 6628 	  Firefox sends it)
 6629 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/773>
 6630 
 6631 2020-10-30 03:09:48 +0100  Stian Selnes <stian@pexip.com>
 6632 
 6633 	* gst/rtp/gstrtpvp8depay.c:
 6634 	* gst/rtp/gstrtpvp8depay.h:
 6635 	* tests/check/elements/rtpvp8.c:
 6636 	  rtpvp8depay: Send lost events when marker bit is missing
 6637 	  This means the previous frame was incomplete.
 6638 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/796>
 6639 
 6640 2020-10-14 23:17:53 +0200  Knut Saastad <Knut@bitflow.io>
 6641 
 6642 	* gst/rtp/gstrtpvp8depay.c:
 6643 	* gst/rtp/gstrtpvp8pay.c:
 6644 	  rtpvp9depay: detect incomplete frames and bail out
 6645 	  If a packet with the B bit set arrives but we haven't received
 6646 	  a packet with the marker or E bits set to end the previous frame,
 6647 	  we know the current frame was incomplete.
 6648 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/795>
 6649 
 6650 2020-10-14 23:17:53 +0200  Knut Saastad <Knut@bitflow.io>
 6651 
 6652 	* gst/rtp/gstrtpvp9depay.c:
 6653 	  rtpvp9depay: detect incomplete frames and bail out
 6654 	  If a packet with the B bit set arrives but we haven't received
 6655 	  a packet with the marker or E bits set to end the previous frame,
 6656 	  we know the current frame was incomplete.
 6657 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/769>
 6658 
 6659 2020-10-14 01:28:50 +0200  Mikhail Fludkov <misha@pexip.com>
 6660 
 6661 	* gst/rtp/gstrtpvp8depay.c:
 6662 	* gst/rtp/gstrtpvp8depay.h:
 6663 	* gst/rtp/gstrtpvp9depay.c:
 6664 	* gst/rtp/gstrtpvp9depay.h:
 6665 	* tests/check/elements/rtpvp8.c:
 6666 	* tests/check/elements/rtpvp9.c:
 6667 	  rtpvp*depay: possibly forward might-have-been-fec PacketLost events
 6668 	  This is ad adaptation of a Pexip patch for dealing with spurious
 6669 	  GstRTPPacketLost events caused by lost ulpfec packets: as FEC packets
 6670 	  under that scheme are spliced in the same sequence domain as the media
 6671 	  packets, it is not generally possible to determine whether a lost packet
 6672 	  was a FEC packet or a media packet.
 6673 	  When upstreaming pexip's ulpfec patches, we decided to drop all lost
 6674 	  events at the base depayloader level, and where the original patch
 6675 	  from pexip was making use of picture ids and marker bits to determine
 6676 	  whether a packet should be forwarded, this patch makes use of those
 6677 	  to determine whether they should be dropped instead (by removing their
 6678 	  might-have-been-fec field).
 6679 	  Spurious lost events coming out of the depayloader can cause the
 6680 	  decoder to stop decoding until the next keyframe and / or request a new
 6681 	  keyframe, and while this is not desirable it makes sense to forward
 6682 	  that information when we have other means to determine whether a lost
 6683 	  packet was indeed a FEC packet, as is the case with VP8 / VP9 payloads
 6684 	  when they carry a picture id.
 6685 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/769>
 6686 
 6687 2020-10-20 23:22:36 +1100  Jan Schmidt <jan@centricular.com>
 6688 
 6689 	* gst/rtp/gstrtph264depay.c:
 6690 	  rtph264depay: Preserve SPS/PPS arrival order.
 6691 	  Even if SPS/PPS haven't changed, make sure to move them to the
 6692 	  end of the tracking array if needed, so we always know what the
 6693 	  most recent entries are, in case we need to discard the oldest
 6694 	  when generating codec_data.
 6695 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/775>
 6696 
 6697 2020-10-17 00:05:15 +1100  Jan Schmidt <jan@centricular.com>
 6698 
 6699 	* gst/rtp/gstrtph264depay.c:
 6700 	  rtph264depay: Warn when max SPS/PPS are collected in AVC mode.
 6701 	  The AVC codec_data has a flaw that it can only accomodate
 6702 	  31 SPS headers, even though H.264 can have 32, and 255 PPS,
 6703 	  when there can be 256 in H.264. When streaming RTP some
 6704 	  clients like to cycle through SPS/PPS ids when changing
 6705 	  configuration and can eventually accumulate a full set.
 6706 	  In that case, we have no choice but to discard one (oldest)
 6707 	  entry, or else the count written into the codec_data is wrong
 6708 	  and downstream decoding failures ensue.
 6709 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/775>
 6710 
 6711 2020-10-28 00:29:05 +0100  Havard Graff <havard.graff@gmail.com>
 6712 
 6713 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 6714 	* gst/rtpmanager/rtptimerqueue.c:
 6715 	* gst/rtpmanager/rtptimerqueue.h:
 6716 	* tests/check/elements/rtpjitterbuffer.c:
 6717 	* tests/check/elements/rtptimerqueue.c:
 6718 	  rtpjitterbuffer: don't send multiple instant RTX for the same packet
 6719 	  Due to us not properly acknowleding the time when the last RTX was sent
 6720 	  when scheduling a new one, it can easily happen that due to the packet
 6721 	  you are requesting have a PTS that is slightly old (but not too old when
 6722 	  adding the latency of the jitterbuffer), both its calculated second and
 6723 	  third (etc.) timeout could already have passed. This would lead to a burst
 6724 	  of RTX requests, which acts completely against its purpose, potentially
 6725 	  spending a lot more bandwidth than needed.
 6726 	  This has been properly reproduced in the test:
 6727 	  test_rtx_not_bursting_requests
 6728 	  The good news is that slightly re-thinking the logic concerning
 6729 	  re-requesting RTX, made it a lot simpler to understand, and allows us
 6730 	  to remove two members of the RtpTimer which no longer serves any purpose
 6731 	  due to the refactoring. If desirable the whole "delay" concept can actually
 6732 	  be removed completely from the timers, and simply just added to the timeout
 6733 	  by the caller of the API. But that can be a change for a another time.
 6734 	  The only external change (other than the improved behavior around bursting
 6735 	  RTX) is that the "delay" field now stricly represents the delay between
 6736 	  the PTS of the RTX-requested packet and the time it is requested on,
 6737 	  whereas before this calculation was more about the theoretical calculated
 6738 	  delay. This is visible in three other RTX-tests where the delay had
 6739 	  to be adjusted slightly. I am confident however that this change is
 6740 	  correct.
 6741 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/789>
 6742 
 6743 2020-10-27 23:43:49 +1100  Jan Schmidt <jan@centricular.com>
 6744 
 6745 	* gst/matroska/matroska-mux.c:
 6746 	  matroska-mux: Fix sparse stream crash
 6747 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/656
 6748 	  introduced an invalid memory access when debug is enabled, by casting
 6749 	  the wrong pointer to a GstCollectPad. Fixing that showed the original
 6750 	  change was incorrect and leads to an infinite loop in the
 6751 	  testsuite. This patch fixes both problems.
 6752 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/788>
 6753 
 6754 2020-10-22 15:29:01 -0300  Thibault Saunier <tsaunier@igalia.com>
 6755 
 6756 	* ext/vpx/gstvpxenc.c:
 6757 	  vpx: Fix the check to unfixed/unknown framerate to set bitrate
 6758 	  0/1 means unknown framerate not X/0 (which is illegal).
 6759 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/782>
 6760 
 6761 2020-10-22 09:17:26 -0400  Arun Raghavan <arun@asymptotic.io>
 6762 
 6763 	* gst/rtp/gstrtputils.c:
 6764 	  rtputils: Count metas with an empty tag list for copying/keeping
 6765 	  The GstMetaInfos registered in core do not set their tags to NULL, but
 6766 	  instead use an empty list (non-NULL list with a single NULL value).
 6767 	  Let's check explicitly for that so as to not miss some metas.
 6768 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/779>
 6769 
 6770 2020-10-16 16:05:45 -0700  Bastien Reboulet <bastien.reboulet@gmail.com>
 6771 
 6772 	* ext/qt/qtitem.cc:
 6773 	  qmlglsink: fix crash when created/destroyed in quick succession
 6774 	  The crash is caused by a race condition where the render thread
 6775 	  calls a method on the QtGLVideoItem instance that was
 6776 	  previously destroyed by the main thread.
 6777 	  Also, less frequently, QtGLVideoItem::onSceneGraphInitialized
 6778 	  is called when QQuickItem::window is null, also causing a crash.
 6779 	  Fixes #798
 6780 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/777>
 6781 
 6782 2020-10-19 18:23:25 +0300  Sebastian Dröge <sebastian@centricular.com>
 6783 
 6784 	* sys/v4l2/gstv4l2videodec.c:
 6785 	* sys/v4l2/gstv4l2videoenc.c:
 6786 	  v4l2codec: Garbage collect old frames if they accumulate because of codec bugs
 6787 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/778>
 6788 
 6789 2020-10-19 17:56:04 +0300  Sebastian Dröge <sebastian@centricular.com>
 6790 
 6791 	* sys/v4l2/gstv4l2bufferpool.c:
 6792 	* sys/v4l2/gstv4l2bufferpool.h:
 6793 	* sys/v4l2/gstv4l2sink.c:
 6794 	* sys/v4l2/gstv4l2src.c:
 6795 	* sys/v4l2/gstv4l2transform.c:
 6796 	* sys/v4l2/gstv4l2videodec.c:
 6797 	* sys/v4l2/gstv4l2videoenc.c:
 6798 	  v4l2codec: Pass system frame number as timestamp and use it to retrieve back frames reliably
 6799 	  System frame numbers are supposed to be unique and correct drivers are
 6800 	  passing through timestamps without modification from the output/sink to the
 6801 	  capture/src side.
 6802 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/778>
 6803 
 6804 2020-09-24 13:13:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 6805 
 6806 	* docs/gst_plugins_cache.json:
 6807 	* gst/rtpmanager/gstrtpbin.c:
 6808 	* gst/rtpmanager/gstrtpbin.h:
 6809 	  rtpbin: Add clear-ssrc action
 6810 	  This action signal will delegate to clear-ssrc onto the rtpssrcdemux element
 6811 	  associated with the session. This allow rtpbin users to clear pads and
 6812 	  elements for a specific ssrc that is known to no longer be in use. This
 6813 	  happens when a pad is reused in rtpsrc or ristsrc.
 6814 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/736>
 6815 
 6816 2017-09-08 20:02:13 +0100  John-Mark Bell <jmb@pexip.com>
 6817 
 6818 	* gst/rtp/gstrtpvp8pay.c:
 6819 	* gst/rtp/gstrtpvp8pay.h:
 6820 	* tests/check/elements/rtpvp8.c:
 6821 	* tests/check/meson.build:
 6822 	  rtpvp8pay: payload temporally scaled bitstreams.
 6823 	  Co-Authored-By: Vincent Sanders <vince@pexip.com>
 6824 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
 6825 
 6826 2017-11-17 15:11:41 +0100  Stian Selnes <stian@pexip.com>
 6827 
 6828 	* docs/gst_plugins_cache.json:
 6829 	* gst/rtp/gstrtpvp8pay.c:
 6830 	* gst/rtp/gstrtpvp8pay.h:
 6831 	  rtpvp8pay: Add picture-id-offset property
 6832 	  Add property to set the initial value for picture-id. RFC7741 says
 6833 	  that picture-id MAY be initialized to a random value, thus it's also
 6834 	  valid to simply set it to a fixed initial value. A fixed value is very
 6835 	  useful for testing.
 6836 	  Default behavior is not changed.
 6837 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
 6838 
 6839 2017-03-16 15:23:28 +0100  Mikhail Fludkov <misha@pexip.com>
 6840 
 6841 	* gst/rtp/gstrtpvp8pay.c:
 6842 	  rtpvp8pay: move duplicate code to separate functions
 6843 	  Two new functions to modify picture id:
 6844 	  gst_rtp_vp8_pay_picture_id_reset - picks random picture id of
 6845 	  appropriate bitsize
 6846 	  gst_rtp_vp8_pay_picture_id_increment - increments picture id taking
 6847 	  care of wrapping
 6848 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
 6849 
 6850 2017-09-08 08:13:05 +0100  John-Mark Bell <jmb@pexip.com>
 6851 
 6852 	* docs/gst_plugins_cache.json:
 6853 	* ext/vpx/gstvpxenc.c:
 6854 	  vp8enc: expect bps for temporal-scalability-target-bitrate.
 6855 	  Consistency with target-bitrate is less surprising and with
 6856 	  modern libvpx additional configuration is required to make
 6857 	  temporal scaling work.
 6858 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
 6859 
 6860 2017-09-08 08:19:20 +0100  John-Mark Bell <jmb@pexip.com>
 6861 
 6862 	  vp8enc: finish support for temporally scaled encoding
 6863 	  - introduce two new properties:
 6864 	  * temporal-scalability-layer-flags:
 6865 	  Provide fine-grained control of layer encoding to the
 6866 	  outside world. The flags sequence should be a multiple of
 6867 	  the periodicity and is indexed by a running count of encoded
 6868 	  frames modulo the sequence length.
 6869 	  * temporal-scalability-layer-sync-flags:
 6870 	  Specify the pattern of inter-layer synchronisation (i.e.
 6871 	  which of the frames generated by the layer encoding
 6872 	  specification represent an inter-layer synchronisation).
 6873 	  There must be one entry per entry in
 6874 	  temporal-scalability-layer-flags.
 6875 	  - apply temporal scalability settings and expose as buffer
 6876 	  metadata.
 6877 	  This allows the codec to allocate a given frame to the correct
 6878 	  internal bitrate allocator. Additionally, all the
 6879 	  non-bitstream metadata needed to payload a temporally scaled
 6880 	  stream is now attached to each output buffer as a
 6881 	  GstVideoVP8Meta.
 6882 	  - add unit test for temporally scaled encoding.
 6883 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
 6884 
 6885 2020-10-15 18:21:54 +0200  Stéphane Cerveau <scerveau@collabora.com>
 6886 
 6887 	* gst/isomp4/qtdemux.c:
 6888 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 6889 	* gst/udp/gstudp.c:
 6890 	* meson.build:
 6891 	  meson: update glib minimum version to 2.56
 6892 	  In order to support the symbol g_enum_to_string in various
 6893 	  project using GStreamer ( gst-validate etc.), the glib minimum
 6894 	  version should be 2.56.0.
 6895 	  Remove compat code as glib requirement
 6896 	  is now > 2.56
 6897 	  Version used by Ubuntu 18.04 LTS
 6898 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/774>
 6899 
 6900 2020-10-14 14:30:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 6901 
 6902 	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
 6903 	  rtpst2022-1-fecenc: fix input seqnum check
 6904 	  We need to cast the incremented last seqnum to guint16 for
 6905 	  consistent checks on wraparound
 6906 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/770>
 6907 
 6908 2020-09-12 09:02:30 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 6909 
 6910 	* gst/flv/gstflvmux.c:
 6911 	* gst/flv/gstflvmux.h:
 6912 	  flvmux: Correct time types
 6913 	  - last_dts is in milliseconds, not nanoseconds as expected for
 6914 	  GstClockTime. Make it a generic guint64.
 6915 	  - Use GstClockTime for the fields that actually contain nanoseconds.
 6916 	  None of them should become negative.
 6917 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/766>
 6918 
 6919 2020-10-09 09:31:27 +0300  Sebastian Dröge <sebastian@centricular.com>
 6920 
 6921 	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
 6922 	  rtpst2022-1-fecenc: Don't unconditionally use GLib 2.60 APIs
 6923 	  g_queue_clear_full() in this case.
 6924 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/768>
 6925 
 6926 2020-10-08 18:54:55 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 6927 
 6928 	* gst/rtp/rtpulpfeccommon.c:
 6929 	  rtpulpfec: fix potential alignment issue in xor function
 6930 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/753#note_646453
 6931 	  for context
 6932 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/753>
 6933 
 6934 2020-10-06 03:03:13 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 6935 
 6936 	* docs/gst_plugins_cache.json:
 6937 	* gst/rtpmanager/gstrtpbin.c:
 6938 	* gst/rtpmanager/gstrtpbin.h:
 6939 	* gst/rtpmanager/gstrtpmanager.c:
 6940 	* gst/rtpmanager/gstrtpst2022-1-fecenc.c:
 6941 	* gst/rtpmanager/gstrtpst2022-1-fecenc.h:
 6942 	* gst/rtpmanager/meson.build:
 6943 	* tests/check/elements/rtpst2022-1-fecenc.c:
 6944 	* tests/check/meson.build:
 6945 	  rtpmanager: implement SMPTE 2022-1 FEC encoder
 6946 	  + improve integration of FEC encoders in rtpbin
 6947 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/753>
 6948 
 6949 2020-10-06 03:13:30 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 6950 
 6951 	* docs/gst_plugins_cache.json:
 6952 	* gst/rtpmanager/gstrtpbin.c:
 6953 	* gst/rtpmanager/gstrtpbin.h:
 6954 	* gst/rtpmanager/gstrtpmanager.c:
 6955 	* gst/rtpmanager/gstrtpst2022-1-fecdec.c:
 6956 	* gst/rtpmanager/gstrtpst2022-1-fecdec.h:
 6957 	* gst/rtpmanager/meson.build:
 6958 	* tests/check/elements/rtpst2022-1-fecdec.c:
 6959 	* tests/check/meson.build:
 6960 	  rtpmanager: implement SMPTE 2022-1 FEC decoder
 6961 	  + improve integration of FEC decoders in rtpbin
 6962 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/753>
 6963 
 6964 2020-07-08 17:28:31 -0400  Olivier Crête <olivier.crete@collabora.com>
 6965 
 6966 	* gst/rtpmanager/gstrtpfunnel.c:
 6967 	* tests/check/elements/rtpfunnel.c:
 6968 	  rtpfunnel: Also forward custom sticky event
 6969 	  This is useful to track metadata about each group of packets
 6970 	  Also include a unit test
 6971 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/666>
 6972 
 6973 2020-09-29 09:44:54 -0300  Thibault Saunier <tsaunier@igalia.com>
 6974 
 6975 	* docs/gst_plugins_cache.json:
 6976 	* gst/isomp4/gstqtmux-doc.c:
 6977 	* gst/isomp4/gstqtmux.c:
 6978 	* gst/isomp4/gstqtmuxmap.c:
 6979 	  isomp4: Rename GstQTMux to GstBaseQTMux to avoid breaking API
 6980 	  Since 52b63de19ada283c1180c8fc00cacb1465fdf10f the qtmux GType was
 6981 	  renamed GstQTMuxElement which breaks presets, revert that change.
 6982 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/755>
 6983 
 6984 2020-09-28 18:25:21 +0300  Sebastian Dröge <sebastian@centricular.com>
 6985 
 6986 	* gst/rtp/gstrtpdvpay.c:
 6987 	* gst/rtp/gstrtph261pay.c:
 6988 	* gst/rtp/gstrtph263pay.c:
 6989 	* gst/rtp/gstrtph263ppay.c:
 6990 	* gst/rtp/gstrtph264pay.c:
 6991 	* gst/rtp/gstrtph265pay.c:
 6992 	* gst/rtp/gstrtpj2kpay.c:
 6993 	* gst/rtp/gstrtpjpegpay.c:
 6994 	* gst/rtp/gstrtpklvpay.c:
 6995 	* gst/rtp/gstrtpmp4vpay.c:
 6996 	* gst/rtp/gstrtpmpvpay.c:
 6997 	* gst/rtp/gstrtptheorapay.c:
 6998 	* gst/rtp/gstrtpvp8pay.c:
 6999 	* gst/rtp/gstrtpvp9pay.c:
 7000 	  rtp: Fix allocations to support source-info property
 7001 	  Use gst_rtp_base_payload_allocate_output_buffer() instead of
 7002 	  gst_rtp_buffer_new_allocate() in order to allocate RTP buffer with
 7003 	  correct number of CSRCs according to the meta.
 7004 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/612>
 7005 
 7006 2015-10-23 11:08:56 +0200  Stian Selnes <stian@pexip.com>
 7007 
 7008 	* gst/rtp/gstrtpvp8pay.c:
 7009 	  rtpvp8pay: Fix allocation to support source-info property
 7010 	  Use gst_rtp_base_payload_allocate_output_buffer() in order to allocate
 7011 	  RTP buffer with correct number of CSRCs according to the meta.
 7012 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/314
 7013 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/612>
 7014 
 7015 2020-09-28 15:36:00 +1000  Matthew Waters <matthew@centricular.com>
 7016 
 7017 	* gst/isomp4/gstqtmux.c:
 7018 	  qtmux: output the correct limits in error messages
 7019 	  Having the current bytes being less than the limit was confusing!
 7020 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/732>
 7021 
 7022 2020-07-31 16:47:37 +1000  Matthew Waters <matthew@centricular.com>
 7023 
 7024 	* gst/isomp4/gstqtmux.c:
 7025 	* gst/isomp4/gstqtmux.h:
 7026 	* tests/check/elements/qtmux.c:
 7027 	  qtmux: properly support initial caps nego failure
 7028 	  Scenario:
 7029 	  - gap event causes h264parse to push made up caps that may fail checks
 7030 	  inside qtmux (e.g missing codec_data).
 7031 	  - the caps event has already been marked as received and is sticky on
 7032 	  the sink pad
 7033 	  - gst_qt_mux_pad_can_renegotiate() will retrieve the failed caps event
 7034 	  using gst_pad_get_current_caps() and reject the correct updated caps
 7035 	  with codec_data.
 7036 	  - Failure!
 7037 	  Keep track of the configured caps ourselves instead of relying on the
 7038 	  sticky event on the pad.
 7039 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/732>
 7040 
 7041 2020-07-22 15:34:44 +1000  Matthew Waters <matthew@centricular.com>
 7042 
 7043 	* gst/isomp4/gstqtmux.c:
 7044 	* gst/isomp4/gstqtmux.h:
 7045 	  qtmux: support non-seekable downstream mode
 7046 	  Write an mdat per buffer in that case.
 7047 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/732>
 7048 
 7049 2020-09-23 15:25:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 7050 
 7051 	* gst/rtpmanager/gstrtpbin.c:
 7052 	  rtpbin: Remove the rtpjitterbuffer with the stream
 7053 	  Since !348, the jitterbuffer was only removed with the session. This restores
 7054 	  the original behaviour and removes the jitterbuffer when the stream is
 7055 	  removed. This avoid accumulating jitterbuffer objects into the bin when a
 7056 	  session is reused.
 7057 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/735>
 7058 
 7059 2020-09-23 13:26:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 7060 
 7061 	* gst/rtpmanager/gstrtpbin.c:
 7062 	  rtpbin: Cleanup dead code
 7063 	  The rtpjitterbuffer is now part of the session elements, we no longer need
 7064 	  to do the ref_sink dance when signalling it. It is already owned by the bin
 7065 	  when signalled. Also, the code that handles generic session elements already
 7066 	  handle the ref_sink() calls since:
 7067 	  03dc22951bacb6fdc3868c8f801e6a52c33a745f
 7068 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/735>
 7069 
 7070 2020-09-18 16:09:20 +1000  Matthew Waters <matthew@centricular.com>
 7071 
 7072 	* gst/rtp/gstrtph264depay.c:
 7073 	* gst/rtp/gstrtph264depay.h:
 7074 	* gst/rtp/gstrtph265depay.c:
 7075 	* gst/rtp/gstrtph265depay.h:
 7076 	* tests/check/elements/rtph264.c:
 7077 	  rtph26*depay: drop FU's without a corresponding start bit
 7078 	  If we have not received a FU with a start bit set, any subsequent FU
 7079 	  data is not useful at all and would result in an invalid stream.
 7080 	  This case is constructed from multiple requirements in
 7081 	  RFC 3984 Section 5.8 and RFC 7798 Section 4.4.3.  Following are excerpts
 7082 	  from RFC 3984 but RFC 7798 contains similar language.
 7083 	  The FU in a single FU case is forbidden:
 7084 	  A fragmented NAL unit MUST NOT be transmitted in one FU; i.e., the
 7085 	  Start bit and End bit MUST NOT both be set to one in the same FU
 7086 	  header.
 7087 	  and dropping is possible:
 7088 	  If a fragmentation unit is lost, the receiver SHOULD discard all
 7089 	  following fragmentation units in transmission order corresponding to
 7090 	  the same fragmented NAL unit.
 7091 	  The jump in seqnum case is supported by this from the specification
 7092 	  instead of implementing the forbidden_zero_bit mangling:
 7093 	  If a fragmentation unit is lost, the receiver SHOULD discard all
 7094 	  following fragmentation units in transmission order corresponding to
 7095 	  the same fragmented NAL unit.
 7096 	  A receiver in an endpoint or in a MANE MAY aggregate the first n-1
 7097 	  fragments of a NAL unit to an (incomplete) NAL unit, even if fragment
 7098 	  n of that NAL unit is not received.  In this case, the
 7099 	  forbidden_zero_bit of the NAL unit MUST be set to one to indicate a
 7100 	  syntax violation.
 7101 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/730>
 7102 
 7103 2020-09-20 21:06:19 +0900  Seungha Yang <seungha@centricular.com>
 7104 
 7105 	* gst/imagefreeze/gstimagefreeze.c:
 7106 	  imagefreeze: Response caps query from srcpad
 7107 	  ... and chain up to default query handler for unhandled query types.
 7108 	  Unhandled query shouldn't be returned with FALSE if there's no special needs.
 7109 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/731>
 7110 
 7111 2020-09-16 12:15:09 +1000  Matthew Waters <matthew@centricular.com>
 7112 
 7113 	* docs/gst_plugins_cache.json:
 7114 	* gst/isomp4/gstqtmux-doc.c:
 7115 	* gst/isomp4/gstqtmux-doc.h:
 7116 	* gst/isomp4/gstqtmux.c:
 7117 	* gst/isomp4/gstqtmux.h:
 7118 	  qtmux: make documentation happy
 7119 	  introduce a base qtmux class that we can install documentation snippets
 7120 	  on instead of duplicating across alll the isomp4 elements
 7121 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
 7122 
 7123 2020-05-28 19:40:24 +1000  Matthew Waters <matthew@centricular.com>
 7124 
 7125 	* docs/gst_plugins_cache.json:
 7126 	* gst/isomp4/atoms.c:
 7127 	* gst/isomp4/atoms.h:
 7128 	* gst/isomp4/gstqtmux.c:
 7129 	* gst/isomp4/gstqtmux.h:
 7130 	* gst/isomp4/gstqtmuxmap.c:
 7131 	* tests/check/elements/qtmux.c:
 7132 	  isomp4/mux: add a fragment mode for initial moov with data
 7133 	  Used by some proprietary software for their fragmented files.
 7134 	  Adds some support for multi-stream fragmented files
 7135 	  Flow is as follows.
 7136 	  1. The first 'fragment' is written as a self-contained fragmented
 7137 	  mdat+moov complete with an edit list and durations, tags, etc.
 7138 	  2. Subsequent fragments are written with a mdat+moof and each stream is
 7139 	  interleaved as data arrives (currently ignoring the interleave-*
 7140 	  properties).  data-offsets in both the traf and the trun ensure
 7141 	  data is read from the correct place on demuxing.  Data/chunk offsets
 7142 	  are also kept for writing out the final moov.
 7143 	  3. On finalisation, the initial moov is invalidated to a hoov and the
 7144 	  size of the first mdat is extended to cover the entire file contents.
 7145 	  Then a moov is written as regularly would in moov-at-end mode (the
 7146 	  default).
 7147 	  This results in a file that is playable throughout while leaving a
 7148 	  finalised file on completion for players that do not understand
 7149 	  fragmented mp4.
 7150 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
 7151 
 7152 2020-06-25 16:37:56 +1000  Matthew Waters <matthew@centricular.com>
 7153 
 7154 	* gst/isomp4/qtdemux.c:
 7155 	  qtdemux: increase some logging on streams and sample parsing
 7156 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
 7157 
 7158 2020-06-25 16:35:45 +1000  Matthew Waters <matthew@centricular.com>
 7159 
 7160 	* gst/isomp4/qtdemux.c:
 7161 	  qtdemux: bail out when encountering an atom with a size of 0
 7162 	  A size 0 atom means the atom extends to the end of the file.  No further
 7163 	  valid atoms will ever follow.  Avoids a subsequent scan for an atom from
 7164 	  one byte earlier after encountering a size 0 atom.
 7165 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
 7166 
 7167 2020-06-25 16:33:04 +1000  Matthew Waters <matthew@centricular.com>
 7168 
 7169 	* gst/isomp4/qtdemux.c:
 7170 	  qtdemux: fix subsequent moof parsing after moov with valid samples
 7171 	  reset the moof_offset back to its original value like is done in the
 7172 	  error case just before.
 7173 	  Fixes subsequent parsing of a moof following a moov that contains valid
 7174 	  samples in a non-streaming fragmented mp4.
 7175 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
 7176 
 7177 2020-06-25 16:30:28 +1000  Matthew Waters <matthew@centricular.com>
 7178 
 7179 	* gst/isomp4/qtdemux.c:
 7180 	  qtdemux: extend edit list when fragmented
 7181 	  When we are fragmented, the edit list may only refer to the portion of
 7182 	  the media that is in the moov.  Extend the edit list stop time when we
 7183 	  if there is only one qt segment and we are reading a fragmented file.
 7184 	  Fixes playback of some fragmented mp4 files generated by proprietary
 7185 	  programs.
 7186 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
 7187 
 7188 2020-09-15 14:22:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 7189 
 7190 	* meson_options.txt:
 7191 	  meson: Allow overriding qt5 feature
 7192 	  This will allow controlling that feature from gst-build
 7193 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/729>
 7194 
 7195 2015-11-17 19:14:01 -0500  Olivier Crête <olivier.crete@collabora.com>
 7196 
 7197 	* gst/multifile/gstsplitmuxsrc.c:
 7198 	  splitmuxsrc: Implement segment query
 7199 	  Fixes #239
 7200 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/713>
 7201 
 7202 2020-09-14 10:15:35 +0300  Sebastian Dröge <sebastian@centricular.com>
 7203 
 7204 	* docs/gst_plugins_cache.json:
 7205 	* gst/rtp/gstrtpmp4gdepay.c:
 7206 	  rtpmp4gdepay: Allow lower-case "aac-hbr" instead of correct "AAC-hbr"
 7207 	  Various live555 based products are using the wrong "mode" string or
 7208 	  seem to assume case-insensitive matching, which is wrong.
 7209 	  Examples for this are the Yuan SC6C0N1 mini and the Kiloview E2.
 7210 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/727>
 7211 
 7212 2020-05-02 02:21:00 +0200  Stefan Brüns <stefan.bruens@rwth-aachen.de>
 7213 
 7214 	* gst/isomp4/qtdemux.c:
 7215 	  qtdemux: Add support for AAX encrypted audio streams
 7216 	  This is modelled after the DASH Common Encryption scheme, but is somewhat
 7217 	  simpler as more parts are fixed, i.e. just one encryption scheme.
 7218 	  The output caps are fixed to 'application/x-aavd'. All information
 7219 	  required for decryption are part of the 'adrm' atom, which is passed
 7220 	  on as a property. The property is attached to the buffer.
 7221 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/577>
 7222 
 7223 2020-05-02 02:20:44 +0200  Stefan Brüns <stefan.bruens@rwth-aachen.de>
 7224 
 7225 	* gst/isomp4/fourcc.h:
 7226 	* gst/isomp4/qtdemux.c:
 7227 	* gst/isomp4/qtdemux_types.c:
 7228 	  qtdemux: Add 'aavd' and related fourcc codes for AAX encrypted audio
 7229 	  The 'aavd' box is contained in the 'stsd' sample description. The 'aavd'
 7230 	  box follows the layout of an 'mp4a' entry, i.e. it contains a single
 7231 	  standard 'esds' extension box, and the two proprietary 'adrm' and 'aabd'
 7232 	  extension boxes.
 7233 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/577>
 7234 
 7235 2014-06-23 08:46:37 +0200  Haakon Sporsheim <haakon@pexip.com>
 7236 
 7237 	* ext/vpx/gstvp8dec.c:
 7238 	* ext/vpx/gstvp9dec.c:
 7239 	* ext/vpx/gstvpxdec.c:
 7240 	* ext/vpx/gstvpxdec.h:
 7241 	  vpxdec: request a sync point on decoder errors
 7242 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/725>
 7243 
 7244 2020-09-13 18:31:57 +0200  Camilo Celis Guzman <camilo@pexip.com>
 7245 
 7246 	* gst/rtp/gstrtpvrawpay.c:
 7247 	  rtp/vrawpay: use alloc_output_buffer from base class
 7248 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/726>
 7249 
 7250 2020-09-07 23:20:58 +0800  Ricky Tang <ricky@deepsentinel.com>
 7251 
 7252 	* docs/gst_plugins_cache.json:
 7253 	* gst/rtsp/gstrtspsrc.c:
 7254 	  rtspsrc: Fix push-backchannel-buffer parameter mismatch
 7255 	  When using python, signal parameter must match with function.
 7256 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/724>
 7257 
 7258 2020-09-10 11:24:32 +0200  Jérôme Laheurte <jlaheurte@quividi.net>
 7259 
 7260 	* ext/jpeg/gstjpegdec.c:
 7261 	  jpegdec: check buffer size before dereferencing. Fixes #541
 7262 	  Some cameras (Panacast) have buggy drivers/firmware which send
 7263 	  invalid JPEG frames, containing no data, which makes jpegdec
 7264 	  crash because it assumes the frame is at least 2 bytes long.
 7265 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/723>
 7266 
 7267 2020-09-10 11:11:00 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 7268 
 7269 	* gst/flv/gstflvmux.c:
 7270 	  flvmux: Improve logging of gst_flv_mux_buffer_to_tag_internal
 7271 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/722>
 7272 
 7273 2020-09-09 15:12:53 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 7274 
 7275 	* gst/flv/gstflvmux.c:
 7276 	  flvmux: Move stream skipping to GstAggregatorPadClass.skip_buffer
 7277 	  Besides looking like the correct place to put this, it allows us to drop
 7278 	  the entire aggregator queue. The old implementation only dropped at most
 7279 	  one buffer for each call of aggregate.
 7280 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/722>
 7281 
 7282 2020-09-08 17:35:50 +0200  Havard Graff <havard@pexip.com>
 7283 
 7284 	* sys/v4l2/gstv4l2object.c:
 7285 	  v4l2object: plug memory-leak
 7286 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/718>
 7287 
 7288 2020-08-28 18:09:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 7289 
 7290 	* docs/gst_plugins_cache.json:
 7291 	* ext/vpx/gstvp9enc.c:
 7292 	* ext/vpx/gstvp9enc.h:
 7293 	* ext/vpx/meson.build:
 7294 	  vp9enc: expose row-mt property
 7295 	  With recent libvpx versions, multithreading can be enabled on
 7296 	  a per-tile basis, instead of on a per tile-column basis.
 7297 	  In combination with the new tile-rows property, this allows the
 7298 	  encoder to make much better use of the available CPU power.
 7299 	  Bump minimum libvpx version to 1.7.0
 7300 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/707>
 7301 
 7302 2020-08-28 17:45:48 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 7303 
 7304 	* docs/gst_plugins_cache.json:
 7305 	* ext/vpx/gstvpxenc.c:
 7306 	  vpxenc: change default for deadline to good quality
 7307 	  Having the deadline set to best quality causes the encoder
 7308 	  to be absurdly slow, most real-life users will want the good
 7309 	  quality tradeoff instead.
 7310 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/707>
 7311 
 7312 2020-08-28 17:39:47 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 7313 
 7314 	* docs/gst_plugins_cache.json:
 7315 	* ext/vpx/gstvp9enc.c:
 7316 	* ext/vpx/gstvp9enc.h:
 7317 	  vp9enc: expose tile-columns and tile-rows properties
 7318 	  Based on patch by Stian Selnes <stian@pexip.com>.
 7319 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/707>
 7320 
 7321 2020-08-28 17:35:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 7322 
 7323 	* ext/vpx/gstvpxenc.c:
 7324 	* ext/vpx/gstvpxenc.h:
 7325 	  vpxenc: add configure_encoder virtual method
 7326 	  For subclasses to expose format-specific properties
 7327 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/707>
 7328 
 7329 2020-09-08 20:57:33 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 7330 
 7331 	* gst/multifile/gstsplitmuxsink.c:
 7332 	  splitmuxsink: fix sink pad release while PLAYING
 7333 	  - Release the split mux lock while removing the probes
 7334 	  - Flush the sinkpad to unblock other pads
 7335 	  - Turn check_completed_gop into a do while statement, when
 7336 	  waking up we want to recheck whether the current GOP is
 7337 	  ready for sending
 7338 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/719>
 7339 
 7340 2017-10-31 09:40:33 +0000  John-Mark Bell <jmb@pexip.com>
 7341 
 7342 	* tests/check/elements/vp8enc.c:
 7343 	  vp8enc: improve unit tests
 7344 	  - make test_encode_simple cope with libvpx built with
 7345 	  CONFIG_REALTIME_ONLY. Sadly, there's no way to detect this at
 7346 	  runtime beyond trying to set lag-in-frames to >0, pushing a
 7347 	  buffer and catching the GST_FLOW_NOT_NEGOTIATED return.
 7348 	  - fix bitrot in test_encode_simple_when_bitrate_set_to_zero.
 7349 	  - port test_encode_simple to GstHarness and introduce a separate
 7350 	  test for the lag-in-frames property.
 7351 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/708>
 7352 
 7353 2020-08-21 16:03:09 +0200  Jakub Adam <jakub.adam@collabora.com>
 7354 
 7355 	* docs/gst_plugins_cache.json:
 7356 	  docs: Update plugin cache
 7357 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/705>
 7358 
 7359 2020-03-24 19:35:07 +0100  Jakub Adam <jakub.adam@collabora.com>
 7360 
 7361 	* ext/vpx/gstvp9dec.c:
 7362 	* ext/vpx/gstvp9enc.c:
 7363 	* ext/vpx/gstvpxenc.c:
 7364 	  vpx: Support GST_VIDEO_FORMAT_I422_10LE
 7365 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/705>
 7366 
 7367 2020-03-24 17:16:59 +0100  Jakub Adam <jakub.adam@collabora.com>
 7368 
 7369 	* ext/vpx/gstvp9dec.c:
 7370 	* ext/vpx/gstvp9enc.c:
 7371 	* ext/vpx/gstvpxenc.c:
 7372 	  vpx: Support GST_VIDEO_FORMAT_I420_10LE
 7373 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/705>
 7374 
 7375 2020-03-23 21:44:30 +0100  Jakub Adam <jakub.adam@collabora.com>
 7376 
 7377 	* ext/vpx/gstvp9enc.c:
 7378 	* ext/vpx/gstvpxenc.c:
 7379 	  vp9enc: support GST_VIDEO_FORMAT_Y444
 7380 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/705>
 7381 
 7382 2020-09-08 17:30:35 +0100  Tim-Philipp Müller <tim@centricular.com>
 7383 
 7384 	* .gitlab-ci.yml:
 7385 	  ci: include template from gst-ci master branch again
 7386 
 7387 2020-09-08 16:58:37 +0100  Tim-Philipp Müller <tim@centricular.com>
 7388 
 7389 	* docs/gst_plugins_cache.json:
 7390 	* meson.build:
 7391 	  Back to development
 7392 
 7393 === release 1.18.0 ===
 7394 
 7395 2020-09-08 00:05:14 +0100  Tim-Philipp Müller <tim@centricular.com>
 7396 
 7397 	* .gitlab-ci.yml:
 7398 	* ChangeLog:
 7399 	* NEWS:
 7400 	* README:
 7401 	* RELEASE:
 7402 	* docs/gst_plugins_cache.json:
 7403 	* gst-plugins-good.doap:
 7404 	* meson.build:
 7405 	  Release 1.18.0
 7406 
 7407 2020-09-07 22:39:02 +0100  Tim-Philipp Müller <tim@centricular.com>
 7408 
 7409 	* meson.build:
 7410 	* scripts/dist-translations.py:
 7411 	* scripts/meson.build:
 7412 	  meson: dist pot file in tarballs
 7413 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/716>
 7414 
 7415 2020-09-07 12:13:18 +0300  Sebastian Dröge <sebastian@centricular.com>
 7416 
 7417 	* gst/isomp4/atoms.c:
 7418 	* gst/isomp4/qtdemux.c:
 7419 	* gst/matroska/matroska-demux.c:
 7420 	* gst/matroska/matroska-mux.c:
 7421 	  gst: Update for gst_video_transfer_function_*() function renaming
 7422 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/715>
 7423 
 7424 2020-08-31 15:01:32 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 7425 
 7426 	* gst/flv/gstflvmux.c:
 7427 	  flvmux: Avoid crash when best pad gets flushed
 7428 	  The 'best' pad might receive a flush event between us picking it and us
 7429 	  popping the buffer. In this case, the buffer will be missing.
 7430 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/711>
 7431 
 7432 2020-08-31 13:43:42 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 7433 
 7434 	* gst/flv/gstflvmux.c:
 7435 	  flvmux: Correct breaks in gst_flv_mux_find_best_pad
 7436 	  The code seems to use `continue` and `break` as if both refer to the
 7437 	  surrounding `while` loop. But because `break` breaks out of the
 7438 	  `switch`, they actually have the same effect.
 7439 	  This may have caused the loop not to terminate when it should. E.g. when
 7440 	  `skip_backwards_streams` drops a buffer we should abort the aggregation
 7441 	  and wait for all pads to be filled again. Instead, we might have just
 7442 	  selected a subsequent pad as our new "best".
 7443 	  Replace `break` with `done = TRUE; break`, and `continue` with `break`.
 7444 	  Then simplify the code a bit.
 7445 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/710>
 7446 
 7447 2020-05-13 11:31:38 +0200  Dmitriy Purgin <dpurgin@gmail.com>
 7448 
 7449 	* ext/qt/README.md:
 7450 	* ext/qt/qtplugin.pro:
 7451 	  gstqmlgl: build on Windows with qmake without pkgconfig; update instructions on building for Windows
 7452 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/591>
 7453 
 7454 2020-08-21 12:12:48 +0200  Philipp Zabel <philipp.zabel@gmail.com>
 7455 
 7456 	* meson.build:
 7457 	  meson: fix build failure if orc is enabled but none of its users are
 7458 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/778
 7459 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/704>
 7460 
 7461 2020-08-20 14:26:04 +0200  Zeid Bekli <zeidb@axis.com>
 7462 
 7463 	* gst/rtp/gstrtpL16depay.c:
 7464 	  rtpL16depay: unref buffer on error
 7465 	  gst_rtp_L16_depay_process to unref buffer on wrong payload size or
 7466 	  reorder failure.
 7467 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/702>
 7468 
 7469 === release 1.17.90 ===
 7470 
 7471 2020-08-20 16:11:58 +0100  Tim-Philipp Müller <tim@centricular.com>
 7472 
 7473 	* ChangeLog:
 7474 	* NEWS:
 7475 	* RELEASE:
 7476 	* docs/gst_plugins_cache.json:
 7477 	* gst-plugins-good.doap:
 7478 	* meson.build:
 7479 	  Release 1.17.90
 7480 
 7481 2020-08-18 10:27:52 +0300  Sebastian Dröge <sebastian@centricular.com>
 7482 
 7483 	* gst/rtp/gstrtputils.c:
 7484 	  rtputils: Don't call NULL GstMeta transform function
 7485 	  It's optional and if it does not exist then no transformation is
 7486 	  possible.
 7487 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/701>
 7488 
 7489 2020-08-13 15:27:25 -0400  Julian Bouzas <julian.bouzas@collabora.com>
 7490 
 7491 	* gst/rtp/gstrtp.c:
 7492 	  rtp: Do not register rtpreddec and rtpredenc twice
 7493 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/699>
 7494 
 7495 2020-08-12 12:21:43 +0300  Sebastian Dröge <sebastian@centricular.com>
 7496 
 7497 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 7498 	* gst/rtpmanager/gstrtpsession.c:
 7499 	* gst/rtpmanager/rtpsession.c:
 7500 	* gst/rtpmanager/rtpsource.c:
 7501 	  rtpmanager: Improve readability of "stats" docs by making the fields an actual list
 7502 	  Otherwise they end up all in the same line one after another.
 7503 	  Also add docs for the "avg-jitter" stats field of the jitterbuffer.
 7504 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/698>
 7505 
 7506 2020-08-11 17:24:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 7507 
 7508 	* sys/v4l2/gstv4l2h264codec.c:
 7509 	  v4l2h264codec: Map newly defined profile/levels
 7510 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/697>
 7511 
 7512 2020-08-11 17:18:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 7513 
 7514 	* sys/v4l2/ext/types-compat.h:
 7515 	* sys/v4l2/ext/v4l2-common.h:
 7516 	* sys/v4l2/ext/v4l2-controls.h:
 7517 	* sys/v4l2/ext/videodev2.h:
 7518 	  v4l2: Sync headers with kernel 5.9
 7519 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/697>
 7520 
 7521 2020-08-06 13:15:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
 7522 
 7523 	* sys/v4l2/gstv4l2deviceprovider.c:
 7524 	* sys/v4l2/gstv4l2object.c:
 7525 	* sys/v4l2/gstv4l2object.h:
 7526 	* sys/v4l2/gstv4l2radio.c:
 7527 	* sys/v4l2/gstv4l2sink.c:
 7528 	* sys/v4l2/gstv4l2src.c:
 7529 	* sys/v4l2/gstv4l2transform.c:
 7530 	* sys/v4l2/gstv4l2videodec.c:
 7531 	* sys/v4l2/gstv4l2videoenc.c:
 7532 	* sys/v4l2/v4l2_calls.c:
 7533 	  v4l2: use GstV4l2Error in gst_v4l2_open()
 7534 	  gst_v4l2_open() is called by gst_v4l2_device_provider_probe_device(),
 7535 	  where the GstV4l2Object is created without an associated GstElement.
 7536 	  If gst_v4l2_open() fails, it raises a bus message, but without an
 7537 	  element, a precondition check fails on
 7538 	  gst_element_message_full_with_details() generating a crash if running
 7539 	  with fatal-warnings debug mode.
 7540 	  GstV4l2Error is a helper to raise error bus messages when it is
 7541 	  appropiated. This patch changes the direct bus messages to this
 7542 	  helper, and the elements will actually send the error message.
 7543 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/694>
 7544 
 7545 2020-08-10 20:20:53 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 7546 
 7547 	* gst/flv/gstflvmux.c:
 7548 	  flvmux: Return NEED_DATA when we drop a buffer
 7549 	  When we are dropping a buffer in find_best_pad (e.g. waiting for a
 7550 	  keyframe, or skipping backwards timestamp), return
 7551 	  GST_AGGREGATOR_FLOW_NEED_DATA to make sure we have enough data at the
 7552 	  next run. Otherwise, a stream that accidentally fell behind (e.g.
 7553 	  relinking race, or just waiting for a keyframe) will never get the
 7554 	  opportunity to catch up to the other one, because the other one will
 7555 	  always keep advancing.
 7556 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696>
 7557 
 7558 2020-08-10 20:20:04 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 7559 
 7560 	* gst/flv/gstflvmux.c:
 7561 	  flvmux: Return NEED_DATA when no best pad is found
 7562 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696>
 7563 
 7564 2020-08-10 20:17:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 7565 
 7566 	* gst/flv/gstflvmux.c:
 7567 	  flvmux: Fix possible crash on GST_ITERATOR_RESYNC
 7568 	  Wrong pointer type
 7569 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/696>
 7570 
 7571 2020-08-10 15:49:55 +1000  Matthew Waters <matthew@centricular.com>
 7572 
 7573 	* ext/qt/qtglrenderer.cc:
 7574 	  qmlgloverlay: fix multiple elements with Qt 5.15
 7575 	  With Qt 5.15 multiple qmlgloverlay elements would produce:
 7576 	  ASSERT: "!m_gl->property(QSG_RENDERCONTEXT_PROPERTY).isValid()" in file /path/to/qt5/qtdeclarative/src/quick/scenegraph/qsgdefaultrendercontext.cpp, line 121
 7577 	  Workaround by setting the (seeminigly unused) property before
 7578 	  initialization.
 7579 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/695>
 7580 
 7581 2020-08-05 10:41:33 +0300  Sebastian Dröge <sebastian@centricular.com>
 7582 
 7583 	* docs/gst_plugins_cache.json:
 7584 	* gst/rtp/gstrtph264pay.c:
 7585 	* gst/rtp/gstrtph265pay.c:
 7586 	* tests/check/elements/rtp-payloading.c:
 7587 	* tests/check/elements/rtph264.c:
 7588 	* tests/check/elements/rtph265.c:
 7589 	  rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility
 7590 	  We didn't aggregate at all in previous versions and there are apparently
 7591 	  various RTP implementations that don't handle aggregation well at all.
 7592 	  As part of this also document that for RTSP it is recommended to keep it
 7593 	  set to "none" while for WebRTC it should be set to "zero-latency".
 7594 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/749
 7595 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/692>
 7596 
 7597 2020-07-24 16:58:34 +1000  Matthew Waters <matthew@centricular.com>
 7598 
 7599 	* ext/gtk/meson.build:
 7600 	* ext/qt/meson.build:
 7601 	* meson.build:
 7602 	* tests/examples/gtk/meson.build:
 7603 	  build: update for gl pkg-config file split
 7604 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/680>
 7605 
 7606 2020-07-31 13:50:13 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
 7607 
 7608 	* gst/multifile/gstsplitmuxsink.c:
 7609 	  splitmuxsink: Make sure flushing doesn't block
 7610 	  * Trying to disconnect a stream from a running splitmuxsink by flushing
 7611 	  it results in the FLUSH_START blocking in the stream queue's
 7612 	  gst_pad_pause_task because the flush did not unblock
 7613 	  complete_or_wait_on_out, so add a check for ctx->flushing there.
 7614 	  * Add a GST_SPLITMUX_BROADCAST_INPUT so check_completed_gop notices
 7615 	  flushing changed and the incoming push is unblocked.
 7616 	  * Pass the FLUSH_STOP along to the muxer without waiting.
 7617 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/687>
 7618 
 7619 2020-08-04 15:49:43 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 7620 
 7621 	* gst/imagefreeze/gstimagefreeze.c:
 7622 	  imagefreeze: Wait until we have a clock
 7623 	  Otherwise it can happen that it tries to get the clock in PAUSED state
 7624 	  in live mode, which does not exist.
 7625 	  Thanks to Sebastian Dröge for helping debugging.
 7626 	  Fixes #775
 7627 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/691>
 7628 
 7629 2020-07-31 11:05:02 +0100  Tim-Philipp Müller <tim@centricular.com>
 7630 
 7631 	* gst/isomp4/qtdemux.c:
 7632 	  qtdemux: extract bit depth from codec data for ALAC
 7633 	  The info in the sound sample description might not be
 7634 	  accurate if it's an older version atom.
 7635 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/771
 7636 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/686>
 7637 
 7638 2020-07-28 18:46:30 +0300  Jordan Petridis <jordan@centricular.com>
 7639 
 7640 	* gst/auparse/gstauparse.c:
 7641 	  auparse: fix compiler warnings
 7642 	  GCC 10 was complaining like following. It really is complaining about default cases returning
 7643 	  with potentially unitialized *desval, but those cases in the switch should never be hit.
 7644 	  ```
 7645 	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c: In function 'gst_au_parse_chain':
 7646 	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:481:37: error: 'timestamp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 7647 	  481 |       GST_BUFFER_TIMESTAMP (outbuf) = timestamp;
 7648 	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:482:36: error: 'duration' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 7649 	  482 |       GST_BUFFER_DURATION (outbuf) = duration;
 7650 	  ../subprojects/gst-plugins-good/gst/auparse/gstauparse.c:480:34: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 7651 	  480 |       GST_BUFFER_OFFSET (outbuf) = offset;
 7652 	  cc1: all warnings being treated as errors
 7653 	  ```
 7654 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/671>
 7655 
 7656 2020-07-29 14:06:55 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
 7657 
 7658 	* gst/rtsp/gstrtspsrc.c:
 7659 	  rtspsrc: drop stream-start message posted by the internal udp sink(s)
 7660 	  See #1368
 7661 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/685>
 7662 
 7663 2020-07-22 16:24:15 +0900  Hosang Lee <hosang10.lee@lge.com>
 7664 
 7665 	* tests/check/elements/qtdemux.c:
 7666 	  tests: qtdemux: test correct pad names are created
 7667 	  Test correct pad names are created in accordance to their media type
 7668 	  in mss mode.
 7669 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/628>
 7670 
 7671 2020-06-16 17:23:44 +0900  Hosang Lee <hosang10.lee@lge.com>
 7672 
 7673 	* gst/isomp4/qtdemux.c:
 7674 	  qtdemux: create correct pad names in encrypted streams
 7675 	  Refer to "original-media-type" when setting stream's subtype
 7676 	  for encrypted streams in mss mode.
 7677 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/628>
 7678 
 7679 2020-07-22 14:31:13 -0400  Thibault Saunier <tsaunier@igalia.com>
 7680 
 7681 	* gst/matroska/matroska-mux.c:
 7682 	  matroskamux: Do caps renegotiation when it only adds fields
 7683 	  Matroskamux can accept caps renegotiation if the new caps is a
 7684 	  superset of the old one, meaning upstream added new info to
 7685 	  the caps.
 7686 	  Same logic as a5f22f03aa25b04726f78ae619f40b3b648f7d48 in qtmux.
 7687 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/678>
 7688 
 7689 2020-07-24 14:02:26 +0100  Tim-Philipp Müller <tim@centricular.com>
 7690 
 7691 	* gst/rtpmanager/gstrtpfunnel.c:
 7692 	  rtpfunnel: protect internal srccaps with lock
 7693 	  These are modified from sink pad event handlers, so
 7694 	  could be accessed from multiple threads at the same
 7695 	  time.
 7696 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/681>
 7697 
 7698 2020-02-23 23:44:16 +0100  Havard Graff <havard@pexip.com>
 7699 
 7700 	* gst/rtpmanager/gstrtpfunnel.c:
 7701 	  rtpfunnel: copy caps before sending them in a caps-event
 7702 	  Reason being we don't want downstream to own a ref to our
 7703 	  internal caps.
 7704 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/681>
 7705 
 7706 2020-07-27 15:41:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 7707 
 7708 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 7709 	* gst/rtpmanager/gstrtpsession.c:
 7710 	* gst/rtpmanager/rtpsession.c:
 7711 	* gst/rtpmanager/rtpsource.c:
 7712 	  rtpmanager: fix various documentation issues
 7713 	  Improper naming of properties, improper links, misc
 7714 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/684>
 7715 
 7716 2020-07-24 17:13:04 +0100  Tim-Philipp Müller <tim@centricular.com>
 7717 
 7718 	* sys/rpicamsrc/RaspiCapture.c:
 7719 	  rpicamsrc: hypothetical fix for data pointer calculation
 7720 	  mmal buffer header docs say data is valid for length bytes
 7721 	  from offset. In practice offset always seems to be 0 so
 7722 	  far though.
 7723 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7724 
 7725 2020-07-24 16:35:43 +0100  Tim-Philipp Müller <tim@centricular.com>
 7726 
 7727 	* sys/rpicamsrc/RaspiCapture.c:
 7728 	  rpicamsrc: mark buffers as header and keyframe/delta-unit
 7729 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7730 
 7731 2020-07-24 16:14:00 +0100  Tim-Philipp Müller <tim@centricular.com>
 7732 
 7733 	* sys/rpicamsrc/RaspiCapture.c:
 7734 	* sys/rpicamsrc/RaspiCapture.h:
 7735 	* sys/rpicamsrc/gstrpicamsrc.c:
 7736 	  rpicamsrc: fix nal alignment of output buffers
 7737 	  We claim output buffers are nal-aligned, but that wasn't
 7738 	  actually true: We would push out a partial nal in case
 7739 	  the nal doesn't fit into the max encoder-selected output
 7740 	  buffer size, and then the next buffer would not start
 7741 	  with a sync marker. That's not right and makes h264parse
 7742 	  unhappy.
 7743 	  Instead accumulate buffers until we have a full frame
 7744 	  (we can't rely on the NAL_END flag, it's always set).
 7745 	  Fixes #768
 7746 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7747 
 7748 2020-07-13 23:43:48 +0100  Tim-Philipp Müller <tim@centricular.com>
 7749 
 7750 	* sys/rpicamsrc/meson.build:
 7751 	  rpicamsrc: fix "Could not find component vc.ril.camera" on recent raspios
 7752 	  Make extra sure all the required mmal libs such as libmmal_vc_client.so
 7753 	  actually get linked and stay linked. Otherwise the above error happens
 7754 	  it seems.
 7755 	  buster (10.4) with meson 0.55 and pi ref 2020-05-27
 7756 	  pi-gen, 825107f04027269db77426046f5085475b1ea22f, stage5
 7757 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7758 
 7759 2020-07-13 17:01:42 +0100  Tim-Philipp Müller <tim@centricular.com>
 7760 
 7761 	* po/POTFILES:
 7762 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 7763 	  rpicamsrc: deviceprovider: hook up i18n properly
 7764 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7765 
 7766 2020-07-13 16:55:48 +0100  Tim-Philipp Müller <tim@centricular.com>
 7767 
 7768 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 7769 	  rpicamsrc: deviceprovider: advertise (M)JPEG as well
 7770 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7771 
 7772 2020-07-13 16:50:58 +0100  Tim-Philipp Müller <tim@centricular.com>
 7773 
 7774 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 7775 	  rpicamsrc: deviceprovider: also advertise constrained-baseline profile
 7776 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/682>
 7777 
 7778 2020-07-23 16:58:00 +0200  Stéphane Cerveau <scerveau@collabora.com>
 7779 
 7780 	* meson.build:
 7781 	  meson: add a plugin summary
 7782 	  This summary displays a list of plugins which
 7783 	  have been enabled.
 7784 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/679>
 7785 
 7786 2020-07-22 09:46:47 +0800  Haihua Hu <jared.hu@nxp.com>
 7787 
 7788 	* sys/v4l2/gstv4l2object.h:
 7789 	* sys/v4l2/v4l2_calls.c:
 7790 	  v4l2: enhance v4l2 control interface to support string type CID
 7791 	  add string type cid support for v4l2 implementation
 7792 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/676>
 7793 
 7794 2020-07-01 15:17:47 +0200  Stéphane Cerveau <scerveau@collabora.com>
 7795 
 7796 	* gst/isomp4/fourcc.h:
 7797 	* gst/isomp4/qtdemux.c:
 7798 	* gst/isomp4/qtdemux_types.c:
 7799 	  qtdemux: add  Dolby Vision fourcc
 7800 	  This identifiers are registered in the MPEG-RA and defined
 7801 	  to be used by the Dolby Vision AVC/HEVC streams.
 7802 	  This is a first step to present the stream to the decoder.
 7803 	  Additional box parsing of DOVIConfigurationBox is necessary
 7804 	  to complete the media presentation with proper Dolby Vision
 7805 	  enhancements.
 7806 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/658>
 7807 
 7808 2020-05-17 15:51:09 +1000  Luke Yelavich <themuso@themuso.com>
 7809 
 7810 	* gst/imagefreeze/gstimagefreeze.c:
 7811 	  imagefreeze: Copy GstCapsFeatures to caps for source pad
 7812 	  Allows using imagefreeze with buffers in GLMemory. The following pipeline
 7813 	  works.
 7814 	  gst-launch-1.0 filesrc location=image.jpg ! jpegdec ! glupload ! \
 7815 	  imagefreeze ! glcolorconvert ! glimagesinkelement
 7816 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/594>
 7817 
 7818 2020-07-20 18:20:59 +0100  Tim-Philipp Müller <tim@centricular.com>
 7819 
 7820 	* gst/rtpmanager/rtptwcc.h:
 7821 	  rtpmanager: fix "redefinition of typedef RTPTWCCManager" compiler warning
 7822 	  G_DECLARE_FINAL_TYPE includes this typedef as well.
 7823 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/675>
 7824 
 7825 2020-07-17 16:39:25 -0400  Olivier Crête <olivier.crete@collabora.com>
 7826 
 7827 	* gst/rtp/gstrtpac3pay.c:
 7828 	* gst/rtp/gstrtpamrpay.c:
 7829 	* gst/rtp/gstrtpceltpay.c:
 7830 	* gst/rtp/gstrtpg723pay.c:
 7831 	* gst/rtp/gstrtpg729pay.c:
 7832 	* gst/rtp/gstrtpgsmpay.c:
 7833 	* gst/rtp/gstrtpgstpay.c:
 7834 	* gst/rtp/gstrtpmp2tpay.c:
 7835 	* gst/rtp/gstrtpmp4apay.c:
 7836 	* gst/rtp/gstrtpmp4gpay.c:
 7837 	* gst/rtp/gstrtpmpapay.c:
 7838 	* gst/rtp/gstrtpsbcpay.c:
 7839 	* gst/rtp/gstrtpspeexpay.c:
 7840 	* gst/rtp/gstrtpvorbispay.c:
 7841 	  rtp*pay: Allocate using the base class for audio codecs
 7842 	  This is required to add RTP header extensions from the
 7843 	  meta automatically.
 7844 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/674>
 7845 
 7846 2020-07-14 13:14:09 +0200  Ognyan Tonchev <ognyan@axis.com>
 7847 
 7848 	* gst/rtsp/gstrtspsrc.c:
 7849 	  rtspsrc: Fix segfault with illegal free
 7850 	  set_get_param_q is not a pointer so it is illegal to call g_queue_free_full().
 7851 	  Freeing the requests by popping them from the queue instead.
 7852 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/669>
 7853 
 7854 2020-07-15 14:40:42 +0300  Raul Tambre <raul@tambre.ee>
 7855 
 7856 	* ext/qt/qtitem.cc:
 7857 	  QtGLVideoItem: Use QSharedPointer::data() for better compatibility
 7858 	  Older Qt versions didn't have QSharedPointer::get(), which is just a modern alias for QSharedPointer::data().
 7859 	  FAILED: ext/qt/libgstqmlgl.so.p/qtitem.cc.o
 7860 	  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
 7861 	  In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
 7862 	  from /usr/include/gstreamer-1.0/gst/video/video.h:23,
 7863 	  from ../ext/qt/qtitem.cc:27:
 7864 	  ../ext/qt/qtitem.cc: In destructor ‘virtual QtGLVideoItem::~QtGLVideoItem()’:
 7865 	  ../ext/qt/qtitem.cc:138:86: error: ‘class QSharedPointer<QtGLVideoItemInterface>’ has no member named ‘get’
 7866 	  GST_INFO ("%p Destroying QtGLVideoItem and invalidating the proxy %p", this, proxy.get());
 7867 	  ^
 7868 	  /usr/include/gstreamer-1.0/gst/gstinfo.h:682:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
 7869 	  (GObject *) (object), __VA_ARGS__);    \
 7870 	  ^~~~~~~~~~~
 7871 	  ../ext/qt/qtitem.cc:138:3: note: in expansion of macro ‘GST_INFO’
 7872 	  GST_INFO ("%p Destroying QtGLVideoItem and invalidating the proxy %p", this, proxy.get());
 7873 	  ^
 7874 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/673>
 7875 
 7876 2020-07-14 14:24:20 +0100  Justin Chadwell <justin.chadwell@pexip.com>
 7877 
 7878 	* gst/isomp4/qtdemux.c:
 7879 	* tests/check/elements/qtdemux.c:
 7880 	  qtdemux: fix allocation explosion with stsd entries
 7881 	  Previously, the user input for stsd entries is trusted completely, and
 7882 	  so a maliciously crafted file could choose the length of the stsd
 7883 	  entries arbitrarily and cause qtdemux to try to allocate up to 2GB of
 7884 	  memory (half of a 32 bit max int).
 7885 	  This patch fixes this by sanity checking the stsd input against the
 7886 	  size of the entire stsd atom.
 7887 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/670>
 7888 
 7889 2020-07-13 10:37:19 +0100  Justin Chadwell <justin.chadwell@pexip.com>
 7890 
 7891 	* gst/isomp4/qtdemux.c:
 7892 	* tests/check/elements/qtdemux.c:
 7893 	  qtdemux: fix crashes when input stream contained no stsd entries
 7894 	  During trak parsing, we need to check for the existence of stsd_entries,
 7895 	  otherwise, we end up with a NULL pointer to them. It is entirely
 7896 	  possible for the stsd to exist, but for it to have no entries, which the
 7897 	  previous checks did not take into account.
 7898 	  This patch adds a simply check to ensure that all files that do not
 7899 	  contain a stsd entry are deemed corrupt, and adds a test case to prevent
 7900 	  a regression.
 7901 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/670>
 7902 
 7903 2020-07-15 12:40:17 +0100  Tim-Philipp Müller <tim@centricular.com>
 7904 
 7905 	* docs/gst_plugins_cache.json:
 7906 	  docs: update for new pixel formats
 7907 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753
 7908 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/754
 7909 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/672>
 7910 
 7911 2020-07-10 21:43:14 +0100  Tim-Philipp Müller <tim@centricular.com>
 7912 
 7913 	* sys/rpicamsrc/meson.build:
 7914 	  rpicamsrc: fix build with older meson versions
 7915 	  assert() used to require two arguments.
 7916 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/668>
 7917 
 7918 2020-07-10 13:08:55 +0000  Tim-Philipp Müller <tim@centricular.com>
 7919 
 7920 	* tests/examples/meson.build:
 7921 	* tests/examples/rpicamsrc/meson.build:
 7922 	* tests/examples/rpicamsrc/test_color_balance.c:
 7923 	* tests/examples/rpicamsrc/test_orientation.c:
 7924 	  examples: hook up rpicamsrc examples
 7925 	  webrtc one should probably go into gst-examples.
 7926 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7927 
 7928 2020-07-10 00:42:13 +0100  Tim-Philipp Müller <tim@centricular.com>
 7929 
 7930 	* tests/examples/rpicamsrc/test_color_balance.c:
 7931 	* tests/examples/rpicamsrc/test_orientation.c:
 7932 	* tests/examples/rpicamsrc/webrtc-unidirectional-h264.c:
 7933 	  examples: fix indentation of rpicamsrc examples
 7934 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7935 
 7936 2020-07-09 19:08:34 +0000  Tim-Philipp Müller <tim@centricular.com>
 7937 
 7938 	* docs/gst_plugins_cache.json:
 7939 	* docs/meson.build:
 7940 	* sys/rpicamsrc/gstrpicamsrc.c:
 7941 	  rpicamsrc: flesh out docs and add to plugin docs cache
 7942 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7943 
 7944 2020-07-09 18:04:10 +0000  Tim-Philipp Müller <tim@centricular.com>
 7945 
 7946 	* sys/rpicamsrc/gstrpicamsrc.c:
 7947 	* sys/rpicamsrc/gstrpicamsrc.h:
 7948 	  rpicamsrc: enable video orientation/direction unconditionally
 7949 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7950 
 7951 2020-07-09 17:37:01 +0000  Tim-Philipp Müller <tim@centricular.com>
 7952 
 7953 	* sys/rpicamsrc/gstrpicam-enums-template.c:
 7954 	* sys/rpicamsrc/gstrpicam-enums-template.h:
 7955 	  rpicamsrc: remove mkenums template files which are no longer needed
 7956 	  They were still being used by the autotools build, but that's gone.
 7957 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7958 
 7959 2020-07-09 17:35:15 +0000  Tim-Philipp Müller <tim@centricular.com>
 7960 
 7961 	* sys/rpicamsrc/RaspiCLI.c:
 7962 	* sys/rpicamsrc/RaspiCamControl.c:
 7963 	* sys/rpicamsrc/RaspiCapture.c:
 7964 	* sys/rpicamsrc/RaspiPreview.c:
 7965 	* sys/rpicamsrc/RaspiStill.c:
 7966 	* sys/rpicamsrc/RaspiStillYUV.c:
 7967 	* sys/rpicamsrc/gstrpicamsrc.c:
 7968 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 7969 	  rpicamsrc: fix indentation
 7970 	  Not touching the Raspi* files.
 7971 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7972 
 7973 2020-07-09 17:31:49 +0000  Tim-Philipp Müller <tim@centricular.com>
 7974 
 7975 	* sys/rpicamsrc/RaspiCapture.c:
 7976 	* sys/rpicamsrc/RaspiCapture.h:
 7977 	* sys/rpicamsrc/gstrpicamsrc.c:
 7978 	* sys/rpicamsrc/meson.build:
 7979 	  rpicamsrc: fix and silence some compiler warnings
 7980 	  Some are in system headers, and in Raspi files we want
 7981 	  to keep modifications to a minimum.
 7982 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7983 
 7984 2020-07-09 16:07:30 +0000  Tim-Philipp Müller <tim@centricular.com>
 7985 
 7986 	* meson_options.txt:
 7987 	* sys/meson.build:
 7988 	* sys/rpicamsrc/gstrpicamsrc.c:
 7989 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 7990 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.h:
 7991 	* sys/rpicamsrc/meson.build:
 7992 	  rpicamsrc: hook up to build
 7993 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 7994 
 7995 2020-07-09 11:46:30 +0000  Tim-Philipp Müller <tim@centricular.com>
 7996 
 7997 	  Merge branch 'plugin-move-rpicamsrc'
 7998 	  Move rpicamsrc from https://github.com/thaytan/gst-rpicamsrc/
 7999 	  It's a useful little element and works well, so might as well
 8000 	  make sure it's widely available so people can stop piping
 8001 	  raspivid output into fdsrc.
 8002 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/667>
 8003 
 8004 2020-05-02 19:27:20 +0000  Tim-Philipp Müller <tim@centricular.com>
 8005 
 8006 	* sys/rpicamsrc/gstrpicam-enums-template.c:
 8007 	* sys/rpicamsrc/gstrpicam-enums-template.h:
 8008 	  rpicamsrc: sync autotools with glib-mkenum usage in meson build
 8009 
 8010 2020-05-02 18:28:10 +0000  Tim-Philipp Müller <tim@centricular.com>
 8011 
 8012 	* sys/rpicamsrc/gstrpicamsrc.c:
 8013 	* sys/rpicamsrc/meson.build:
 8014 	  rpicamsrc: meson: use gnome.glib_mkenums_simple() and fix build as Meson subproject
 8015 	  While at it also fix up the type defines, e.g.
 8016 	  GST_RPI_CAM_TYPE_RPI_CAM_SRC_EXPOSURE_MODE -> GST_RPI_CAM_SRC_TYPE_EXPOSURE_MODE
 8017 
 8018 2020-05-03 11:09:47 +0000  Tim-Philipp Müller <tim@centricular.com>
 8019 
 8020 	* sys/rpicamsrc/gstplugin.map:
 8021 	* sys/rpicamsrc/meson.build:
 8022 	  rpicamsrc: meson: drop map file and fix plugin symbol export with newer gstreamer versions
 8023 	  Use -fvisibility instead of a map file for symbol export, so that
 8024 	  the right symbols get exported with newer gstreamer versions. Older
 8025 	  GStreamer versions also still work of course.
 8026 	  Fixes blacklisting/plugin-loading issues with GStreamer >= 1.14
 8027 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/984,
 8028 	  closes https://github.com/thaytan/gst-rpicamsrc/issues/94
 8029 	  and https://github.com/thaytan/gst-rpicamsrc/issues/67
 8030 
 8031 2018-07-16 19:49:21 +1000  Jan Schmidt <thaytan@noraisin.net>
 8032 
 8033 	* sys/rpicamsrc/RaspiCapture.c:
 8034 	  rpicamsrc: Attempt to workaround MMAL timeout bug
 8035 	  mmal_queue_timedwait() might spuriously return immediately
 8036 	  if called at exactly the wrong instant due to an internal
 8037 	  off-by-one bug. Attempt to work around that and just retry.
 8038 
 8039 2018-07-16 19:30:26 +1000  Jan Schmidt <thaytan@noraisin.net>
 8040 
 8041 	* sys/rpicamsrc/RaspiCapture.c:
 8042 	* sys/rpicamsrc/RaspiCapture.h:
 8043 	* sys/rpicamsrc/gstrpicamsrc.c:
 8044 	  rpicamsrc: Improve timeout error
 8045 	  Propagate timeout errors so they're not reported
 8046 	  generically
 8047 
 8048 2018-06-21 22:50:28 +1000  Jan Schmidt <jan@centricular.com>
 8049 
 8050 	* tests/examples/rpicamsrc/webrtc-unidirectional-h264.c:
 8051 	  rpicamsrc: webrtc example: Add a STUN server to the configuration
 8052 	  To let the webrtc example work through NAT firewalls
 8053 
 8054 2018-06-21 22:44:25 +1000  Jan Schmidt <jan@centricular.com>
 8055 
 8056 	* tests/examples/rpicamsrc/webrtc-unidirectional-h264.c:
 8057 	  rpicamsrc: webrtc example: Modify HTML to support other ports than 57778
 8058 
 8059 2018-06-21 21:45:32 +1000  Jan Schmidt <jan@centricular.com>
 8060 
 8061 	* tests/examples/rpicamsrc/webrtc-unidirectional-h264.c:
 8062 	  rpicamsrc: webrtc example: Remove external fmtp insertion
 8063 	  GStreamer 1.14.2 should contain the backport of gst-plugins-bad
 8064 	  commit 5c450c5 adding FEC and RTX support, and incidentally
 8065 	  the fmtp field in the SDP
 8066 
 8067 2018-06-21 20:33:03 +1000  Jan Schmidt <jan@centricular.com>
 8068 
 8069 	* tests/examples/rpicamsrc/webrtc-unidirectional-h264.c:
 8070 	  rpicamsrc: webrtc example: Set the locale
 8071 	  Make the date format in the overlay respect the current
 8072 	  locale
 8073 
 8074 2018-06-20 15:36:42 +0000  Jan Schmidt <jan@centricular.com>
 8075 
 8076 	* sys/rpicamsrc/RaspiCapture.c:
 8077 	  rpicamsrc: Don't destroy the camera component on startup error
 8078 	  Just disable the camera component when it fails to start. The
 8079 	  most common reason is that the camera device is already in use,
 8080 	  and if we just disable the mmal component correct cleanup
 8081 	  will happen later
 8082 
 8083 2018-05-12 21:13:52 +0000  Jan Schmidt <jan@centricular.com>
 8084 
 8085 	* tests/examples/rpicamsrc/webrtc-unidirectional-h264.c:
 8086 	  rpicamsrc: Add webrtc streaming example
 8087 	  Add an example for testing webrtc streaming from the rpi
 8088 	  camera, based on the code from
 8089 	  https://bugzilla.gnome.org/show_bug.cgi?id=795404
 8090 	  Requires GStreamer 1.14.1 or git master
 8091 
 8092 2018-05-12 19:57:43 +0000  Jan Schmidt <jan@centricular.com>
 8093 
 8094 	* sys/rpicamsrc/gstrpicamsrc.c:
 8095 	  rpicamsrc: Expose constrained-baseline profile
 8096 	  constrained-baseline is a useful profile for streaming to iOS
 8097 	  devices, and seems to work in the firmware, so let's publish it
 8098 
 8099 2018-03-28 22:00:10 +1100  Jan Schmidt <jan@centricular.com>
 8100 
 8101 	* sys/rpicamsrc/RaspiCapture.h:
 8102 	* sys/rpicamsrc/gstrpicamsrc.c:
 8103 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 8104 	  rpicamsrc: Add define and increase reported maximum FPS from 90 to 1000
 8105 
 8106 2017-11-14 15:01:21 +1100  Jan Schmidt <thaytan@noraisin.net>
 8107 
 8108 	* sys/rpicamsrc/RaspiCapture.c:
 8109 	  rpicamsrc: Expand frame timeout from 100ms to 500ms
 8110 	  rpicamsrc on a normal rpi camera doesn't start up fast enough,
 8111 	  and always fails the new 100ms timeout. A better solution
 8112 	  might be to have a longer timeout for the first frame, but
 8113 	  shorter once frames are running - but this quick fix will at
 8114 	  least make rpicamsrc work again.
 8115 
 8116 2017-11-08 09:14:35 +0000  Georgii Staroselskii <georgii.staroselskii@emlid.com>
 8117 
 8118 	* sys/rpicamsrc/RaspiCapture.c:
 8119 	  rpicamsrc: RaspiCapture: use mmal_queue_timedwait() for buffer queueing
 8120 	  If an external camera was disconnected, there were no feedback in an
 8121 	  application. It seems reasonable to wait on mmal_queue no longer than
 8122 	  100ms. If it's stuck we just return a FLOW_ERROR and let the application
 8123 	  decide what to do later.
 8124 
 8125 2017-11-07 15:14:06 +0000  Georgii Staroselskii <georgii.staroselskii@emlid.com>
 8126 
 8127 	* sys/rpicamsrc/RaspiCapture.c:
 8128 	  rpicamsrc: RaspiCapture: handle MMAL_EVENT_ERROR
 8129 
 8130 2017-07-01 00:51:13 +1000  Jan Schmidt <thaytan@noraisin.net>
 8131 
 8132 	* sys/rpicamsrc/RaspiCapture.c:
 8133 	* sys/rpicamsrc/RaspiCapture.h:
 8134 	* sys/rpicamsrc/gstrpicamsrc.c:
 8135 	  rpicamsrc: Implement use-stc property to disable STC timestamps
 8136 	  If use-stc=false, then rpicamsrc won't apply
 8137 	  the camera timestamping to outgoing buffers, instead
 8138 	  relying on real-time timestamping by the
 8139 	  GStreamer clock. It means slightly less accuracy
 8140 	  and more jitter in timestamps, but might help on some
 8141 	  CSI inputs with broken timestamping.
 8142 
 8143 2017-05-19 20:55:35 +1000  Jan Schmidt <thaytan@noraisin.net>
 8144 
 8145 	* sys/rpicamsrc/gstrpicamsrc.c:
 8146 	  rpicamsrc: Fix the descriptions of text annotation colour properties
 8147 	  The text annotation colour properties take an integer value
 8148 	  corresponding to a VUY colour, not a text string like
 8149 	  the copy-pasted description from raspivid suggests.
 8150 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/59
 8151 
 8152 2017-01-27 12:58:29 +1100  Jan Schmidt <thaytan@noraisin.net>
 8153 
 8154 	* sys/rpicamsrc/RaspiCapture.c:
 8155 	  rpicamsrc: Implement dynamic bitrate update
 8156 	  Use mmal_port_set_parameter_uint32 to update the encoder
 8157 	  bitrate.
 8158 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/60
 8159 
 8160 2016-10-08 11:12:09 +0000  Jan Schmidt <jan@centricular.com>
 8161 
 8162 	* sys/rpicamsrc/gstrpicamsrc.c:
 8163 	* sys/rpicamsrc/gstrpicamsrc.h:
 8164 	  rpicamsrc: Set outgoing buffer durations based on negotiated framerate.
 8165 	  make sure outgoing buffers have at least some duration set,
 8166 	  otherwise it leads to strange situations, like qtmux writing
 8167 	  out a file that doesn't include the final frame inside the
 8168 	  playable segment, because no-duration = 0 duration there.
 8169 
 8170 2016-10-08 11:10:30 +0000  Jan Schmidt <jan@centricular.com>
 8171 
 8172 	* sys/rpicamsrc/RaspiCapture.c:
 8173 	  rpicamsrc: Destroy mmal pool on shutdown always.
 8174 	  Avoid hangs on the next run because we didn't clean up the mmal pool
 8175 	  last time we shutdown.
 8176 
 8177 2016-10-03 15:29:49 +0000  Jan Schmidt <jan@centricular.com>
 8178 
 8179 	* sys/rpicamsrc/gstrpicamsrc.c:
 8180 	  rpicamsrc: Switch back to MJPEG codec for image/jpeg
 8181 	  The JPEG codec hangs, not sure why yet. The MJPEG
 8182 	  codec doesn't provide a quality setting, and sometimes
 8183 	  freezes on shutdown, but otherwise seems more
 8184 	  reliable
 8185 
 8186 2016-10-03 14:00:54 +0000  Jan Schmidt <jan@centricular.com>
 8187 
 8188 	* sys/rpicamsrc/RaspiCapture.c:
 8189 	* sys/rpicamsrc/gstrpicamsrc.c:
 8190 	  rpicamsrc: Don't try and set H264 params with JPEG codec
 8191 
 8192 2016-10-03 02:34:50 +1100  Jan Schmidt <thaytan@noraisin.net>
 8193 
 8194 	* sys/rpicamsrc/RaspiCapture.c:
 8195 	* sys/rpicamsrc/RaspiCapture.h:
 8196 	* sys/rpicamsrc/gstrpicamsrc.c:
 8197 	  rpicamsrc: First attempt at implementing MJPEG and raw video support
 8198 
 8199 2016-09-19 12:06:05 +0000  Tim-Philipp Müller <tim@centricular.com>
 8200 
 8201 	* sys/rpicamsrc/gstplugin.map:
 8202 	* sys/rpicamsrc/meson.build:
 8203 	  rpicamsrc: Add experimental build using the Meson build system
 8204 	  Builds in about 10 seconds vs. 77 seconds with autotools.
 8205 
 8206 2016-08-30 17:00:41 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>
 8207 
 8208 	* sys/rpicamsrc/gstrpicamsrc.c:
 8209 	* sys/rpicamsrc/gstrpicamsrc.h:
 8210 	  rpicamsrc: Implement GstVideoDirection interface
 8211 	  Instead of implementing a custom property, we implement that interface.
 8212 
 8213 2016-07-21 02:29:57 +1000  Jan Schmidt <thaytan@noraisin.net>
 8214 
 8215 	* sys/rpicamsrc/gstrpicamsrc.c:
 8216 	  rpicamsrc: MMAL gives buffers with nal alignment, not AU
 8217 	  Fix the output caps, our buffers are not AU aligned, since
 8218 	  the SPS / PPS are given in separate packets at the start.
 8219 
 8220 2016-07-08 15:32:21 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>
 8221 
 8222 	* sys/rpicamsrc/gstrpicamsrc.c:
 8223 	* sys/rpicamsrc/gstrpicamsrc.h:
 8224 	  rpicamsrc: Create orientation property
 8225 	  Its behavior and choices are analog to the ones present in [gl]videoflip
 8226 	  for the method property.
 8227 
 8228 2016-01-03 08:26:23 +1100  Jan Schmidt <thaytan@noraisin.net>
 8229 
 8230 	* sys/rpicamsrc/gstrpicamsrc.c:
 8231 	  rpicamsrc: basesrc event handlers should not unref
 8232 	  Don't unref the passed event when handling events via
 8233 	  the GstBaseSrc src pad event handler - basesrc does
 8234 	  the unref. That breaks handling of upstream
 8235 	  force-key-unit events by unreffing twice.
 8236 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/43
 8237 
 8238 2015-12-17 14:16:10 +1100  Jan Schmidt <thaytan@noraisin.net>
 8239 
 8240 	* sys/rpicamsrc/gstrpicamsrc.c:
 8241 	  rpicamsrc: Add property getters for preview window position.
 8242 	  Add the lines in get_property() for the preview-x/y/w/h properties
 8243 	  so the values can be retrieved without causing critical warnings.
 8244 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/42
 8245 
 8246 2015-12-02 01:20:10 +1100  Jan Schmidt <thaytan@noraisin.net>
 8247 
 8248 	* sys/rpicamsrc/gstrpicamsrc.c:
 8249 	  rpicamsrc: Add preview-x/y/w/h properties
 8250 	  Expose properties for setting the position of the preview
 8251 	  window on the screen
 8252 
 8253 2015-10-21 21:11:36 +1100  Jan Schmidt <thaytan@noraisin.net>
 8254 
 8255 	* sys/rpicamsrc/gstrpicamsrc.c:
 8256 	  rpicamsrc: Add properties for configuring annotation text size and colour.
 8257 	  Map the raspivid setting for annotation text size and colours
 8258 	  to properties.
 8259 
 8260 2015-10-08 10:32:32 +0200  ibauer <iljabauer@gmail.com>
 8261 
 8262 	* sys/rpicamsrc/gstrpicamsrc.c:
 8263 	  rpicamsrc: Changed awb-gain-blue use the correct enum PROP_AWB_GAIN_BLUE and not PROP_AWB_GAIN_RED
 8264 
 8265 2015-07-19 01:48:35 +1000  Jan Schmidt <thaytan@noraisin.net>
 8266 
 8267 	* sys/rpicamsrc/RaspiCapture.c:
 8268 	  rpicamsrc: Fix buffer PTS calculation
 8269 	  Timestamps from MMAL are in microseconds,
 8270 	  so make sure to convert to nanoseconds before
 8271 	  using them to adjust the GStreamer buffer time
 8272 
 8273 2015-05-11 11:16:52 +0200  Philippe Normand <philn@igalia.com>
 8274 
 8275 	* sys/rpicamsrc/gstrpicamsrc.c:
 8276 	* tests/examples/rpicamsrc/test_orientation.c:
 8277 	  rpicamsrc: Basic orientation interface support
 8278 	  The (h,v)flip attributes are now supported through this interface.
 8279 	  It should also be possible to support (h,v)center attributes using the
 8280 	  ROI properties.
 8281 
 8282 2015-05-11 21:29:58 +1000  Jan Schmidt <thaytan@noraisin.net>
 8283 
 8284 	* sys/rpicamsrc/gstrpicamsrc.c:
 8285 	  rpicamsrc: Describe awb-mode=off in lowercase
 8286 	  Change the descriptions for the awb-gain-blue and awb-gain-red
 8287 	  properties to say 'awb-mode=off' instead of 'awb-mode=OFF'
 8288 	  See https://github.com/thaytan/gst-rpicamsrc/issues/26
 8289 
 8290 2015-05-11 10:17:18 +0200  Philippe Normand <philn@igalia.com>
 8291 
 8292 	* sys/rpicamsrc/gstrpicamsrc.c:
 8293 	  rpicamsrc: colorbalance: protect with config_lock mutex
 8294 
 8295 2015-05-05 19:03:43 +0200  Philippe Normand <philn@igalia.com>
 8296 
 8297 	* tests/examples/rpicamsrc/test_color_balance.c:
 8298 	  rpicamsrc: add test-color-balance example
 8299 	  This small test will display a live video preview of the rpicam with
 8300 	  the balance controls being updated once a second. The controls to
 8301 	  update can be disabled in the source by setting the CONTROL_* macros
 8302 	  values to 0.
 8303 
 8304 2015-04-29 16:36:18 +0200  Philippe Normand <philn@igalia.com>
 8305 
 8306 	* sys/rpicamsrc/gstrpicamsrc.c:
 8307 	* sys/rpicamsrc/gstrpicamsrc.h:
 8308 	  rpicamsrc: Implement GstColorBalance interface
 8309 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/24
 8310 
 8311 2015-04-27 22:56:32 +1000  Jan Schmidt <thaytan@noraisin.net>
 8312 
 8313 	* sys/rpicamsrc/RaspiCapture.c:
 8314 	* sys/rpicamsrc/RaspiCapture.h:
 8315 	* sys/rpicamsrc/gstrpicamsrc.c:
 8316 	  rpicamsrc: Fix initial config setting.
 8317 	  Make sure to update the captsure config before starting
 8318 	  capture. Since the capture component now keeps a local
 8319 	  copy of the config, it's not updated automatically.
 8320 
 8321 2015-04-27 04:05:42 +1000  Jan Schmidt <thaytan@noraisin.net>
 8322 
 8323 	* sys/rpicamsrc/RaspiCapture.c:
 8324 	  rpicamsrc: Disable bitrate, quantisation and intra-refresh dynamic changes
 8325 	  The firmware rejects dynamic changes of those encoder params.
 8326 
 8327 2015-04-27 04:05:04 +1000  Jan Schmidt <thaytan@noraisin.net>
 8328 
 8329 	* sys/rpicamsrc/RaspiCapture.h:
 8330 	  rpicamsrc: Send vcos_log_warn via GStreamer debug messages
 8331 
 8332 2015-04-27 02:43:14 +1000  Jan Schmidt <thaytan@noraisin.net>
 8333 
 8334 	* tests/examples/rpicamsrc/dynamicprops.py:
 8335 	  rpicamsrc: Add dynamic properties example
 8336 	  Python example of adjusting saturation on the fly
 8337 
 8338 2015-04-27 00:54:54 +1000  Jan Schmidt <jan@centricular.com>
 8339 
 8340 	* sys/rpicamsrc/RaspiCapture.c:
 8341 	* sys/rpicamsrc/RaspiCapture.h:
 8342 	* sys/rpicamsrc/gstrpicamsrc.c:
 8343 	* sys/rpicamsrc/gstrpicamsrc.h:
 8344 	  rpicamsrc: Update properties dynamically where possible
 8345 	  Update camera and encoder properties at runtime
 8346 	  where possible
 8347 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/19
 8348 	  and https://github.com/thaytan/gst-rpicamsrc/issues/23
 8349 
 8350 2015-04-27 00:40:23 +1000  Jan Schmidt <jan@centricular.com>
 8351 
 8352 	* sys/rpicamsrc/RaspiPreview.c:
 8353 	* sys/rpicamsrc/RaspiPreview.h:
 8354 	  rpicamsrc: split preview config and state
 8355 
 8356 2015-04-21 02:45:59 +1000  Jan Schmidt <thaytan@noraisin.net>
 8357 
 8358 	* sys/rpicamsrc/RaspiCapture.c:
 8359 	  rpicamsrc: Clear intra-refresh MMAL param struct.
 8360 	  Use memset on the stack allocated MMAL_PARAMETER_VIDEO_INTRA_REFRESH_T
 8361 	  struct. Apparently mmal_port_parameter_get() doesn't retrieve all
 8362 	  parameters, causing random failures when we set the intra-refresh
 8363 	  param on the encoder.
 8364 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/22 for me.
 8365 
 8366 2015-04-21 01:17:55 +1000  Jan Schmidt <jan@centricular.com>
 8367 
 8368 	* sys/rpicamsrc/RaspiCamControl.c:
 8369 	* sys/rpicamsrc/RaspiCamControl.h:
 8370 	* sys/rpicamsrc/RaspiCapture.c:
 8371 	  rpicamsrc: Merge changes from userland repo
 8372 	  Current to b69f807ce59189457662c2144a8e7e12dc776988
 8373 	  No integration of stereoscopic support as yet
 8374 
 8375 2015-04-21 00:02:27 +1000  Jan Schmidt <thaytan@noraisin.net>
 8376 
 8377 	* sys/rpicamsrc/gstrpicam_types.h:
 8378 	  rpicamsrc: Map intra-refresh cyclic-rows to the correct MMAL param.
 8379 
 8380 2015-03-10 00:22:40 +1100  Jan Schmidt <thaytan@noraisin.net>
 8381 
 8382 	* sys/rpicamsrc/RaspiCapture.c:
 8383 	* sys/rpicamsrc/RaspiCapture.h:
 8384 	* sys/rpicamsrc/gstrpicamsrc.c:
 8385 	  rpicamsrc: Use MMAL PTS and STC to calculate GStreamer timestamps
 8386 	  Don't apply timestamps based on output time from the encoder,
 8387 	  but use the MMAL STC and capture PTS to generate a GStreamer
 8388 	  timestamp that more accurately resembles the input (and would
 8389 	  preserve reordering should the encoder ever add B-frames).
 8390 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/16
 8391 
 8392 2015-03-07 02:11:25 +1100  Jan Schmidt <thaytan@noraisin.net>
 8393 
 8394 	* sys/rpicamsrc/RaspiCapture.c:
 8395 	  rpicamsrc: Defer encoder creation until after caps are negotiated
 8396 	  This ensures the encoder is created with the profile
 8397 	  negotiated with downstream
 8398 
 8399 2015-03-07 01:17:30 +1100  Jan Schmidt <jan@centricular.com>
 8400 
 8401 	* sys/rpicamsrc/gstrpicamsrc.c:
 8402 	  rpicamsrc: Read and set H.264 profile from negotiated caps
 8403 
 8404 2015-03-06 03:43:07 +1100  Jan Schmidt <jan@centricular.com>
 8405 
 8406 	* sys/rpicamsrc/gstrpicam_types.h:
 8407 	* sys/rpicamsrc/gstrpicamsrc.c:
 8408 	  rpicamsrc: Add intra-refresh-type property, and set default keyframe spacing to -1 (auto)
 8409 	  This plus other recent commits mostly fix
 8410 	  bug https://github.com/thaytan/gst-rpicamsrc/issues/16
 8411 
 8412 2015-03-06 03:05:24 +1100  Jan Schmidt <jan@centricular.com>
 8413 
 8414 	* sys/rpicamsrc/gstrpicam_types.h:
 8415 	* sys/rpicamsrc/gstrpicamsrc.c:
 8416 	* sys/rpicamsrc/gstrpicamsrc.h:
 8417 	  rpicamsrc: Add annotation-mode and annotation-text properties
 8418 
 8419 2015-03-06 02:42:00 +1100  Jan Schmidt <jan@centricular.com>
 8420 
 8421 	* sys/rpicamsrc/gstrpicamsrc.c:
 8422 	* sys/rpicamsrc/gstrpicamsrc.h:
 8423 	  rpicamsrc: implement sensor-mode property
 8424 
 8425 2015-03-06 01:27:44 +1100  Jan Schmidt <jan@centricular.com>
 8426 
 8427 	* sys/rpicamsrc/RaspiCapture.c:
 8428 	* sys/rpicamsrc/RaspiCapture.h:
 8429 	  rpicamsrc: More conversion to GStreamer logging
 8430 
 8431 2015-03-06 01:15:48 +1100  Jan Schmidt <jan@centricular.com>
 8432 
 8433 	* sys/rpicamsrc/gstrpicam_types.h:
 8434 	* sys/rpicamsrc/gstrpicamsrc.c:
 8435 	  rpicamsrc: Implement drc property
 8436 
 8437 2015-03-06 01:09:16 +1100  Jan Schmidt <jan@centricular.com>
 8438 
 8439 	* sys/rpicamsrc/gstrpicamsrc.c:
 8440 	  rpicamsrc: add awb-gain-red and awb-gain-blue properties
 8441 
 8442 2015-03-06 00:52:37 +1100  Jan Schmidt <jan@centricular.com>
 8443 
 8444 	* sys/rpicamsrc/gstrpicamsrc.c:
 8445 	  rpicamsrc: Add camera-number property
 8446 
 8447 2015-03-06 00:45:05 +1100  Jan Schmidt <jan@centricular.com>
 8448 
 8449 	* sys/rpicamsrc/gstrpicamsrc.c:
 8450 	  rpicamsrc: add inline-headers and shutter-speed properties
 8451 
 8452 2015-03-06 00:21:31 +1100  Jan Schmidt <jan@centricular.com>
 8453 
 8454 	* sys/rpicamsrc/gstrpicamsrc.c:
 8455 	  rpicamsrc: Add quantisation-parameter property, support variable bitrate
 8456 	  Allow birate=0 and implement the quantisation-parameter property
 8457 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/21
 8458 
 8459 2015-03-05 17:01:33 +1100  Jan Schmidt <jan@centricular.com>
 8460 
 8461 	* sys/rpicamsrc/RaspiCLI.c:
 8462 	* sys/rpicamsrc/RaspiCLI.h:
 8463 	* sys/rpicamsrc/RaspiCamControl.c:
 8464 	* sys/rpicamsrc/RaspiCamControl.h:
 8465 	* sys/rpicamsrc/RaspiCapture.c:
 8466 	* sys/rpicamsrc/RaspiCapture.h:
 8467 	* sys/rpicamsrc/RaspiPreview.c:
 8468 	* sys/rpicamsrc/RaspiPreview.h:
 8469 	  rpicamsrc: Incorporate raspivid changes from upstream
 8470 	  Merge all changes for new features from upstream
 8471 	  raspberrypi userland, up to commit 0de0b2
 8472 
 8473 2015-01-05 02:21:16 +1100  Jan Schmidt <thaytan@noraisin.net>
 8474 
 8475 	* sys/rpicamsrc/gstrpicamsrc.c:
 8476 	  rpicamsrc: Add keyframe-interval property to the element
 8477 
 8478 2014-10-30 00:45:18 +0000  Tim-Philipp Müller <tim@centricular.com>
 8479 
 8480 	* sys/rpicamsrc/RaspiCamControl.c:
 8481 	* sys/rpicamsrc/RaspiCamControl.h:
 8482 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 8483 	  rpicamsrc: deviceprovider: check if camera is detected and supported
 8484 
 8485 2014-10-29 00:43:51 +0000  Tim-Philipp Müller <tim@centricular.com>
 8486 
 8487 	* sys/rpicamsrc/gstrpicamsrc.c:
 8488 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.c:
 8489 	* sys/rpicamsrc/gstrpicamsrcdeviceprovider.h:
 8490 	  rpicamsrc: Add GstDeviceProvider for rpi camera module
 8491 
 8492 2014-09-27 14:31:10 +0100  Tim-Philipp Müller <tim@centricular.com>
 8493 
 8494 	* sys/rpicamsrc/gstrpicamsrc.c:
 8495 	  rpicamsrc: avoid single-element lists in template caps
 8496 
 8497 2014-10-09 20:38:41 +0000  Vivia Nikolaidou <n.vivia@gmail.com>
 8498 
 8499 	* sys/rpicamsrc/RaspiCapture.c:
 8500 	* sys/rpicamsrc/RaspiCapture.h:
 8501 	* sys/rpicamsrc/gstrpicamsrc.c:
 8502 	  rpicamsrc: Add force-key-unit event support
 8503 
 8504 2014-03-13 00:16:18 +1100  Jan Schmidt <thaytan@noraisin.net>
 8505 
 8506 	* sys/rpicamsrc/RaspiCamControl.c:
 8507 	* sys/rpicamsrc/RaspiCapture.c:
 8508 	* sys/rpicamsrc/RaspiCapture.h:
 8509 	* sys/rpicamsrc/RaspiPreview.c:
 8510 	* sys/rpicamsrc/gstrpicamsrc.c:
 8511 	  rpicamsrc: Move all debug output to go via GStreamer logs
 8512 	  Fixes https://github.com/thaytan/gst-rpicamsrc/issues/9
 8513 
 8514 2013-10-19 18:52:25 +1100  Jan Schmidt <thaytan@noraisin.net>
 8515 
 8516 	* sys/rpicamsrc/gstrpicamsrc.c:
 8517 	  rpicamsrc: Update maximum framerate to 90 fps
 8518 
 8519 2013-10-14 02:39:00 +1100  Jan Schmidt <thaytan@noraisin.net>
 8520 
 8521 	* sys/rpicamsrc/RaspiCamControl.c:
 8522 	* sys/rpicamsrc/gstrpicamsrc.c:
 8523 	  rpicamsrc: Enable image effects
 8524 
 8525 2013-10-13 18:01:00 +1100  Jan Schmidt <thaytan@noraisin.net>
 8526 
 8527 	* sys/rpicamsrc/gstrpicamsrc.c:
 8528 	  rpicamsrc: Re-flow element source code with gst-indent
 8529 
 8530 2013-10-13 17:46:07 +1100  Jan Schmidt <thaytan@noraisin.net>
 8531 
 8532 	* sys/rpicamsrc/gstrpicam-enums-template.c:
 8533 	* sys/rpicamsrc/gstrpicam-enums-template.h:
 8534 	* sys/rpicamsrc/gstrpicam_types.h:
 8535 	* sys/rpicamsrc/gstrpicamsrc.c:
 8536 	  rpicamsrc: Implement a bunch of the raspivid command-line params
 8537 	  Add properties for controlling various parts of the capture
 8538 
 8539 2013-10-13 01:29:08 +1100  Jan Schmidt <thaytan@noraisin.net>
 8540 
 8541 	* sys/rpicamsrc/gstrpicamsrc.c:
 8542 	  rpicamsrc: Tell basesrc to timestamp buffers for us, for now.
 8543 
 8544 2013-10-13 01:20:51 +1100  Jan Schmidt <thaytan@noraisin.net>
 8545 
 8546 	* sys/rpicamsrc/RaspiCamControl.c:
 8547 	* sys/rpicamsrc/RaspiCapture.c:
 8548 	* sys/rpicamsrc/RaspiCapture.h:
 8549 	* sys/rpicamsrc/gstrpicamsrc.c:
 8550 	* sys/rpicamsrc/gstrpicamsrc.h:
 8551 	  rpicamsrc: Initial caps nego and properties.
 8552 	  Support caps negotiation for H.264 frame size and framerate.
 8553 	  Add bitrate, saturation, brightness, contrast, sharpness properties.
 8554 
 8555 2013-10-12 19:23:03 +1100  Jan Schmidt <thaytan@noraisin.net>
 8556 
 8557 	* sys/rpicamsrc/RaspiCapture.c:
 8558 	* sys/rpicamsrc/RaspiCapture.h:
 8559 	* sys/rpicamsrc/gstrpicamsrc.c:
 8560 	  rpicamsrc: First version which generates buffers on the src pad
 8561 	  Fixed to 1920x1080 h264 regardless of caps.
 8562 
 8563 2013-10-12 12:42:07 +1100  Jan Schmidt <thaytan@noraisin.net>
 8564 
 8565 	* sys/rpicamsrc/RaspiCamControl.c:
 8566 	* sys/rpicamsrc/RaspiCapture.c:
 8567 	* sys/rpicamsrc/RaspiCapture.h:
 8568 	* sys/rpicamsrc/RaspiStill.c:
 8569 	* sys/rpicamsrc/gstrpicamsrc.c:
 8570 	* sys/rpicamsrc/gstrpicamsrc.h:
 8571 	  rpicamsrc: Checkpoint. Version which writes directly to test.out
 8572 	  Switch to plain basesrc for parent class
 8573 
 8574 2013-10-11 19:17:05 +1100  Jan Schmidt <thaytan@noraisin.net>
 8575 
 8576 	* sys/rpicamsrc/RaspiCamControl.c:
 8577 	* sys/rpicamsrc/RaspiCamControl.h:
 8578 	* sys/rpicamsrc/RaspiCapture.c:
 8579 	* sys/rpicamsrc/RaspiCapture.h:
 8580 	* sys/rpicamsrc/RaspiPreview.c:
 8581 	* sys/rpicamsrc/RaspiPreview.h:
 8582 	* sys/rpicamsrc/RaspiStill.c:
 8583 	* sys/rpicamsrc/RaspiStillYUV.c:
 8584 	* sys/rpicamsrc/gstrpicamsrc.c:
 8585 	* sys/rpicamsrc/gstrpicamsrc.h:
 8586 	  rpicamsrc: checkpoint
 8587 
 8588 2013-10-10 23:47:38 +1100  Jan Schmidt <thaytan@noraisin.net>
 8589 
 8590 	* sys/rpicamsrc/gstrpicamsrc.c:
 8591 	* sys/rpicamsrc/gstrpicamsrc.h:
 8592 	  rpicamsrc: Initial commit
 8593 	  Simple modified gst-template to use BaseCameraSrc
 8594 	  Incorporate Broadcom mmal headers
 8595 
 8596 2018-04-19 13:57:26 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
 8597 
 8598 	* ext/soup/gstsouphttpsrc.c:
 8599 	  souphttpsrc: don't fail when seeking past the end of the content
 8600 	  Range errors are already turned into EOS when the size is not known.
 8601 	  Do the same thing if the request as outside the known content size.
 8602 	  This can be triggered by seeking in a queue2:
 8603 	  - Ensure that the range containing the end of the file is available.
 8604 	  - Seek into this range from a different range.
 8605 	  - queue2 creates a seek event with start=<file-size>
 8606 	  - this results in a "Requested Range Not Satisfiable" error
 8607 	  Fixes #452
 8608 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/385>
 8609 
 8610 2019-11-10 21:19:09 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
 8611 
 8612 	* ext/soup/gstsouphttpsrc.c:
 8613 	  souphttpsrc: don't update the size on error
 8614 	  Any data corresponding length in the message is not part of the requested
 8615 	  file.
 8616 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/385>
 8617 
 8618 2020-06-18 19:12:46 +1000  Matthew Waters <matthew@centricular.com>
 8619 
 8620 	* ext/qt/qtglrenderer.cc:
 8621 	  qt/gloverlay: fix using OpenGL after destroying Qml
 8622 	  Qml somewhat unhelpfully seems to uncurrent our OpenGL context on its
 8623 	  destruction.  Work around that by uncurrenting and recurrenting again.
 8624 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/632>
 8625 
 8626 2020-07-08 17:02:34 +0100  Tim-Philipp Müller <tim@centricular.com>
 8627 
 8628 	* meson.build:
 8629 	* scripts/extract-release-date-from-doap-file.py:
 8630 	  meson: set release date from .doap file for releases
 8631 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/664>
 8632 
 8633 2020-07-07 12:36:01 +0300  Sebastian Dröge <sebastian@centricular.com>
 8634 
 8635 	* gst/isomp4/gstqtmux.c:
 8636 	  qtmux: Don't lock object lock twice in prefill mode
 8637 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/762
 8638 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/663>
 8639 
 8640 2020-07-04 01:02:02 +0100  Tim-Philipp Müller <tim@centricular.com>
 8641 
 8642 	* gst/audiofx/meson.build:
 8643 	* gst/deinterlace/meson.build:
 8644 	* gst/videobox/meson.build:
 8645 	* gst/videomixer/meson.build:
 8646 	* meson.build:
 8647 	* scripts/update-orc-dist-files.py:
 8648 	  meson: add update-orc-dist target
 8649 	  Add target to update backup orc -dist.[ch] files.
 8650 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/662>
 8651 
 8652 2020-05-26 10:27:35 -0400  Xavier Claessens <xavier.claessens@collabora.com>
 8653 
 8654 	* sys/v4l2/gstv4l2videodec.c:
 8655 	  v4l2: Do not renegotiate if only framerate changed
 8656 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/602>
 8657 
 8658 2020-07-02 09:15:08 +0300  Sebastian Dröge <sebastian@centricular.com>
 8659 
 8660 	* ext/flac/gstflacenc.c:
 8661 	  flacenc: Pass audio info from set_format() to query_total_samples() explicitly
 8662 	  This fixes writing of the seek table header.
 8663 	  gst_audio_encoder_get_audio_info() will still return old/unset audio
 8664 	  info until set_format() has actually returned, which then results in
 8665 	  query_total_samples() to always return 0.
 8666 	  Thanks to Jacob Kauffmann for debugging this and finding the main cause.
 8667 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/756
 8668 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/661>
 8669 
 8670 2020-07-03 02:03:33 +0100  Tim-Philipp Müller <tim@centricular.com>
 8671 
 8672 	* docs/gst_plugins_cache.json:
 8673 	* meson.build:
 8674 	  Back to development
 8675 
 8676 === release 1.17.2 ===
 8677 
 8678 2020-07-03 00:27:47 +0100  Tim-Philipp Müller <tim@centricular.com>
 8679 
 8680 	* ChangeLog:
 8681 	* NEWS:
 8682 	* RELEASE:
 8683 	* docs/gst_plugins_cache.json:
 8684 	* gst-plugins-good.doap:
 8685 	* meson.build:
 8686 	  Release 1.17.2
 8687 
 8688 2020-07-02 07:53:14 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 8689 
 8690 	* gst/deinterlace/meson.build:
 8691 	* meson.build:
 8692 	  deinterlace: Disable nasm support on x32
 8693 	  The assembly assumes pointers are 64-bit, so just disable it.
 8694 	  Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/757
 8695 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/660>
 8696 
 8697 2020-07-01 18:19:09 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 8698 
 8699 	* gst/deinterlace/meson.build:
 8700 	  deinterlace: Fix build on x32
 8701 	  Need to pass `-f elfx32` to nasm in that case.
 8702 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/757
 8703 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/657>
 8704 
 8705 2020-07-01 16:17:19 +1000  Jan Schmidt <jan@centricular.com>
 8706 
 8707 	* gst/matroska/matroska-mux.c:
 8708 	  matroska-mux: Wait for caps on sparse streams
 8709 	  Don't set sparse streams to non-waiting at the collectpads
 8710 	  level until after capa arrive, as we need caps on all
 8711 	  pads before the file headers get written, or else the
 8712 	  subtitle track will be silently absent in the final file.
 8713 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/724
 8714 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/656>
 8715 
 8716 2020-07-01 16:13:27 +1000  Jan Schmidt <jan@centricular.com>
 8717 
 8718 	* gst/matroska/matroska-mux.c:
 8719 	  matroska-mux: Warn on late caps arrival
 8720 	  As well as warning when caps change after the headers
 8721 	  were already written, make sure to warn if the *first* caos
 8722 	  arrive late too.
 8723 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/656>
 8724 
 8725 2020-06-30 18:37:06 +0300  Sebastian Dröge <sebastian@centricular.com>
 8726 
 8727 	* gst/imagefreeze/gstimagefreeze.c:
 8728 	  imagefreeze: Return TRUE from the LATENCY query handling
 8729 	  We always answer it successfully no matter what.
 8730 	  The default return value in the function is FALSE even if the code below
 8731 	  sets it again to FALSE.
 8732 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/654>
 8733 
 8734 2020-06-29 11:53:39 +0300  Sebastian Dröge <sebastian@centricular.com>
 8735 
 8736 	* tests/check/elements/imagefreeze.c:
 8737 	  imagefreeze: Add test for new live mode
 8738 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653>
 8739 
 8740 2020-06-29 10:10:09 +0300  Sebastian Dröge <sebastian@centricular.com>
 8741 
 8742 	* docs/gst_plugins_cache.json:
 8743 	* gst/imagefreeze/gstimagefreeze.c:
 8744 	* gst/imagefreeze/gstimagefreeze.h:
 8745 	  imagefreeze: Add a live mode
 8746 	  Previously imagefreeze would always operate as non-live element and
 8747 	  output frames as fast as possible according to the configured segment
 8748 	  (via SEEK events) and the negotiated framerate from start to stop or the
 8749 	  other way around.
 8750 	  With the new live mode (enabled via the is-live property) it would only
 8751 	  output frames in PLAYING. Frames would be output according to the
 8752 	  negotiated framerate unless it would be too late, in which case it would
 8753 	  jump ahead and skip over the requirement amount of frames.
 8754 	  This makes it possible to actually use imagefreeze in live pipelines
 8755 	  without having to manually ensure somehow that it would start outputting
 8756 	  at the current running time and without still risking to fall behind
 8757 	  without recovery.
 8758 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653>
 8759 
 8760 2020-06-28 22:26:23 +0300  Sebastian Dröge <sebastian@centricular.com>
 8761 
 8762 	* gst/imagefreeze/gstimagefreeze.c:
 8763 	  imagefreeze: Correctly answer the LATENCY query
 8764 	  We never run as a live element, even if upstream is live, and never
 8765 	  output any buffers with latency but immediately generate buffers as
 8766 	  fast as we can according to the negotiated framerate.
 8767 	  Passing the query upstream would proxy whatever mode of operation
 8768 	  upstream has, which has nothing to do with how we produce buffers.
 8769 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653>
 8770 
 8771 2020-06-25 14:15:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8772 
 8773 	* sys/v4l2/gstv4l2bufferpool.c:
 8774 	  v4l2: Fix threading issues in orphaning mechanism
 8775 	  The pool orphaning function was colling internal _stop() virtual function
 8776 	  implementation. This is not thread safe, as a private lock inside the buffer
 8777 	  pool is supposed to be held. Fix this by keeping delayed _stop() and orphaning
 8778 	  the GstV4L2Allocator instead (REQBUFS(0)).
 8779 	  Then, protect the orphaned boolean with the object lock for the case a buffer
 8780 	  is being released after we have orphaned the buffer. That would otherwise
 8781 	  cause a QBUF to happen while the queue is no longer owned by the buffer pool.
 8782 	  This boolean is otherwise used and set from the streaming lock, or after
 8783 	  threads have been stopped (final cleanup).
 8784 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/648>
 8785 
 8786 2020-06-26 16:43:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8787 
 8788 	* sys/v4l2/gstv4l2bufferpool.c:
 8789 	  v4l2bufferpoool: Fix requeueue after seek when importing
 8790 	  When the buffer pool is importing buffer, it will requeue num_allocated on
 8791 	  streamon. As this value was not set for DMABuf import and USERPTR, no buffer
 8792 	  was queued  back.
 8793 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
 8794 
 8795 2020-06-26 16:39:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8796 
 8797 	* sys/v4l2/gstv4l2bufferpool.c:
 8798 	  Revert "v4l2bufferpool: request the maximum number of buffers for USERPTR"
 8799 	  This reverts commit 6bf9f4bd77a4c6cce8786893feea7d601a6e6030.
 8800 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
 8801 
 8802 2020-06-26 16:37:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8803 
 8804 	* sys/v4l2/gstv4l2bufferpool.c:
 8805 	  Revert "v4l2bufferpool: request the maximum number of buffers for DMABUF"
 8806 	  This reverts commit 94e323c10f2d7fa85bf63f357d203ca5305800c6.
 8807 	  Fixes #754
 8808 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
 8809 
 8810 2020-06-26 14:48:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8811 
 8812 	* sys/v4l2/gstv4l2bufferpool.c:
 8813 	  v4l2bufferpool: Only resurrect the right amount of buffers
 8814 	  On streamon, we need to resurrect (queue back) some buffers, as during
 8815 	  flushign seek we'd endup with an empty queued. We initially started with
 8816 	  resurrecting as many as we could without blocking, but that miss-behaved with
 8817 	  dynamic CREATE_BUFS, causing the pool to grow dramatically. This was limited
 8818 	  by the number of allocated buffers, but this still tried to resurrect too many
 8819 	  buffers for the first run, as activating the pool will queued buffers.
 8820 	  In this patch, we calculte the missing detal in the queue and only try and
 8821 	  resurrect that amount of buffers.
 8822 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
 8823 
 8824 2020-06-26 13:11:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8825 
 8826 	* sys/v4l2/gstv4l2object.c:
 8827 	  v4l2object: Only offer inactive pools and if needed
 8828 	  Avoid offering a pool if it's not needed or if it's still active.
 8829 	  This works around the fact the we only have one pool in V4L2.
 8830 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
 8831 
 8832 2020-06-24 21:58:07 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 8833 
 8834 	* ext/qt/gstqtglutility.cc:
 8835 	* ext/qt/meson.build:
 8836 	  qt: Rework how we find the Qt QPA header
 8837 	  Instead of querying the Qt include path from the dependency or from
 8838 	  qmake, rely on the qt5qml_dep to set the include path to QtGui
 8839 	  correctly, and look for the header inside the private includedir.
 8840 	  Then we can use that path to include the header directly.
 8841 	  Reported in https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/780#note_548092
 8842 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/640>
 8843 
 8844 2020-06-24 22:04:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 8845 
 8846 	* ext/qt/meson.build:
 8847 	  qt: Only check for moc-qt5/moc in PATH if not cross-compiling
 8848 	  This is an extra check that's only needed for working around Linux
 8849 	  distribution packaging. `moc` is not required in the cross file.
 8850 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/640>
 8851 
 8852 2020-06-26 13:10:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8853 
 8854 	* sys/v4l2/gstv4l2allocator.c:
 8855 	  v4l2allocator: Don't do REQBUFS(0) on inactive allocator
 8856 	  If the allocator is no longer active, it means the memory has already
 8857 	  been freed, calling REQBUF(0) would make no sense.
 8858 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649>
 8859 
 8860 2020-06-26 11:05:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8861 
 8862 	* sys/v4l2/gstv4l2bufferpool.c:
 8863 	  v4l2bufferpool: Avoid set_flushing warning
 8864 	  The gst_buffer_pool_set_flushing() warns when that function is called
 8865 	  on an inactive pool. Avoid the warning by checking the state, this is
 8866 	  similar to what we do in gst_v4l2_object_unlock().
 8867 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649>
 8868 
 8869 2020-06-26 09:53:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8870 
 8871 	* sys/v4l2/gstv4l2allocator.c:
 8872 	  v4l2allocator: Fix data offset / bytesused size validation
 8873 	  The check was too strict causing spurious warning. Now check for <= so that 0
 8874 	  sized buffer do not cause a warning.
 8875 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649>
 8876 
 8877 2020-06-25 16:46:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8878 
 8879 	* sys/v4l2/gstv4l2videoenc.c:
 8880 	  v4l2videoenc: Fix negotiation caps leak
 8881 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649>
 8882 
 8883 2020-06-26 19:28:31 +0100  Tim-Philipp Müller <tim@centricular.com>
 8884 
 8885 	* gst/multifile/gstsplitmuxsink.c:
 8886 	  splitmuxsink: flesh out docs for format-location* signals
 8887 	  Make explicit that the returned strings need to be g_free()-able.
 8888 	  Fixes #753
 8889 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/652>
 8890 
 8891 2020-06-25 16:47:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 8892 
 8893 	* sys/v4l2/gstv4l2videoenc.c:
 8894 	  v4l2videoenc: Skip negotiation of profiles/level if no codec
 8895 	  The codec structure is optional and not used for fwht test codec. This
 8896 	  was leading to a crash dereferencing NULL pointer.
 8897 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/650>
 8898 
 8899 2020-05-03 13:17:46 +0200  Havard Graff <havard@pexip.com>
 8900 
 8901 	* gst/rtpmanager/rtpstats.c:
 8902 	  rtpstats: guard against division by zero
 8903 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/646>
 8904 
 8905 2020-06-17 23:23:58 +0200  Havard Graff <havard.graff@gmail.com>
 8906 
 8907 	* gst/rtpmanager/rtptwcc.c:
 8908 	  rtptwcc: fix pruning of ack'ed twcc-packets
 8909 	  Fixes #750
 8910 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/645>
 8911 
 8912 2020-06-24 21:15:47 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 8913 
 8914 	* tests/examples/qt/qmloverlay/meson.build:
 8915 	* tests/examples/qt/qmlsink-dynamically-added/meson.build:
 8916 	* tests/examples/qt/qmlsink/meson.build:
 8917 	* tests/examples/qt/qmlsrc/meson.build:
 8918 	  meson: Build Qt5 tests with -std=c++11
 8919 	  We already do this for the plugin.
 8920 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/780#note_548179
 8921 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/642>
 8922 
 8923 2020-06-25 12:58:48 +0300  Sebastian Dröge <sebastian@centricular.com>
 8924 
 8925 	* docs/gst_plugins_cache.json:
 8926 	* gst/multifile/gstsplitmuxsink.c:
 8927 	* gst/multifile/gstsplitmuxsink.h:
 8928 	  splitmuxsink: Add new properties for setting muxer/sink presets
 8929 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/644>
 8930 
 8931 2020-06-24 17:04:51 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8932 
 8933 	* docs/gst_plugins_cache.json:
 8934 	* gst/autodetect/gstautodetect.c:
 8935 	  autodetect: mark filter-caps property as DOC_SHOW_DEFAULT
 8936 	  When generating the cache we inspect the base class through
 8937 	  an instance of one of its subclasses. We don't want potential
 8938 	  assignments in subclasses initialization to leak into the
 8939 	  base class documentation
 8940 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/641>
 8941 
 8942 2020-06-24 16:45:27 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8943 
 8944 	* docs/gst_plugins_cache.json:
 8945 	* ext/vpx/gstvpxenc.c:
 8946 	  vpxenc: mark all properties as GST_DOC_SHOW_DEFAULT
 8947 	  When generating the cache we inspect the base class through
 8948 	  an instance of one of its subclasses. We don't want potential
 8949 	  assignments in subclasses initialization to leak into the
 8950 	  base class documentation
 8951 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/641>
 8952 
 8953 2020-06-23 19:04:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8954 
 8955 	* docs/gst_plugins_cache.json:
 8956 	* gst/equalizer/gstiirequalizer.c:
 8957 	  docs: mark GstIirEqualizer as plugin API
 8958 
 8959 2020-06-23 12:47:44 -0400  Thibault Saunier <tsaunier@igalia.com>
 8960 
 8961 	* ext/vpx/gstvp8enc.c:
 8962 	* ext/vpx/gstvp9enc.c:
 8963 	  vpx: Fix links to baseclass properties
 8964 
 8965 2020-06-23 02:50:35 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8966 
 8967 	* docs/gst_plugins_cache.json:
 8968 	* sys/v4l2/tuner.c:
 8969 	* sys/v4l2/tunerchannel.c:
 8970 	  docs: mark more types as plugin API
 8971 
 8972 2020-06-23 00:02:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8973 
 8974 	* docs/gst_plugins_cache.json:
 8975 	  plugins_cache: add base classes
 8976 
 8977 2020-06-23 00:02:21 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8978 
 8979 	* docs/meson.build:
 8980 	  meson: mark plugins cache target as always stale
 8981 
 8982 2020-06-21 01:34:43 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 8983 
 8984 	* ext/gtk/gstgtkbasesink.c:
 8985 	* ext/vpx/gstvpxdec.c:
 8986 	* ext/vpx/gstvpxenc.c:
 8987 	* gst/audiofx/audiofxbasefirfilter.c:
 8988 	* gst/audiofx/audiofxbaseiirfilter.c:
 8989 	* gst/autodetect/gstautodetect.c:
 8990 	  docs: mark more types as plugin API
 8991 
 8992 2020-06-19 22:54:38 -0400  Thibault Saunier <tsaunier@igalia.com>
 8993 
 8994 	* docs/gst_plugins_cache.json:
 8995 	  doc: Stop documenting properties from parents
 8996 
 8997 2020-06-21 20:11:06 +0800  He Junyan <junyan.he@hotmail.com>
 8998 
 8999 	* gst/deinterlace/yadif.c:
 9000 	  deinterlace: Add the missing ORC_RESTRICT define.
 9001 	  ORC_RESTRICT may not be defined in yadif.c and cause build error.
 9002 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/637>
 9003 
 9004 2019-06-06 09:41:13 +0200  Havard Graff <havard.graff@gmail.com>
 9005 
 9006 	* tests/check/elements/rtpsession.c:
 9007 	  rtpsession: make tests more stable
 9008 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/410>
 9009 
 9010 2020-06-20 20:42:37 +0100  Tim-Philipp Müller <tim@centricular.com>
 9011 
 9012 	* docs/gst_plugins_cache.json:
 9013 	  docs: update plugin cache for new version
 9014 	  Some default values include our version string, like
 9015 	  user agent strings.
 9016 
 9017 2020-06-20 00:28:11 +0100  Tim-Philipp Müller <tim@centricular.com>
 9018 
 9019 	* meson.build:
 9020 	  Back to development
 9021 
 9022 === release 1.17.1 ===
 9023 
 9024 2020-06-19 19:18:59 +0100  Tim-Philipp Müller <tim@centricular.com>
 9025 
 9026 	* ChangeLog:
 9027 	* NEWS:
 9028 	* RELEASE:
 9029 	* docs/gst_plugins_cache.json:
 9030 	* gst-plugins-good.doap:
 9031 	* meson.build:
 9032 	  Release 1.17.1
 9033 
 9034 2020-06-19 20:24:12 +0900  Seungha Yang <seungha@centricular.com>
 9035 
 9036 	* gst/deinterlace/meson.build:
 9037 	  meson: deinterlace: Check host cpu type for asm build
 9038 	  Add host cpu type check as we would enable asm only for x86_64
 9039 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/636>
 9040 
 9041 2020-06-19 19:54:08 +0900  Seungha Yang <seungha@centricular.com>
 9042 
 9043 	* meson.build:
 9044 	  meson: Fix build error with MSVC caused by ARCH_X86_64 define
 9045 	  ARCH_X86_64 define will enable GCC specific code path in dv_types.h
 9046 	  while building dv plugin.
 9047 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/636>
 9048 
 9049 2020-06-19 10:32:45 +0100  Tim-Philipp Müller <tim@centricular.com>
 9050 
 9051 	* docs/gst_plugins_cache.json:
 9052 	* ext/shout2/gstshout2.c:
 9053 	  shout2: advertise documentation caps properly
 9054 	  shout2send caps depend on what the libshout2
 9055 	  version in question supports, but the
 9056 	  documentation caps should always be the same.
 9057 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/635>
 9058 
 9059 2019-05-26 20:20:03 +1000  Jan Schmidt <jan@centricular.com>
 9060 
 9061 	* gst/isomp4/meson.build:
 9062 	* gst/isomp4/qtdemux.c:
 9063 	* gst/isomp4/qtdemux.h:
 9064 	* gst/isomp4/qtdemux_tags.c:
 9065 	* gst/isomp4/qtdemux_tags.h:
 9066 	  qtdemux: Split tag reading functions out
 9067 	  Move some code out of the enormous qtdemux.c into a separate
 9068 	  qtdemux_tags helper, and make some structs available via qtdemux.h
 9069 	  to accommodate that.
 9070 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/634>
 9071 
 9072 2019-05-26 05:05:06 +1000  Jan Schmidt <jan@centricular.com>
 9073 
 9074 	* gst/isomp4/meson.build:
 9075 	* gst/isomp4/qtdemux.c:
 9076 	* gst/isomp4/qtdemux_tree.c:
 9077 	* gst/isomp4/qtdemux_tree.h:
 9078 	  qtdemux: Move some tree parsing files out to a separate file.
 9079 	  Reduce a tiny bit of the bulk of qtdemux.c by moving some
 9080 	  agnostic helper functions out.
 9081 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/634>
 9082 
 9083 2019-05-26 01:24:54 +1000  Jan Schmidt <jan@centricular.com>
 9084 
 9085 	* gst/isomp4/atoms.c:
 9086 	* gst/isomp4/qtdemux.c:
 9087 	  qtdemux: Factor out svmi parsing. Fix bounds checking.
 9088 	  Move the SVMI stereoscopic atom parsing out to a helper
 9089 	  function to shrink qtdemux_parse_trak a bit.
 9090 	  Add a bounds check that the received atom is large enough
 9091 	  before parsing it.
 9092 	  Add a note to the atom parser that svmi comes from the
 9093 	  MPEG-A spec 23000-11.
 9094 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/634>
 9095 
 9096 2020-06-15 13:05:49 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 9097 
 9098 	* ext/pulse/pulsedeviceprovider.c:
 9099 	  pulse: fix discovery of newly added devices
 9100 	  Fix regression introduced in 7bc5e28d85992b03e5852879b8d4d96043496caf
 9101 	  preventing the device provider to send the device-added message for new
 9102 	  devices.
 9103 	  By early returning the patch was discarding add/remove events.
 9104 	  Fix #735
 9105 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/626>
 9106 
 9107 2020-06-18 10:47:28 +0100  Tim-Philipp Müller <tim@centricular.com>
 9108 
 9109 	* tests/examples/qt/qmlsink-dynamically-added/meson.build:
 9110 	* tests/examples/qt/qmlsink-dynamically-added/play.pro:
 9111 	* tests/examples/qt/qmlsink-dynamically-added/qmlsink-dyn-added.qrc:
 9112 	  examples: qmlsink: rename qrc file to avoid naming conflicts with older meson versions
 9113 	  Would get "Tried to create target "qt5-qmlsink_qrc", but a
 9114 	  target of that name already exists." with older meson versions.
 9115 	  Work around that by renaming the qrc file.
 9116 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/633>
 9117 
 9118 2020-06-17 16:42:16 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 9119 
 9120 	* meson.build:
 9121 	  meson: Check the nasm version with run_command
 9122 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/751
 9123 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/631>
 9124 
 9125 2020-06-16 19:34:01 +0900  Seungha Yang <seungha@centricular.com>
 9126 
 9127 	* gst/rtsp/gstrtspsrc.c:
 9128 	  rtspsrc: Don't return TRUE for unhandled query
 9129 	  Expected return value for unhandled query is FALSE
 9130 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/629>
 9131 
 9132 2020-06-16 11:52:38 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9133 
 9134 	* gst/deinterlace/meson.build:
 9135 	* gst/deinterlace/x86/x86inc.asm:
 9136 	* gst/deinterlace/x86/yadif.asm:
 9137 	* gst/deinterlace/yadif.c:
 9138 	* gst/deinterlace/yadif.h:
 9139 	* meson.build:
 9140 	* meson_options.txt:
 9141 	  deinterlace: Add yadif ASM optimisations
 9142 	  Measured to be about 3.4x faster than C
 9143 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621>
 9144 
 9145 2020-06-12 13:21:02 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9146 
 9147 	* gst/deinterlace/yadif.c:
 9148 	  deinterlace: Fix invalid read in yadif
 9149 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621>
 9150 
 9151 2020-06-12 12:18:11 +1000  Matthew Waters <matthew@centricular.com>
 9152 
 9153 	* ext/qt/qtglrenderer.cc:
 9154 	  qt/gloverlay: reset OpenGL state after Qt drawing
 9155 	  Reset to the original OpenGL state as required by the GStreamer OpenGL
 9156 	  API contract.  Fixes output with a glimagesink element downstream.
 9157 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/623>
 9158 
 9159 2020-06-12 12:16:49 +1000  Matthew Waters <matthew@centricular.com>
 9160 
 9161 	* ext/qt/qtglrenderer.cc:
 9162 	  qt/gloverlay: reset current OpenGL context after Qt
 9163 	  Qt may replace the drawable with its own which breaks output if Qt is
 9164 	  not displaying the resulting video as used with e.g. glimagesink.
 9165 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/623>
 9166 
 9167 2020-06-12 09:52:56 +0300  Sebastian Dröge <sebastian@centricular.com>
 9168 
 9169 	* gst/flv/gstflvdemux.c:
 9170 	  flvdemux: Change a GST_ERROR_OBJECT() back to GST_DEBUG_OBJECT()
 9171 	  It was accidentally changed in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/436
 9172 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/624>
 9173 
 9174 2020-06-11 20:39:33 +0300  Jordan Petridis <jpetridis@gnome.org>
 9175 
 9176 	* gst/isomp4/gstqtmux.c:
 9177 	* sys/v4l2/gstv4l2videodec.c:
 9178 	  Use gst_element_class_set_metadata when passing dynamic strings
 9179 	  gst_element_class_set_metadata is meant to only be used with
 9180 	  static or inlined strings, which isn't the case for the 2 elements
 9181 	  here resulting in use-after-free later on.
 9182 	  https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_class_set_static_metadata
 9183 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/622>
 9184 
 9185 2020-06-10 13:56:22 +0000  Sebastian Dröge <slomo@coaxion.net>
 9186 
 9187 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9188 	  Revert "rtpjitterbuffer: Avoid deadlock on flush"
 9189 	  This reverts commit 54810bf44f27d9c180730f58f16f6e172c7b0bc8
 9190 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/620>
 9191 
 9192 2020-06-09 15:12:13 -0400  Thibault Saunier <tsaunier@igalia.com>
 9193 
 9194 	* docs/gst_plugins_cache.json:
 9195 	  docs: Update plugins cache
 9196 
 9197 2020-06-09 13:09:20 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
 9198 
 9199 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9200 	  rtpjitterbuffer: g_queue_clear_full introduced in glib 2.60
 9201 	  Define g_queue_clear_full if glib < 2.60.
 9202 	  Fixes #747
 9203 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/619>
 9204 
 9205 2020-06-08 11:33:16 -0400  Thibault Saunier <tsaunier@igalia.com>
 9206 
 9207 	* docs/gst_plugins_cache.json:
 9208 	* gst/rtpmanager/rtpsession.c:
 9209 	  rtpsession: Make internal-ssrc as show default for doc
 9210 
 9211 2020-06-08 10:56:02 -0400  Thibault Saunier <tsaunier@igalia.com>
 9212 
 9213 	* docs/gst_plugins_cache.json:
 9214 	  docs: Update plugins cache
 9215 
 9216 2020-06-09 15:21:25 +0100  Tim-Philipp Müller <tim@centricular.com>
 9217 
 9218 	* tests/check/meson.build:
 9219 	  tests: don't pull in all -bad plugin, only allow the one we need
 9220 	  Set up our plugin include list for tests in such a way that
 9221 	  we don't pull in *all* plugins from -bad but only the one
 9222 	  used in the splitmuxsink unit test, i.e. the timecode plugin,
 9223 	  so we don't accidentally use other encoders/decoders such as
 9224 	  nvenc/dec for example.
 9225 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/617>
 9226 
 9227 2020-06-08 17:41:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9228 
 9229 	* gst/rtpmanager/rtptimerqueue.c:
 9230 	  rtptimerqueue: Fix leak on timer collision
 9231 	  While the caller should make sure this does not happen, make sure timer
 9232 	  collision are not silently ignored and leaked.
 9233 	  Fixes #726
 9234 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/616>
 9235 
 9236 2020-03-27 15:48:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9237 
 9238 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9239 	  rtpjitterbuffer: Keep JBUF lock while processing timers
 9240 	  Until now, do_expected_timeout() was shortly dropping the JBUF_LOCK in order
 9241 	  to push RTX event event without causing deadlock. As a side effect, some
 9242 	  CPU hung would happen as the timerqueue would get filled while looping over
 9243 	  the due timers. To mitigate this, we were processing the lost timer first and
 9244 	  placing into a queue the remainign to be processed later.
 9245 	  In the gap caused by an unlock, we could endup receiving one of the seqnum
 9246 	  present in the pending timers. In that case, the timer would not be found and
 9247 	  a new one was created. When we then update the expected timer, the seqnum
 9248 	  would already exist and the updated timer would be lost.
 9249 	  In this patch we remove the unlock from do_expected_timeout() and place all
 9250 	  pending RTX event into a queue (instead of pending timer). Then, as soon as
 9251 	  we have selected a timer to wait (or if there is no timer to wait for) we send
 9252 	  all the upstream RTX events. As we no longer unlock, we no longer need to pop
 9253 	  more then one timer from the queue, and we do so with the lock held, which
 9254 	  blocks any new colliding timers from being created.
 9255 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/616>
 9256 
 9257 2020-06-08 09:33:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
 9258 
 9259 	* tests/check/elements/vp9enc.c:
 9260 	  tests: vp9enc: enforce I420 format
 9261 	  Test was not enforcing a video format on videotestsrc. I420 was picked
 9262 	  as it was the first format in GST_VIDEO_FORMATS_ALL which will no longer
 9263 	  be true (gst-plugins-base!689).
 9264 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/615>
 9265 
 9266 2020-05-30 08:55:19 +0200  Edward Hervey <edward@centricular.com>
 9267 
 9268 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9269 	  rtpjitterbuffer: Avoid deadlock on flush
 9270 	  When a GST_EVENT_FLUSH_START reaches the jitterbuffer, there is a chance that
 9271 	  our task is currently blocking waiting for a timer.
 9272 	  There was two problems:
 9273 	  * That wait wasn't checking for flushing situations
 9274 	  * The flushing handling wasn't waking up that conditional (to check whether it
 9275 	  should abort)
 9276 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/608>
 9277 
 9278 2020-06-06 00:42:25 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 9279 
 9280 	* ext/aalib/gstaasink.c:
 9281 	* ext/aalib/gstaatv.c:
 9282 	* ext/dv/gstdvdec.c:
 9283 	* ext/flac/gstflacenc.c:
 9284 	* ext/gdk_pixbuf/gstgdkpixbufoverlay.c:
 9285 	* ext/jack/gstjackaudiosink.c:
 9286 	* ext/jpeg/gstjpegdec.c:
 9287 	* ext/lame/gstlamemp3enc.c:
 9288 	* ext/libcaca/gstcacasink.c:
 9289 	* ext/libcaca/gstcacatv.c:
 9290 	* ext/shout2/gstshout2.c:
 9291 	* ext/speex/gstspeexenc.c:
 9292 	* ext/twolame/gsttwolamemp2enc.c:
 9293 	* ext/vpx/gstvpxdec.c:
 9294 	* ext/vpx/gstvpxenc.c:
 9295 	* ext/wavpack/gstwavpackenc.c:
 9296 	* gst/alpha/gstalpha.c:
 9297 	* gst/audiofx/audioamplify.c:
 9298 	* gst/audiofx/audiochebband.c:
 9299 	* gst/audiofx/audiocheblimit.c:
 9300 	* gst/audiofx/audiodynamic.c:
 9301 	* gst/audiofx/audiopanorama.c:
 9302 	* gst/audiofx/audiowsincband.c:
 9303 	* gst/audiofx/audiowsinclimit.c:
 9304 	* gst/deinterlace/gstdeinterlace.c:
 9305 	* gst/effectv/gstop.c:
 9306 	* gst/effectv/gstradioac.c:
 9307 	* gst/effectv/gstripple.c:
 9308 	* gst/flv/gstflvmux.c:
 9309 	* gst/isomp4/gstqtmux.c:
 9310 	* gst/multifile/gstmultifilesink.c:
 9311 	* gst/rtp/gstrtpdvpay.c:
 9312 	* gst/rtp/gstrtph263ppay.c:
 9313 	* gst/rtp/gstrtph264pay.c:
 9314 	* gst/rtp/gstrtph265pay.c:
 9315 	* gst/rtp/gstrtpilbcdepay.c:
 9316 	* gst/rtp/gstrtpvp8pay.c:
 9317 	* gst/rtp/gstrtpvp9pay.c:
 9318 	* gst/rtpmanager/gstrtpbin.c:
 9319 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9320 	* gst/rtpmanager/gstrtpsession.c:
 9321 	* gst/rtsp/gstrtspsrc.c:
 9322 	* gst/smpte/gstsmpte.c:
 9323 	* gst/smpte/gstsmptealpha.c:
 9324 	* gst/videobox/gstvideobox.c:
 9325 	* gst/videofilter/gstvideoflip.c:
 9326 	* gst/videofilter/gstvideomedian.c:
 9327 	* gst/videomixer/videomixer2.c:
 9328 	* sys/v4l2/gstv4l2object.c:
 9329 	  plugins: uddate gst_type_mark_as_plugin_api() calls
 9330 
 9331 2020-06-05 11:49:17 +0300  Sebastian Dröge <sebastian@centricular.com>
 9332 
 9333 	* gst/rtpmanager/gstrtpbin.c:
 9334 	  rtpbin: Initialize uninitialized variable correctly
 9335 	  `last_out` would be used uninitialized if the element has no `set-active`
 9336 	  signal. Initialize it to -1 as that's what the "default" value is
 9337 	  further below.
 9338 	  CID 1455443
 9339 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/727
 9340 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/613>
 9341 
 9342 2015-11-26 17:52:29 +0100  Mikhail Fludkov <misha@pexip.com>
 9343 
 9344 	* ext/vpx/gstvp9enc.c:
 9345 	* ext/vpx/gstvpxenc.c:
 9346 	* ext/vpx/gstvpxenc.h:
 9347 	* tests/check/elements/vp8enc.c:
 9348 	* tests/check/elements/vp9enc.c:
 9349 	  vpxenc: Add new bit-per-pixel property to select a better "default" bitrate
 9350 	  As part of this also change the default bitrate value to 0. The default
 9351 	  value was 256000 previously. In reality, if the property was not set the
 9352 	  bitrate value would be scaled according to the resolution which is not
 9353 	  very intuitive behavior. It is better to use 0 for this purpose. Now
 9354 	  together with newly introduced property "bits-per-pixel" 0 means to
 9355 	  assign the bitrate according to resolution/framerate.
 9356 	  The default bitrates are now
 9357 	  - 1.2Mbps for VP8 720p@30fps
 9358 	  - 0.8Mbps for VP9 720p@30fps
 9359 	  and scaled accordingly for different resolutions/framerates.
 9360 	  Previously the default bitrate was also not scaled according to the
 9361 	  framerate but only took the resolution into account.
 9362 	  This also fixes the side effect of setting bitrate to 0. Previously
 9363 	  encoder would not produce any data at all.
 9364 	  Addition from Sebastian Dröge <sebastian@centricular.com> to assume
 9365 	  30fps if no framerate is given in the caps instead of not calculating
 9366 	  any bitrate at all.
 9367 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/611>
 9368 
 9369 2020-06-03 18:35:58 -0400  Thibault Saunier <tsaunier@igalia.com>
 9370 
 9371 	* docs/meson.build:
 9372 	  doc: Require hotdoc >= 0.11.0
 9373 
 9374 2020-06-02 14:58:47 -0400  Thibault Saunier <tsaunier@igalia.com>
 9375 
 9376 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9377 	  doc: Fix wrong link to GString in rtpjitterbuffer
 9378 
 9379 2020-05-27 16:01:22 +0300  Sebastian Dröge <sebastian@centricular.com>
 9380 
 9381 	* docs/gst_plugins_cache.json:
 9382 	  docs: Update gst_plugins_cache.json
 9383 
 9384 2020-05-30 01:29:03 +0200  Mathieu Duponchelle <mathieu@centricular.com>
 9385 
 9386 	* ext/aalib/gstaasink.c:
 9387 	* ext/aalib/gstaatv.c:
 9388 	* ext/dv/gstdvdec.c:
 9389 	* ext/flac/gstflacenc.c:
 9390 	* ext/gdk_pixbuf/gstgdkpixbufoverlay.c:
 9391 	* ext/jack/gstjackaudiosink.c:
 9392 	* ext/jpeg/gstjpegdec.c:
 9393 	* ext/lame/gstlamemp3enc.c:
 9394 	* ext/libcaca/gstcacasink.c:
 9395 	* ext/libcaca/gstcacatv.c:
 9396 	* ext/shout2/gstshout2.c:
 9397 	* ext/speex/gstspeexenc.c:
 9398 	* ext/twolame/gsttwolamemp2enc.c:
 9399 	* ext/vpx/gstvpxdec.c:
 9400 	* ext/vpx/gstvpxenc.c:
 9401 	* ext/wavpack/gstwavpackenc.c:
 9402 	* gst/alpha/gstalpha.c:
 9403 	* gst/audiofx/audioamplify.c:
 9404 	* gst/audiofx/audiochebband.c:
 9405 	* gst/audiofx/audiocheblimit.c:
 9406 	* gst/audiofx/audiodynamic.c:
 9407 	* gst/audiofx/audiopanorama.c:
 9408 	* gst/audiofx/audiowsincband.c:
 9409 	* gst/audiofx/audiowsinclimit.c:
 9410 	* gst/deinterlace/gstdeinterlace.c:
 9411 	* gst/effectv/gstop.c:
 9412 	* gst/effectv/gstradioac.c:
 9413 	* gst/effectv/gstripple.c:
 9414 	* gst/flv/gstflvmux.c:
 9415 	* gst/isomp4/gstqtmux.c:
 9416 	* gst/multifile/gstmultifilesink.c:
 9417 	* gst/rtp/gstrtpdvpay.c:
 9418 	* gst/rtp/gstrtph263ppay.c:
 9419 	* gst/rtp/gstrtph264pay.c:
 9420 	* gst/rtp/gstrtph265pay.c:
 9421 	* gst/rtp/gstrtpilbcdepay.c:
 9422 	* gst/rtp/gstrtpvp8pay.c:
 9423 	* gst/rtp/gstrtpvp9pay.c:
 9424 	* gst/rtpmanager/gstrtpbin.c:
 9425 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9426 	* gst/rtpmanager/gstrtpsession.c:
 9427 	* gst/rtsp/gstrtspsrc.c:
 9428 	* gst/smpte/gstsmpte.c:
 9429 	* gst/smpte/gstsmptealpha.c:
 9430 	* gst/videobox/gstvideobox.c:
 9431 	* gst/videofilter/gstvideoflip.c:
 9432 	* gst/videofilter/gstvideomedian.c:
 9433 	* gst/videomixer/videomixer2.c:
 9434 	* sys/v4l2/gstv4l2object.c:
 9435 	  plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
 9436 
 9437 2018-02-28 15:46:51 +0100  Stian Selnes <stian@pexip.com>
 9438 
 9439 	* ext/vpx/gstvpxdec.c:
 9440 	* tests/check/elements/vp8dec.c:
 9441 	  vpxdec: Check that output width and height != 0
 9442 	  For VP8 it's possible to signal width or height to be 0, but it does
 9443 	  not make sense to do so. For VP9 it's impossible. Hence, we most
 9444 	  likely have a corrupt stream. Trying to negotiate caps downstream with
 9445 	  either width or height as 0 will fail with something like
 9446 	  gst_video_decoder_negotiate_default: assertion 'GST_VIDEO_INFO_WIDTH (&state->info) != 0' failed
 9447 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/610>
 9448 
 9449 2020-05-29 00:45:03 +0900  Seungha Yang <seungha@centricular.com>
 9450 
 9451 	* ext/speex/gstspeexdec.c:
 9452 	* ext/speex/gstspeexenc.c:
 9453 	  speex: Fix crash on Windows caused by cross-CRT issue
 9454 	  Use speex_header_free() to free memory which was allocated by
 9455 	  library. Cross-CRT issue should not happen on 1.17 Cerbero build
 9456 	  but might happen custom build or so.
 9457 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/606>
 9458 
 9459 2020-05-27 22:33:31 +0300  Sebastian Dröge <sebastian@centricular.com>
 9460 
 9461 	* gst/rtsp/gstrtspsrc.h:
 9462 	  rtspsrc: Use the correct type for storing the max-rtcp-rtp-time-diff property
 9463 	  It's an integer property and rtpbin also expects an integer. Passing it
 9464 	  as a GstClockTime (guint64) to g_object_set() will cause problems, and
 9465 	  on big endian MIPS apparently causes crashes.
 9466 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/737
 9467 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/605>
 9468 
 9469 2020-05-27 12:42:38 +0100  Tim-Philipp Müller <tim@centricular.com>
 9470 
 9471 	* tests/check/meson.build:
 9472 	  tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
 9473 	  If core is built as a subproject (e.g. as in gst-build), make sure to use
 9474 	  the gst-plugin-scanner from the built subproject. Without this, gstreamer
 9475 	  might accidentally use the gst-plugin-scanner from the install prefix if
 9476 	  that exists, which in turn might drag in gst library versions we didn't
 9477 	  mean to drag in. Those gst library versions might then be older than
 9478 	  what our current build needs, and might cause our newly-built plugins
 9479 	  to get blacklisted in the test registry because they rely on a symbol
 9480 	  that the wrongly-pulled in gst lib doesn't have.
 9481 	  This should fix running of unit tests in gst-build when invoking
 9482 	  meson test or ninja test from outside the devenv for the case where
 9483 	  there is an older or different-version gst-plugin-scanner installed
 9484 	  in the install prefix.
 9485 	  In case no gst-plugin-scanner is installed in the install prefix, this
 9486 	  will fix "GStreamer-WARNING: External plugin loader failed. This most
 9487 	  likely means that the plugin loader helper binary was not found or
 9488 	  could not be run. You might need to set the GST_PLUGIN_SCANNER
 9489 	  environment variable if your setup is unusual." warnings when running
 9490 	  the unit tests.
 9491 	  In the case where we find GStreamer core via pkg-config we use
 9492 	  a newly-added pkg-config var "pluginscannerdir" to get the right
 9493 	  directory. This has the benefit of working transparently for both
 9494 	  installed and uninstalled pkg-config files/setups.
 9495 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/603>
 9496 
 9497 2020-05-25 20:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
 9498 
 9499 	* gst/rtsp/gstrtspsrc.c:
 9500 	  rtspsrc: Error out when failling to receive message response
 9501 	  And let it rety twice.
 9502 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/717
 9503 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/601>
 9504 
 9505 2020-05-21 17:12:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9506 
 9507 	* sys/v4l2/gstv4l2videoenc.c:
 9508 	  v4l2: videodec: Fix broken template caps
 9509 	  The profiles and levels were applied to the common caps instead of the copy.
 9510 	  That had the side effect of setting profiles/level from one CODEC onto
 9511 	  another. Leaving to encoder not being registered or not-negotiated errors.
 9512 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/599>
 9513 
 9514 2020-05-21 17:09:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9515 
 9516 	* sys/v4l2/gstv4l2codec.c:
 9517 	* sys/v4l2/gstv4l2codec.h:
 9518 	* sys/v4l2/gstv4l2videodec.c:
 9519 	* sys/v4l2/gstv4l2videoenc.c:
 9520 	  v4l2: codec: Fix GValue leak
 9521 	  The levels and profiles probe function returned a dynamically allocated GValue
 9522 	  that was leaked. Simplify this by using a stack allocated GValue and a boolean
 9523 	  return value.
 9524 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/599>
 9525 
 9526 2020-05-21 16:39:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9527 
 9528 	* sys/v4l2/gstv4l2codec.c:
 9529 	  v4l2codec: Remove uneeded factorisation
 9530 	  There is only one user of that function and the split only increase
 9531 	  complexicity.
 9532 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/599>
 9533 
 9534 2020-05-20 17:30:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9535 
 9536 	* sys/v4l2/gstv4l2src.c:
 9537 	  v4l2src: Ignore non-increasing sequence number
 9538 	  With older kernel, older driver or just broken drivers, the sequence number
 9539 	  may not be increasing. This simply ignore the sequence in this case. This
 9540 	  would otherwise miss-leading large amount of lost frame being reported.
 9541 	  Fixes #729
 9542 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/598>
 9543 
 9544 2020-05-18 13:17:14 +1000  Matthew Waters <matthew@centricular.com>
 9545 
 9546 	* ext/qt/gstqtoverlay.cc:
 9547 	* ext/qt/gstqtoverlay.h:
 9548 	* tests/examples/qt/qmloverlay/main.cpp:
 9549 	  qtoverlay: add the root item as a property
 9550 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/595>
 9551 
 9552 2020-05-20 13:17:13 +0300  Sebastian Dröge <sebastian@centricular.com>
 9553 
 9554 	* gst/flv/gstflvdemux.c:
 9555 	  flvdemux: Send gap events if one of the streams falls behind the other by more than 3s
 9556 	  Same mechanism and threshold as in other demuxers.
 9557 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/597>
 9558 
 9559 2020-05-20 12:53:56 +0300  Sebastian Dröge <sebastian@centricular.com>
 9560 
 9561 	* gst/flv/gstflvdemux.h:
 9562 	  flvdemux: Remove unused audio_linked/video_linked booleans
 9563 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/597>
 9564 
 9565 2020-05-20 10:46:45 +0200  Edward Hervey <edward@centricular.com>
 9566 
 9567 	* gst/flv/gstflvdemux.c:
 9568 	* gst/flv/gstflvdemux.h:
 9569 	  flvdemux: Answer bitrate queries from upstream
 9570 	  If upstream (such as queue2 in urisourcebin) asks for our bitrate, check if we
 9571 	  have stored audio/video bitrates, and use them.
 9572 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/596>
 9573 
 9574 2020-05-20 10:45:16 +0200  Edward Hervey <edward@centricular.com>
 9575 
 9576 	* gst/flv/gstflvdemux.c:
 9577 	  flvdemux: Handle empty metadata strings
 9578 	  g_utf8_validate() errors out on empty string. But empty strings are valid,
 9579 	  so only check if they're not
 9580 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/596>
 9581 
 9582 2020-05-20 10:44:19 +0200  Edward Hervey <edward@centricular.com>
 9583 
 9584 	* gst/flv/gstflvdemux.c:
 9585 	  flvdemux: Set ACCEPT_TEMPLATE flag on sinkpad
 9586 	  A demuxer can accept any caps matching its sinkpad template caps
 9587 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/596>
 9588 
 9589 2020-05-15 19:20:45 +0300  Raul Tambre <raul@tambre.ee>
 9590 
 9591 	* ext/qt/qtglrenderer.cc:
 9592 	  qtglrenderer.cc: Fix compiling
 9593 	  46bfb7d247aef880c15300dad63eb2bbf6dc4928 fixed a format warning without checking if it actually compiled.
 9594 	  toUtf8() returns QByteArray so we need to assign it to a temporary variable to be able to get the raw string data from it.
 9595 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/593>
 9596 
 9597 2020-05-15 06:07:25 +0000  Raul Tambre <raul@tambre.ee>
 9598 
 9599 	* ext/qt/qtglrenderer.cc:
 9600 	  qtglrenderer.cc: Fix -Wformat-security warning
 9601 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/592>
 9602 
 9603 2020-05-12 04:35:37 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 9604 
 9605 	* ext/qt/meson.build:
 9606 	* ext/taglib/meson.build:
 9607 	* meson.build:
 9608 	* sys/osxvideo/meson.build:
 9609 	  meson: Pass native: false to add_languages()
 9610 	  This is needed for cross-compiling without a build machine compiler
 9611 	  available. The option was added in 0.54, but we only need this in
 9612 	  Cerbero and it doesn't break older versions so it should be ok.
 9613 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/589>
 9614 
 9615 2020-05-12 04:33:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 9616 
 9617 	* ext/qt/meson.build:
 9618 	* ext/taglib/meson.build:
 9619 	* meson.build:
 9620 	  meson: Make C++ compiler detection not be automagic
 9621 	  It is now controlled by the qt5 and/or taglib options. We won't
 9622 	  silently fail to build taglib now.
 9623 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/587>
 9624 
 9625 2020-05-12 04:32:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 9626 
 9627 	* ext/gtk/meson.build:
 9628 	* ext/qt/meson.build:
 9629 	* meson.build:
 9630 	* tests/examples/gtk/meson.build:
 9631 	  meson: Fix gstgl checks for qt and gtk
 9632 	  Also rename from build_ to have_, which is more accurate.
 9633 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/587>
 9634 
 9635 2020-05-12 04:30:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
 9636 
 9637 	* ext/qt/meson.build:
 9638 	* tests/examples/qt/meson.build:
 9639 	* tests/examples/qt/qmloverlay/meson.build:
 9640 	* tests/examples/qt/qmlsink-dynamically-added/meson.build:
 9641 	* tests/examples/qt/qmlsink/meson.build:
 9642 	* tests/examples/qt/qmlsrc/meson.build:
 9643 	  meson: Revamp qt5qml plugin and example build code
 9644 	  Stricter and simpler. For example, now we properly error out when
 9645 	  gstreamer-gl-1.0 was not found when the qt5 plugin is enabled or when
 9646 	  a C++ compiler is not enabled.
 9647 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/587>
 9648 
 9649 2020-05-09 03:09:03 +1000  Jan Schmidt <jan@centricular.com>
 9650 
 9651 	* gst/deinterlace/yadif.c:
 9652 	  deinterlace: Split out NULL checks in yadif
 9653 	  Separate out explicit NULL checks for fields we depend on so
 9654 	  that coverity can hopefully verify dependencies better.
 9655 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/585>
 9656 
 9657 2020-05-09 03:07:33 +1000  Jan Schmidt <jan@centricular.com>
 9658 
 9659 	* gst/deinterlace/tvtime/greedy.c:
 9660 	  deinterlace: Handle NV12/NV21 for the greedyl mode.
 9661 	  Don't fall back on the default interpolate_scanline function, which
 9662 	  blindly tries to copy from the next field, which can be NULL in
 9663 	  mixed progressive/interlaced streams
 9664 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/585>
 9665 
 9666 2020-05-05 16:59:56 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9667 
 9668 	* gst/deinterlace/yadif.c:
 9669 	  deinterlace: Support packed formats for YADIF
 9670 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444>
 9671 
 9672 2020-05-06 11:04:18 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9673 
 9674 	* gst/deinterlace/gstdeinterlacemethod.c:
 9675 	  deinterlace: Call the planar functions for the Y plane of nv12/nv21
 9676 	  In some algorithms (like yadif), the Y plane has to be handled different
 9677 	  than the UV plane. Therefore, the planar_y functions are now called for
 9678 	  the Y plane, and the nv12/nv21 functions are handling only the UV/VU
 9679 	  planes respectively.
 9680 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444>
 9681 
 9682 2020-01-03 02:34:59 +1100  Jan Schmidt <jan@centricular.com>
 9683 
 9684 	* gst/deinterlace/gstdeinterlace.c:
 9685 	* gst/deinterlace/gstdeinterlace.h:
 9686 	* gst/deinterlace/meson.build:
 9687 	* gst/deinterlace/yadif.c:
 9688 	* gst/deinterlace/yadif.h:
 9689 	  deinterlace: Add C implementation of YADIF
 9690 	  Import the YADIF deinterlacer from ffmpeg and modify
 9691 	  it to match the simple deinterlace scanlines structure.
 9692 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444>
 9693 
 9694 2020-01-03 02:33:25 +1100  Jan Schmidt <jan@centricular.com>
 9695 
 9696 	* gst/deinterlace/gstdeinterlacemethod.c:
 9697 	* gst/deinterlace/gstdeinterlacemethod.h:
 9698 	  deinterlace: Allow for 5 fields for interpolation
 9699 	  Add an extra field to the simple deinterlace implementation,
 9700 	  so that methods can potentially use 5 fields - the current
 9701 	  field, and 2 before and 2 after.
 9702 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444>
 9703 
 9704 2020-05-07 01:17:25 +1000  Jan Schmidt <jan@centricular.com>
 9705 
 9706 	* gst/deinterlace/gstdeinterlace.c:
 9707 	  deinterlace: Force renegotiation when changing mode
 9708 	  Switching the deinterlacing mode on-the-fly from disabled to
 9709 	  auto used to work, but was broken by commit #1f21747c some
 9710 	  years ago.
 9711 	  Force re-negotiation with downstream when the mode or
 9712 	  fields properties are changed, otherwise deinterlace
 9713 	  never switches out of the passthrough mode.
 9714 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/584>
 9715 
 9716 2020-04-23 15:32:58 +0800  nian.yan <nian.yan@transwarp.io>
 9717 
 9718 	* ext/jpeg/gstjpegenc.c:
 9719 	  jpegenc: remove meta copy in jpegenc
 9720 	  GstVideoEncoder takes care of the Meta copy, so there is no need in
 9721 	  jpegenc
 9722 	  Fixes http://gstreamer-devel.966125.n4.nabble.com/jpegenc-copy-GstMeta-twice-tt4693981.html
 9723 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/576>
 9724 
 9725 2020-05-05 17:47:28 +0300  Sebastian Dröge <sebastian@centricular.com>
 9726 
 9727 	* gst/imagefreeze/gstimagefreeze.c:
 9728 	* gst/imagefreeze/gstimagefreeze.h:
 9729 	  imagefreeze: Handle flushing correctly
 9730 	  First of all get rid of the atomic seeking boolean, which was only ever
 9731 	  set and never read. Replace it with a flushing boolean that is used in
 9732 	  the loop function to distinguish no buffer because of flushing and no
 9733 	  buffer because of an error as otherwise we could end up in a
 9734 	  GST_FLOW_ERROR case during flushing.
 9735 	  Also only reset the state of imagefreeze in flush-stop when all
 9736 	  processing is stopped instead of doing it as part of flush-start.
 9737 	  And last, get a reference to the imagefreeze buffer in the loop function
 9738 	  in the very beginning and work from that as otherwise it could in theory
 9739 	  be replaced or set to NULL in the meantime as we release and re-take the
 9740 	  mutex a couple of times during the loop function.
 9741 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/580>
 9742 
 9743 2020-05-06 06:48:24 +0200  Edward Hervey <edward@centricular.com>
 9744 
 9745 	* gst/videobox/gstvideobox.c:
 9746 	  videbox: Use MIN instead of CLAMP for uint
 9747 	  an unsigned int is always positive.
 9748 	  CID #206207
 9749 	  CID #206208
 9750 	  CID #206209
 9751 	  CID #206210
 9752 	  CID #206211
 9753 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/583>
 9754 
 9755 2020-05-06 06:35:27 +0200  Edward Hervey <edward@centricular.com>
 9756 
 9757 	* gst/avi/gstavidemux.c:
 9758 	  avidemux: Avoid potential double-free
 9759 	  stream->name was being freed (without being NULL-ed) before we were certain it
 9760 	  would be set again.
 9761 	  CID #1456071
 9762 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/582>
 9763 
 9764 2020-05-05 17:30:48 +0200  Edward Hervey <edward@centricular.com>
 9765 
 9766 	* gst/deinterlace/gstdeinterlace.c:
 9767 	  deinterlace: Don't leak frame in error case
 9768 	  CID #1455494
 9769 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/581>
 9770 
 9771 2020-05-05 15:19:49 +0200  Edward Hervey <edward@centricular.com>
 9772 
 9773 	* gst/multifile/gstsplitmuxsrc.c:
 9774 	  slitmuxsrc: Properly stop the loop if not part reader is present
 9775 	  Previously this would end up in a refcounting loop of hell.
 9776 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/578>
 9777 
 9778 2020-03-31 14:32:19 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9779 
 9780 	* gst/flv/gstflvmux.c:
 9781 	* gst/flv/gstflvmux.h:
 9782 	  flvmux: Add skip-backwards-streams property
 9783 	  Backwards timestamps confuse librtmp, even if they're only backwards
 9784 	  relative to the other stream. If the timestamp of a stream is going
 9785 	  backwards related to the other stream, this property allows the muxer to
 9786 	  skip a few buffers until it reaches the timestamp of the other stream.
 9787 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/572>
 9788 
 9789 2020-03-31 14:10:35 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9790 
 9791 	* gst/flv/gstflvmux.c:
 9792 	  flvmux: Allow requesting streamable pads after header is written
 9793 	  Allows us to request pads after writing header for streamable flv's.
 9794 	  For non-streamable it doesn't make sense to request a new pad after
 9795 	  writing the header, because the headers have been written already and we
 9796 	  can't add the new stream. But for streamable, any clients that connect
 9797 	  after the new pad has been added will be able to see both streams.
 9798 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/572>
 9799 
 9800 2020-04-27 18:11:32 +1000  Matthew Waters <matthew@centricular.com>
 9801 
 9802 	* ext/qt/gstqtglutility.cc:
 9803 	  qt/x11: also pass the window for gstgl -> qt context
 9804 	  Removes this warning from Qt:
 9805 	  QGLXContext: Multiple configs for FBConfig ID -1
 9806 	  QSGContext::initialize: depth buffer support missing, expect rendering errors
 9807 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/575>
 9808 
 9809 2020-04-27 15:34:15 +1000  Matthew Waters <matthew@centricular.com>
 9810 
 9811 	* ext/qt/qtglrenderer.cc:
 9812 	* ext/qt/qtglrenderer.h:
 9813 	  qt: perform surface creation in the main thread
 9814 	  As is required when creating a QWindow instance set out in the Qt
 9815 	  documentation.
 9816 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/575>
 9817 
 9818 2020-04-22 15:32:31 -0400  Olivier Crête <olivier.crete@collabora.com>
 9819 
 9820 	* gst/isomp4/fourcc.h:
 9821 	* gst/isomp4/qtdemux.c:
 9822 	  qtdemux: Add 'mp3 ' fourcc that VLC seems to produce now
 9823 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/574>
 9824 
 9825 2020-04-22 14:09:37 +0300  Sebastian Dröge <sebastian@centricular.com>
 9826 
 9827 	* gst/rtpmanager/rtpjitterbuffer.c:
 9828 	* gst/rtpmanager/rtpjitterbuffer.h:
 9829 	  rtpjitterbuffer: Properly free internal packets queue in finalize()
 9830 	  As we override the GLib item with our own structure, we cannot use any
 9831 	  function from GList or GQueue that would try to free the RTPJitterBufferItem.
 9832 	  In this patch, we move away from g_queue_new() which forces using
 9833 	  g_queue_free(). This this function could use g_slice_free() if there is any items
 9834 	  left in the queue. Passing the wrong size to GSLice may cause data corruption
 9835 	  and crash.
 9836 	  A better approach would be to use a proper intrusive linked list
 9837 	  implementation but that's left as an exercise for the next person
 9838 	  running into crashes caused by this.
 9839 	  Be ware that this regression was introduced 6 years ago in the following
 9840 	  commit [0], the call to flush() looked useless, as there was a g_queue_free()
 9841 	  afterward.
 9842 	  Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9843 	  [0] https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/479c7642fd953edf1291a0ed4a3d53618418019c
 9844 	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/573>
 9845 
 9846 2020-04-20 19:43:57 +0900  Seungha Yang <seungha@centricular.com>
 9847 
 9848 	* tests/check/elements/splitmuxsink.c:
 9849 	* tests/check/elements/splitmuxsinktimecode.c:
 9850 	* tests/check/meson.build:
 9851 	  tests: splitmuxsink: Add more timecode based split test
 9852 	  ... and split test cases to run tests in parallel
 9853 
 9854 2020-04-10 23:52:45 +0900  Seungha Yang <seungha@centricular.com>
 9855 
 9856 	* gst/multifile/gstsplitmuxsink.c:
 9857 	* gst/multifile/gstsplitmuxsink.h:
 9858 	  splitmuxsink: Enhancement for timecode based split
 9859 	  The calculated threshold for timecode might be varying depending on
 9860 	  "max-size-timecode" and framerate.
 9861 	  For instance, with framerate 29.97 (30000/1001) and
 9862 	  "max-size-timecode=00:02:00;02", every fragment will have identical
 9863 	  number of frames 3598. However, when "max-size-timecode=00:02:00;00",
 9864 	  calculated next keyframe via gst_video_time_code_add_interval()
 9865 	  can be different per fragment, but this is the nature of timecode.
 9866 	  To compensate such timecode drift, we should keep track of expected
 9867 	  timecode of next fragment based on observed timecode.
 9868 
 9869 2020-04-11 00:35:16 +0900  Seungha Yang <seungha@centricular.com>
 9870 
 9871 	* gst/multifile/gstsplitmuxsink.c:
 9872 	  splitmuxsink: Post error when requested timecode interval is invalid
 9873 	  In case we cannot rely on max-size-timecode for split decision,
 9874 	  post error instead of crashing
 9875 
 9876 2020-04-16 16:47:50 +0200  Havard Graff <havard@pexip.com>
 9877 
 9878 	* gst/rtpmanager/gstrtpjitterbuffer.c:
 9879 	* tests/check/elements/rtpjitterbuffer.c:
 9880 	  rtpjitterbuffer: don't use RTX packets in rate-calc and reset-logic
 9881 	  The problem was this:
 9882 	  Due to the highly irregular arrival of RTX-packet the max-misorder variable
 9883 	  could be pushed very low. (-10).
 9884 	  If you then at some point get a big in the sequence-numbers (62 in the
 9885 	  test) you end up sending RTX-requests for some of those packets, and then
 9886 	  if the sender answers those requests, you are going to get a bunch of
 9887 	  RTX-packets arriving. (-13 and then 5 more packets in the test)
 9888 	  Now, if max-misorder is pushed very low at this point, these RTX-packets
 9889 	  will trigger the handle_big_gap_buffer() logic, and because they arriving
 9890 	  so neatly in order, (as they would, since they have been requested like
 9891 	  that), the gst_rtp_jitter_buffer_reset() will be called, and two things
 9892 	  will happen:
 9893 	  1. priv->next_seqnum will be set to the first RTX packet
 9894 	  2. the 5 RTX-packet will be pushed into the chain() function
 9895 	  However, at this point, these RTX-packets are no longer valid, the
 9896 	  jitterbuffer has already pushed lost-events for these, so they will now
 9897 	  be dropped on the floor, and never make it to the waiting loop-function.
 9898 	  And, since we now have a priv->next_seqnum that will never arrive
 9899 	  in the loop-function, the jitterbuffer is now stalled forever, and will
 9900 	  not push out another buffer.
 9901 	  The proposed fixes:
 9902 	  1. Don't use RTX in calculation of the packet-rate.
 9903 	  2. Don't use RTX in large-gap logic, as they are likely to be dropped.
 9904 
 9905 2020-04-15 12:36:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9906 
 9907 	* sys/v4l2/gstv4l2videodec.c:
 9908 	  v4l2videodec: Increase internal bitstream pool size
 9909 	  This patch will now set the maximum of buffers to 32, allowing to grow the
 9910 	  pool for drivers that supports that and will respect the minimum buffers
 9911 	  reported by the driver. This was made to fix a stall with the virtio CODEC
 9912 	  driver.
 9913 	  Fixes #672
 9914 
 9915 2020-04-15 17:50:31 +0300  Sebastian Dröge <sebastian@centricular.com>
 9916 
 9917 	* gst/multifile/gstsplitmuxsink.c:
 9918 	  splitmuxsink: Do split-at-running-time splitting based on the time of the start of the GOP
 9919 	  If the start of the GOP is >= the requested running time, put it into a
 9920 	  new fragment. That is, split-at-running-time would always ensure that a
 9921 	  split happens as early as possible after the given running time.
 9922 	  Previously it was comparing against the current incoming timestamp,
 9923 	  which does not tell us what we actually want to know as it has no direct
 9924 	  relation to the GOP start/end.
 9925 
 9926 2020-04-15 13:21:05 +0300  Sebastian Dröge <sebastian@centricular.com>
 9927 
 9928 	* gst/multifile/gstsplitmuxsink.c:
 9929 	  splitmuxsink: Fix off-by-one in running time comparison for split-at-running-time
 9930 	  If we get a keyframe exactly at the requested running time we would only
 9931 	  split on the next keyframe afterwards due to wrong usage of > vs. >=.
 9932 
 9933 2020-04-09 12:23:44 -0400  Thibault Saunier <tsaunier@igalia.com>
 9934 
 9935 	* gst/rtsp/gstrtspsrc.c:
 9936 	* gst/rtsp/gstrtspsrc.h:
 9937 	  rtspsrc: Properly set segments seqnums after seeks
 9938 
 9939 2020-04-08 19:49:00 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
 9940 
 9941 	* gst/flv/gstflvdemux.c:
 9942 	  flvdemux: Don't write an empty string as a tag
 9943 	  To stop warnings like:
 9944 	  GStreamer-WARNING **: 19:47:48.186: Trying to set empty string on
 9945 	  taglist field 'encoder'. Please file a bug.
 9946 
 9947 2020-04-08 12:34:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
 9948 
 9949 	* sys/v4l2/gstv4l2bufferpool.c:
 9950 	  v4l2bufferpool: request the maximum number of buffers for USERPTR
 9951 	  This is to match what we now do for DMABuf importation.
 9952 
 9953 2019-11-20 15:32:29 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
 9954 
 9955 	* sys/v4l2/gstv4l2bufferpool.c:
 9956 	  v4l2bufferpool: request the maximum number of buffers for DMABUF
 9957 	  There are often only two buffers queued in the kernel so no new buffers are
 9958 	  requested.
 9959 	  With every qbuf, the kernel receives a new DMABUF for the specified index.
 9960 	  This most likely differs from the last DMABUF and the old cached entry is
 9961 	  released. This results in a lot of map/unmap overhead if the kernel driver
 9962 	  needs a mapping for the buffer.
 9963 	  With a larger queue, it's quite likely, that both old and new DMABUFs are
 9964 	  also mapped for another index. So the map/unmap is skipped, because the
 9965 	  mapping is reference counted.
 9966 	  The corresponding allocated buffers don't contain any actual memory, so
 9967 	  allocating them is quite cheep. So the log message is updated to clarify
 9968 	  this.
 9969 
 9970 2020-04-08 09:45:17 -0400  Thibault Saunier <tsaunier@igalia.com>
 9971 
 9972 	* gst/rtsp/gstrtspsrc.c:
 9973 	  rtspsrc: Avoid stack overflow recursing waiting for response
 9974 	  Instead of recursing, simply implement a loop with gotos, the same
 9975 	  way it was done before 812175288769d647ed6388755aed386378d9210c
 9976 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/710
 9977 
 9978 2020-04-06 16:25:59 +0300  Sebastian Dröge <sebastian@centricular.com>
 9979 
 9980 	* gst/isomp4/gstqtmux.c:
 9981 	* gst/isomp4/gstqtmux.h:
 9982 	  qtmux: Add property for enforcing the creation of chunks in single-stream files
 9983 	  This is disabled by default as it unnecessarily creates bigger headers
 9984 	  but it is something that is required by some applications and most
 9985 	  notably the Apple ProRes spec.
 9986 
 9987 2020-04-03 00:16:10 +1100  Jan Schmidt <jan@centricular.com>
 9988 
 9989 	* gst/flv/gstflvmux.c:
 9990 	  flvmux: Fix invalid padlist accesses.
 9991 	  Request pads can released at any time, so make sure to hold
 9992 	  the object lock when iterating the element sinkpads list where
 9993 	  that's safe, or to use other safe pad iteration patterns in
 9994 	  other places.
 9995 	  When choosing a best pad, return a reference to the pad to make sure it
 9996 	  stays alive for output in the aggregator srcpad task.
 9997 	  Should fix a spurious valgrind error in the CI flvmux tests and some
 9998 	  other potential problems if the request sink pads are released while
 9999 	  the element is running..
10000 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/714
10001 
10002 2018-10-22 15:41:56 +0300  Vivia Nikolaidou <vivia@ahiru.eu>
10003 
10004 	* gst/isomp4/atoms.c:
10005 	* gst/isomp4/atoms.h:
10006 	* gst/isomp4/fourcc.h:
10007 	* gst/isomp4/gstqtmux.c:
10008 	* gst/isomp4/gstqtmux.h:
10009 	  qtmux: Add option to create a timecode trak in non-mov flavors
10010 	  Even if timecode trak is officially unsupported in non-mov flavors,
10011 	  some software still supports it, e.g. Final Cut Pro X:
10012 	  https://developer.apple.com/library/archive/technotes/tn2174/_index.html
10013 	  The user might still expect to see the timecode information in the
10014 	  non-mov file despite it being officially unsupported , because other
10015 	  software e.g. QuickTime will create a timecode trak even in mp4 files.
10016 	  Furthermore, software that supports timecode trak in non-mov flavors
10017 	  will also display the file duration in "timecode units" instead of real
10018 	  clock time, which is not necessarily the same for 29.97 fps and friends.
10019 	  This might confuse users, who see a different duration for the same
10020 	  framerate and amount of frames depending on whether the container is mp4
10021 	  or mov.
10022 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/512
10023 
10024 2020-01-16 09:30:39 +0200  Sebastian Dröge <sebastian@centricular.com>
10025 
10026 	* gst/rtp/gstrtpL16depay.c:
10027 	* gst/rtp/gstrtpL24depay.c:
10028 	* gst/rtp/gstrtpL8depay.c:
10029 	  rtpLXXdepay: Set the UNPOSITIONED flag on the audio-info when configuring an unpositioned layout
10030 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/688
10031 
10032 2020-04-01 13:19:46 +0200  Kristofer Björkström <kristofb@axis.com>
10033 
10034 	* gst/rtp/gstrtpjpegpay.c:
10035 	* tests/check/elements/rtpjpeg.c:
10036 	* tests/check/meson.build:
10037 	  rtpjpeg: Use gst_memory_map() instead of gst_buffer_map()
10038 	  gst_buffer_map () results in memcopying when a GstBuffer contains
10039 	  more than one GstMemory.
10040 	  This has quite an impact on performance on systems with limited amount
10041 	  of resources. With this patch the whole GstBuffer will not be mapped at
10042 	  once, instead each individual GstMemory will be iterated and mapped
10043 	  separately.
10044 
10045 2020-04-01 13:17:03 +0200  Kristofer Björkström <kristofb@axis.com>
10046 
10047 	* gst/rtp/gstbuffermemory.c:
10048 	* gst/rtp/gstbuffermemory.h:
10049 	  buffermemory: keep track of buffer size and current offset
10050 	  Added the possibility to get current offset and the total size of the
10051 	  buffer.
10052 
10053 2020-04-03 10:29:18 +0200  Havard Graff <havard@pexip.com>
10054 
10055 	* gst/rtp/gstrtpopuspay.c:
10056 	* tests/check/elements/rtpopus.c:
10057 	* tests/check/meson.build:
10058 	  rtpopuspay: make depay ! pay work
10059 	  There is a use-case for a server to re-payload opus going through it.
10060 	  Problem was that the payloader requires channels in the caps, but
10061 	  this is not something the depayloader can parse out of the stream, meaning
10062 	  caps-negotiation would fail.
10063 	  Removing the requirement of channels in the template-caps fixes this.
10064 
10065 2020-04-03 16:49:25 +0900  Seungha Yang <seungha@centricular.com>
10066 
10067 	* tests/check/elements/splitmuxsink.c:
10068 	* tests/check/elements/splitmuxsrc.c:
10069 	* tests/check/meson.build:
10070 	  tests: Split splitmux test case
10071 	  Since we are adding more and more tests into splitmux,
10072 	  we need to split it to avoid CI timeout.
10073 
10074 2020-04-03 13:45:56 +0900  Seungha Yang <seungha@centricular.com>
10075 
10076 	* gst/multifile/gstsplitmuxsink.c:
10077 	* gst/multifile/gstsplitmuxsink.h:
10078 	* tests/check/elements/splitmux.c:
10079 	  splitmuxsink: Don't send too many force key unit event
10080 	  splitmuxsink should requst keyframe depending on configured
10081 	  threshold and previously requested time in order to avoid too many
10082 	  keyframe request.
10083 
10084 2020-03-20 21:32:36 +1100  Jan Schmidt <jan@centricular.com>
10085 
10086 	* gst/matroska/matroska-demux.c:
10087 	  matroska: Check the return value of gst_segment_do_seek()
10088 	  gst_segment_do_seek() can fail.
10089 
10090 2018-06-08 13:12:01 +0300  Sebastian Dröge <sebastian@centricular.com>
10091 
10092 	* gst/isomp4/qtdemux.c:
10093 	  qtdemux: Send instant-rate-change event if requested in the SEEK event
10094 	  Handle an instant rate change seek immediately by reflecting
10095 	  it downstream as an instant-rate-change event, and do no
10096 	  further seek handling.
10097 
10098 2018-05-15 18:26:16 +0300  Sebastian Dröge <sebastian@centricular.com>
10099 
10100 	* gst/matroska/matroska-demux.c:
10101 	  matroska-demux: Send instant-rate-change event if requested in the SEEK event
10102 	  Short-circuit instant rate change events by generating
10103 	  a downstream instant-rate-change event and doing no further
10104 	  seek processing.
10105 
10106 2020-03-10 23:16:00 +0900  Seungha Yang <seungha@centricular.com>
10107 
10108 	* gst/matroska/matroska-demux.c:
10109 	* gst/matroska/matroska-mux.c:
10110 	  matroska: Update for video-hdr struct change
10111 	  See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
10112 
10113 2020-03-31 15:51:27 -0400  Aaron Boxer <boxerab@gmail.com>
10114 
10115 	* gst/rtpmanager/gstrtpbin.c:
10116 	  rtpbin: make warning messages more meaningful
10117 
10118 2020-03-27 19:24:03 +0100  Nicolas Pernas Maradei <nicopernas@gmail.com>
10119 
10120 	* gst/rtpmanager/gstrtpsession.c:
10121 	  rtpsession: rename RTCP thread
10122 	  RTP session starts a new thread for RTCP and names it
10123 	  "rtpsession-rtcp-thread" which happens to be longer than the maximum 16B
10124 	  allowed by pthread_setname_np and causes the naming to fail.
10125 	  See docs for more details.
10126 	  This commit simply shortens the thread's name so it can actually be set.
10127 
10128 2020-03-30 22:26:33 +0200  Havard Graff <havard@pexip.com>
10129 
10130 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10131 	* gst/rtpmanager/rtpjitterbuffer.c:
10132 	* gst/rtpmanager/rtpjitterbuffer.h:
10133 	  rtpjitterbuffer: create specific API for appending buffers, events etc
10134 	  To avoid specifying a bunch of mystic variables.
10135 
10136 2020-02-10 17:33:54 +0100  Havard Graff <havard@pexip.com>
10137 
10138 	* tests/check/elements/rtpjitterbuffer.c:
10139 	  rtpjitterbuffer: various test-improvements
10140 	  Mainly generalize all the latest tests that have found various stalls
10141 	  in the jitterbuffer, so that they only consist of a series of packets
10142 	  with various seqnum/rtptime/rtx combinations, arriving at a specific time.
10143 	  This means future tests can be more easily written to prove certain
10144 	  behavior does not cause stalls.
10145 	  Also fix the warning on windows:
10146 	  warning C4244: 'initializing': conversion from 'double' to 'gint', possible loss of data
10147 
10148 2020-03-27 14:07:04 +0100  Havard Graff <havard@pexip.com>
10149 
10150 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10151 	  rtpjitterbuffer: fix waiting timer/queue code
10152 	  Changing the types from boolean to guint due to the ++ operand used on
10153 	  them, and only call JBUF_SIGNAL_QUEUE after settling down,
10154 	  or else you end up signaling the waiting code in chain() for every buffer
10155 	  pushed out.
10156 
10157 2020-03-23 19:55:37 +0200  Sebastian Dröge <sebastian@centricular.com>
10158 
10159 	* gst/isomp4/gstqtmux.c:
10160 	  qtmux: Error out instead of crashing if reserved-max-duration is 0 or no samples could be created in prefill mode
10161 
10162 2020-03-12 15:16:44 +0200  Sebastian Dröge <sebastian@centricular.com>
10163 
10164 	* ext/gdk_pixbuf/gstgdkpixbufoverlay.c:
10165 	  gdkpixbufoverlay: Use GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS for the supported formats
10166 	  We don't do any blending by ourselves since a while now.
10167 	  Note that this is a regression in "supported" formats: previously
10168 	  ARGB64 was supported, for example, but in practice it caused blending to
10169 	  not take place at all.
10170 
10171 2020-03-24 00:23:24 +1100  Jan Schmidt <jan@centricular.com>
10172 
10173 	* gst/multifile/gstsplitmuxpartreader.c:
10174 	* gst/multifile/gstsplitmuxpartreader.h:
10175 	* gst/multifile/gstsplitmuxsrc.c:
10176 	* gst/multifile/gstsplitmuxsrc.h:
10177 	  splitmuxsrc: Fix some deadlock conditions and a crash
10178 	  When switching the splitmuxsrc state back to NULL quickly, it
10179 	  can encounter deadlocks shutting down the part readers that
10180 	  are still starting up, or encounter a crash if the splitmuxsrc
10181 	  cleaned up the parts before the async callback could run.
10182 	  Taking the state lock to post async-start / async-done messages can
10183 	  deadlock if the state change function is trying to shut down the
10184 	  element, so use some finer grained locks for that.
10185 
10186 2020-03-24 00:18:54 +1100  Jan Schmidt <jan@centricular.com>
10187 
10188 	* tests/check/elements/splitmux.c:
10189 	  splitmux: Make the unit test faster
10190 	  The playback test is considerably faster if it runs with the
10191 	  appsink set to sync=false
10192 
10193 2020-03-25 22:14:36 +0900  Seungha Yang <seungha@centricular.com>
10194 
10195 	* tests/check/elements/splitmux.c:
10196 	* tests/check/meson.build:
10197 	  tests: splitmux: Add test for timecode based split
10198 
10199 2020-03-25 21:20:07 +0900  Seungha Yang <seungha@centricular.com>
10200 
10201 	* gst/multifile/gstsplitmuxsink.c:
10202 	  splitmuxsink: Split fragment only if queued time is larger than threshold
10203 	  The queued time includes the duration of the last queued frame
10204 	  (i.e., new keyframe) so the condition check should not be inclusive.
10205 	  Note that the new fragment will be cut excluding the last frame
10206 	  and therefore if the condition is inclusive way,
10207 	  the fragment might have one frame shorter duration for all keyframe
10208 	  stream such as jpeg or all-inter video streams.
10209 
10210 2020-03-25 21:01:00 +0900  Seungha Yang <seungha@centricular.com>
10211 
10212 	* gst/multifile/gstsplitmuxsink.c:
10213 	  splitmuxsink: Don't need to trace next timecode for split decision
10214 	  Since the commit 94bb76b6b9c48981d3ad42a8c4370b9658db4229, splitmuxsink
10215 	  will split fragments based on queued time and the threshold of that.
10216 	  So don't need to store the next timecode for split decision.
10217 
10218 2018-08-08 09:27:19 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
10219 
10220 	* sys/v4l2/gstv4l2bufferpool.c:
10221 	* sys/v4l2/gstv4l2object.c:
10222 	* sys/v4l2/gstv4l2object.h:
10223 	* sys/v4l2/gstv4l2src.c:
10224 	* sys/v4l2/gstv4l2src.h:
10225 	  v4l2: add alternate interlace mode
10226 	  When using this mode each frame is split in two fields, each one being
10227 	  transferred using its own buffer.
10228 	  This is implemented with the V4L2_FIELD_ALTERNATE field format in v4l2.
10229 	  This mode is enabled using a caps filter such as
10230 	  "v4l2src ! video/x-raw\(format:Interlaced\)"
10231 	  Here are the main changes related to this feature:
10232 	  - use the INTERLACED caps feature with this mode.
10233 	  - in this mode both fields of a given frame have the same sequence/offset
10234 	  so adjust the algorithm checking for lost field/frame accordingly.
10235 	  - double pool's min number of buffers as each frame requires 2 buffers.
10236 	  Fix #504
10237 	  Co-authored-by: Zeeshan Ali <zeenix@collabora.co.uk>
10238 
10239 2020-02-05 13:03:51 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10240 
10241 	* sys/v4l2/gstv4l2object.c:
10242 	  v4l2: display field when setting or trying format
10243 	  Ease debugging interlacing pipelines.
10244 
10245 2020-01-30 12:35:02 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10246 
10247 	* sys/v4l2/gstv4l2bufferpool.c:
10248 	* sys/v4l2/gstv4l2object.c:
10249 	* sys/v4l2/gstv4l2object.h:
10250 	* sys/v4l2/gstv4l2transform.c:
10251 	* sys/v4l2/gstv4l2videoenc.c:
10252 	  v4l2: pass v4l2object to GST_V4L2_MIN_BUFFERS()
10253 	  Will be used to double the number of buffers in alternate interlace
10254 	  mode.
10255 
10256 2020-01-30 12:09:12 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10257 
10258 	* sys/v4l2/gstv4l2object.c:
10259 	  v4l2: use GST_VIDEO_INFO_FIELD_HEIGHT()
10260 	  Use GST_VIDEO_INFO_FIELD_HEIGHT() instead of GST_VIDEO_INFO_HEIGHT()
10261 	  when we actually want the field height rather than the frame height.
10262 	  So far both are equals but that won't longer be the case when
10263 	  implementing alternate interlace mode.
10264 
10265 2020-03-24 22:08:27 +0900  Seungha Yang <seungha@centricular.com>
10266 
10267 	* gst/multifile/gstsplitmuxsink.c:
10268 	  splitmuxsink: Mark some split decision related properties as MUTABLE_READY
10269 	  The change of various criteria for split decision while muxing is on progress
10270 	  wouldn't work well as expected.
10271 
10272 2020-03-24 13:45:00 +0900  Seungha Yang <seungha@centricular.com>
10273 
10274 	* gst/multifile/gstsplitmuxsink.c:
10275 	* gst/multifile/gstsplitmuxsink.h:
10276 	  splitmuxsink: Take account queued time and max-size-timecode for split decision
10277 	  Not only the requested keyframe time, the queued size should be
10278 	  a criterion for the split decision of timecode based mode
10279 	  (same as max-size-time based split case).
10280 
10281 2020-03-24 12:55:27 +1100  Matthew Waters <matthew@centricular.com>
10282 
10283 	* ext/qt/gstqtoverlay.cc:
10284 	  qmlgloverlay: fix usage without an qmlglsink in the pipeline
10285 	  Without a qmlglsink, we need to retrieve the window system display
10286 	  ourselves rather than relying solely on qmlglsink to have priority on
10287 	  the choice of display.
10288 
10289 2020-03-23 21:32:04 -0400  Xavier Claessens <xavier.claessens@collabora.com>
10290 
10291 	* gst/rtpmanager/rtptwcc.c:
10292 	* gst/videocrop/gstvideocrop.c:
10293 	* tests/check/elements/rtpbin.c:
10294 	* tests/check/elements/rtpsession.c:
10295 	  Fix usage of C99
10296 	  It's 2020, way too early for that, let's stick to C89 for now.
10297 
10298 2020-03-23 16:34:46 +0900  Seungha Yang <seungha@centricular.com>
10299 
10300 	* sys/v4l2/gstv4l2bufferpool.c:
10301 	* sys/v4l2/gstv4l2object.h:
10302 	  v4l2bufferpool: Use unique name for v4l2bufferpool object
10303 	  Assign unique sequence number to an object name for better debugging
10304 
10305 2020-03-23 14:02:22 +1100  Matthew Waters <matthew@centricular.com>
10306 
10307 	* ext/qt/qtglrenderer.cc:
10308 	  qmlgloverlay: don't leak resources freed on a different GL thread
10309 	  deleting a QOpenGLFrameBufferObject needs to occur on the same thread it
10310 	  was created on in order to actually free the relevant resources
10311 	  immediately.  Otherwise, they will be queued for deletion and not freed
10312 	  until the associated QOpenGLContext is destroyed.
10313 
10314 2020-03-20 09:14:01 +1100  Matthew Waters <matthew@centricular.com>
10315 
10316 	* ext/qt/gstqtglutility.cc:
10317 	  qt: reorganize include defines
10318 
10319 2020-03-19 23:17:21 +0100  Havard Graff <havard.graff@gmail.com>
10320 
10321 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10322 	* gst/rtpmanager/rtptimerqueue.c:
10323 	* gst/rtpmanager/rtptimerqueue.h:
10324 	* tests/check/elements/rtptimerqueue.c:
10325 	  rtptimerqueue: remove ->num from the timer
10326 	  This concept was only used by the "multi"-lost timer, and since that
10327 	  one is not around any longer, the "num" concept is superfluous.
10328 
10329 2020-03-19 23:37:26 +0100  Havard Graff <havard.graff@gmail.com>
10330 
10331 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10332 	* tests/check/elements/rtpjitterbuffer.c:
10333 	  rtpjitterbuffer: remove the concept of "already-lost"
10334 	  This is a concept that only applies when a buffer arrives in the chain
10335 	  function, and it has already been scheduled as part of a "multi"-lost
10336 	  timer.
10337 	  However, "multi"-lost timers are now a thing of the past, making this
10338 	  whole concept superflous, and this buffer is now simply counted as "late",
10339 	  having already been pushed out (albeit as a lost-event).
10340 
10341 2020-03-19 23:12:04 +0100  Havard Graff <havard.graff@gmail.com>
10342 
10343 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10344 	* tests/check/elements/rtpjitterbuffer.c:
10345 	  rtpjitterbuffer: immediately insert a lost-event on multiple lost packets
10346 	  There is a problem with the code today, where a single timer will
10347 	  be scheduled for a series of lost packets, and then if the first packet
10348 	  in that series arrives, it will cause a rescheduling of that timer, going
10349 	  from a "multi"-timer to a single-timer, causing a lot of the packets
10350 	  in that timer to be unaccounted for, and creating a situation in where
10351 	  the jitterbuffer will never again push out another packet.
10352 	  This patch solves the problem by instead of scheduling those lost packets
10353 	  as another timer, it instead asks to have that lost-event pushed straight
10354 	  out.
10355 	  This very much goes with the intent of the code here: These packets are
10356 	  so desperately late that no cure exists, and we might as well get the
10357 	  lost-event out of the way and get on with it.
10358 	  This change has some interesting knock-on effect being presented in
10359 	  later commits. It completely removes the concept of "already-lost", so
10360 	  that is why that test has been disabled in this commit, to be
10361 	  removed later.
10362 
10363 2020-03-19 23:03:50 +0100  Havard Graff <havard.graff@gmail.com>
10364 
10365 	* tests/check/elements/rtpjitterbuffer.c:
10366 	  rtpjitterbuffer: rework large-gap tests
10367 	  Make sure to set the time the buffer is supposed to arrive at, so
10368 	  as not to trigger an artificial situation.
10369 
10370 2020-03-19 12:17:22 +0100  Havard Graff <havard.graff@gmail.com>
10371 
10372 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10373 	  rtpjitterbuffer: refactor lost_timeout code
10374 	  Split it up in code related to the timer, (do_lost_timeout) and code
10375 	  to insert a lost-item/event and update private jitterbuffer-variables.
10376 
10377 2019-10-18 17:43:36 +0200  Havard Graff <havard@pexip.com>
10378 
10379 	* tests/check/elements/rtpjitterbuffer.c:
10380 	* tests/check/elements/rtptimerqueue.c:
10381 	* tests/check/meson.build:
10382 	  test/check: split out rtptimerqueue-tests in a separate file
10383 
10384 2020-02-05 09:56:23 +0100  Dmitriy Purgin <dmitriy.purgin@sequality.at>
10385 
10386 	* ext/qt/qtplugin.pro:
10387 	  gstqmlgl: Link to opengl32.lib on MinGW
10388 
10389 2020-03-19 23:51:47 +0900  Seungha Yang <seungha@centricular.com>
10390 
10391 	* gst/isomp4/gstqtmux.c:
10392 	  qtmux: Fix build warning
10393 	  gstqtmux.c(644): warning C4133: '=':
10394 	  incompatible types - from 'gboolean (__cdecl *)(GstAggregator *,GstAggregatorPad *,GstEvent *)'
10395 	  to 'GstFlowReturn (__cdecl *)(GstAggregator *,GstAggregatorPad *,GstEvent *)'
10396 
10397 2020-03-19 23:05:49 +1100  Jan Schmidt <jan@centricular.com>
10398 
10399 	* gst/multifile/gstsplitmuxsink.c:
10400 	  splitmuxsink: Reset cleanly for reuse
10401 	  Reset the splitmuxsink completely when changing states so that
10402 	  it can be reused.
10403 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1241
10404 
10405 2020-02-17 22:37:10 -0600  Zebediah Figura <z.figura12@gmail.com>
10406 
10407 	* gst/audioparsers/gstmpegaudioparse.c:
10408 	* gst/audioparsers/gstmpegaudioparse.h:
10409 	  mpegaudioparse: Use a constant bit rate to convert between time and bytes if possible.
10410 	  This should result in no worse accuracy than the base parse element, and may
10411 	  result in better accuracy. In particular, the number of bytes processed at any
10412 	  given point, as accumulated by baseparse, can be only accurate to
10413 	  (1 / # of frames) bytes per second, and if we try to seek immediately after
10414 	  pausing the pipeline to a large offset, this small inaccuracy can propagate to
10415 	  something noticeable.
10416 	  The use case that prompted this patch is a 45-minute MPEG-1 layer 3 file, which
10417 	  has a constant bit rate but no seek tables. Trying to seek the pipeline
10418 	  immediately after pauisng it, without the ACCURATE flag, to a location 41
10419 	  minutes in, yields a location that is, even with <https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/374>,
10420 	  still audibly incorrect. This patch yields a much closer position, no longer
10421 	  audibly incorrect, and likely within a frame of the most correct position.
10422 
10423 2020-03-04 22:10:40 +0100  Mathieu Duponchelle <mathieu@centricular.com>
10424 
10425 	* gst/isomp4/gstqtmux.c:
10426 	  qtmux: fix renegotiation check
10427 	  By the time sink_event is called, the pad's current caps have
10428 	  already been updated. To address this, implement sink_event_pre_queue,
10429 	  and check if the pad can be renegotiated there.
10430 	  Fixes #707
10431 
10432 2020-03-12 20:34:47 +0900  Seungha Yang <seungha@centricular.com>
10433 
10434 	* gst/multifile/gstsplitmuxsink.c:
10435 	* gst/multifile/gstsplitmuxsink.h:
10436 	* tests/check/elements/splitmux.c:
10437 	  splitmuxsink: Decouple keyframe request and the decision for fragmentation
10438 	  Split the decision for keyframe request and fragmentation in order to
10439 	  ensure periodic keyframe request.
10440 
10441 2020-02-26 18:29:06 +1100  Matthew Waters <matthew@centricular.com>
10442 
10443 	* ext/qt/gstqtglutility.cc:
10444 	* ext/qt/gstqtoverlay.cc:
10445 	* ext/qt/qtglrenderer.cc:
10446 	* ext/qt/qtglrenderer.h:
10447 	* ext/qt/qtitem.cc:
10448 	* tests/examples/qt/qmloverlay/main.cpp:
10449 	* tests/examples/qt/qmloverlay/overlay2.qml:
10450 	* tests/examples/qt/qmloverlay/qmloverlay.qrc:
10451 	  qt: add a qml overlay filter element [part 2]
10452 	  It takes a qml scene description and renders it using a possible input
10453 	  stream.
10454 	  Currently supported on GLX and WGL.
10455 	  Follow up to (as that MR had an old version of the commit):
10456 	  - https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/475
10457 	  - 4778d7166a02caf793df4f845dc35b6933d87c81: qt: add a qml overlay filter element
10458 
10459 2020-02-26 18:29:06 +1100  Matthew Waters <matthew@centricular.com>
10460 
10461 	* ext/qt/gstplugin.cc:
10462 	* ext/qt/gstqtglutility.cc:
10463 	* ext/qt/gstqtglutility.h:
10464 	* ext/qt/gstqtoverlay.cc:
10465 	* ext/qt/gstqtoverlay.h:
10466 	* ext/qt/meson.build:
10467 	* ext/qt/qtglrenderer.cc:
10468 	* ext/qt/qtglrenderer.h:
10469 	* tests/examples/qt/meson.build:
10470 	* tests/examples/qt/qmloverlay/main.cpp:
10471 	* tests/examples/qt/qmloverlay/main.qml:
10472 	* tests/examples/qt/qmloverlay/meson.build:
10473 	* tests/examples/qt/qmloverlay/overlay.qml:
10474 	* tests/examples/qt/qmloverlay/qmloverlay.qrc:
10475 	  qt: add a qml overlay filter element
10476 	  It takes a qml scene description and renders it using a possible input
10477 	  stream.
10478 	  Currently supported on GLX and WGL.
10479 
10480 2020-02-25 21:47:14 +1100  Matthew Waters <matthew@centricular.com>
10481 
10482 	* ext/qt/gstqsgtexture.cc:
10483 	* ext/qt/qtitem.cc:
10484 	  qt: don't always activate/deactivate our GstGLContext
10485 	  Techincally it is enough to activate at the beginning and then forget.
10486 
10487 2020-02-04 19:43:52 +1100  Matthew Waters <matthew@centricular.com>
10488 
10489 	* tests/examples/qt/meson.build:
10490 	* tests/examples/qt/qmlsink-dynamically-added/.gitignore:
10491 	* tests/examples/qt/qmlsink-dynamically-added/main.cpp:
10492 	* tests/examples/qt/qmlsink-dynamically-added/main.qml:
10493 	* tests/examples/qt/qmlsink-dynamically-added/meson.build:
10494 	* tests/examples/qt/qmlsink-dynamically-added/play.pro:
10495 	* tests/examples/qt/qmlsink-dynamically-added/qmlsink.qrc:
10496 	  test/qml: add an dynamically adding qmlglsink element
10497 	  The example shows how to add qmlglsink to an already running pipeline
10498 	  with pre-existing OpenGL elements.
10499 
10500 2020-02-04 19:40:45 +1100  Matthew Waters <matthew@centricular.com>
10501 
10502 	* ext/qt/gstqtsink.cc:
10503 	  qmlglsink: propagate the context up the the application
10504 	  Allows the application to be notified of the OpenGL context creation.
10505 
10506 2020-02-03 15:59:34 +1100  Matthew Waters <matthew@centricular.com>
10507 
10508 	* ext/qt/qtitem.cc:
10509 	  qtitem: fix leak of caps
10510 
10511 2020-03-15 19:28:18 +0100  Niels De Graef <nielsdegraef@gmail.com>
10512 
10513 	* ext/wavpack/gstwavpackdec.h:
10514 	* ext/wavpack/gstwavpackenc.h:
10515 	  wavpack: Use G_DECLARE_FINAL_TYPE
10516 
10517 2020-03-15 19:26:18 +0100  Niels De Graef <nielsdegraef@gmail.com>
10518 
10519 	* ext/vpx/gstvp8dec.h:
10520 	* ext/vpx/gstvp8enc.h:
10521 	* ext/vpx/gstvp9dec.h:
10522 	* ext/vpx/gstvp9enc.h:
10523 	* ext/vpx/gstvpxdec.h:
10524 	* ext/vpx/gstvpxenc.h:
10525 	  vpx: Use G_DECLARE_FINAL_TYPE
10526 
10527 2020-03-15 19:22:00 +0100  Niels De Graef <nielsdegraef@gmail.com>
10528 
10529 	* ext/twolame/gsttwolamemp2enc.h:
10530 	  twolame: Use G_DECLARE_FINAL_TYPE
10531 
10532 2020-03-15 19:20:49 +0100  Niels De Graef <nielsdegraef@gmail.com>
10533 
10534 	* ext/taglib/gstapev2mux.h:
10535 	* ext/taglib/gstid3v2mux.h:
10536 	  taglib: Use G_DECLARE_FINAL_TYPE
10537 
10538 2020-03-15 19:18:39 +0100  Niels De Graef <nielsdegraef@gmail.com>
10539 
10540 	* ext/speex/gstspeexdec.h:
10541 	* ext/speex/gstspeexenc.h:
10542 	  speex: Use G_DECLARE_FINAL_TYPE
10543 
10544 2020-03-15 19:16:22 +0100  Niels De Graef <nielsdegraef@gmail.com>
10545 
10546 	* ext/soup/gstsouphttpclientsink.h:
10547 	  soup: Use G_DECLARE_FINAL_TYPE
10548 
10549 2020-03-15 19:14:17 +0100  Niels De Graef <nielsdegraef@gmail.com>
10550 
10551 	* ext/shout2/gstshout2.c:
10552 	* ext/shout2/gstshout2.h:
10553 	  shout2: Use G_DECLARE_FINAL_TYPE
10554 
10555 2020-03-15 19:11:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
10556 
10557 	* ext/raw1394/gst1394clock.h:
10558 	* ext/raw1394/gstdv1394src.c:
10559 	* ext/raw1394/gstdv1394src.h:
10560 	* ext/raw1394/gsthdv1394src.h:
10561 	  raw1394: Use G_DECLARE_FINAL_TYPE
10562 
10563 2020-03-15 19:06:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
10564 
10565 	* ext/qt/gstqtsink.h:
10566 	* ext/qt/gstqtsrc.h:
10567 	  qt: Use G_DECLARE_FINAL_TYPE
10568 
10569 2020-03-15 19:00:18 +0100  Niels De Graef <nielsdegraef@gmail.com>
10570 
10571 	* ext/pulse/pulsedeviceprovider.h:
10572 	* ext/pulse/pulsesink.h:
10573 	* ext/pulse/pulsesrc.h:
10574 	  pulse: Use G_DECLARE_FINAL_TYPE
10575 
10576 2020-03-15 18:54:33 +0100  Niels De Graef <nielsdegraef@gmail.com>
10577 
10578 	* ext/mpg123/gstmpg123audiodec.h:
10579 	  mpg123: Use G_DECLARE_FINAL_TYPE
10580 
10581 2020-03-15 18:52:57 +0100  Niels De Graef <nielsdegraef@gmail.com>
10582 
10583 	* ext/libpng/gstpng.h:
10584 	* ext/libpng/gstpngdec.h:
10585 	* ext/libpng/gstpngenc.h:
10586 	  libpng: Use G_DECLARE_FINAL_TYPE
10587 
10588 2020-03-15 18:49:53 +0100  Niels De Graef <nielsdegraef@gmail.com>
10589 
10590 	* ext/libcaca/gstcacasink.h:
10591 	* ext/libcaca/gstcacatv.h:
10592 	  libcaca: Use G_DECLARE_FINAL_TYPE
10593 
10594 2020-03-15 18:40:28 +0100  Niels De Graef <nielsdegraef@gmail.com>
10595 
10596 	* ext/lame/gstlamemp3enc.h:
10597 	  lame: Use G_DECLARE_FINAL_TYPE
10598 
10599 2020-03-14 17:52:38 +0100  Niels De Graef <nielsdegraef@gmail.com>
10600 
10601 	* ext/jack/gstjackaudiosink.h:
10602 	* ext/jack/gstjackaudiosrc.h:
10603 	  jack: Use G_DECLARE_FINAL_TYPE
10604 
10605 2020-03-14 17:43:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
10606 
10607 	* ext/gtk/gstgtkbasesink.h:
10608 	* ext/gtk/gstgtkglsink.h:
10609 	* ext/gtk/gstgtksink.h:
10610 	  gtk: Use G_DECLARE_FINAL_TYPE
10611 
10612 2020-03-13 18:47:49 +0100  Niels De Graef <nielsdegraef@gmail.com>
10613 
10614 	* ext/gdk_pixbuf/gstgdkpixbufdec.h:
10615 	* ext/gdk_pixbuf/gstgdkpixbufoverlay.h:
10616 	* ext/gdk_pixbuf/gstgdkpixbufsink.h:
10617 	  gdk_pixbuf: Use G_DECLARE_FINAL_TYPE
10618 
10619 2020-03-13 18:42:38 +0100  Niels De Graef <nielsdegraef@gmail.com>
10620 
10621 	* ext/flac/gstflacdec.h:
10622 	* ext/flac/gstflacenc.h:
10623 	* ext/flac/gstflactag.h:
10624 	  flax: Use G_DECLARE_FINAL_TYPE
10625 
10626 2020-03-13 18:39:38 +0100  Niels De Graef <nielsdegraef@gmail.com>
10627 
10628 	* ext/dv/gstdvdec.h:
10629 	* ext/dv/gstdvdemux.h:
10630 	  dv: Use G_DECLARE_FINAL_TYPE
10631 
10632 2020-03-12 19:24:57 +0100  Niels De Graef <nielsdegraef@gmail.com>
10633 
10634 	* ext/cairo/gstcairooverlay.h:
10635 	  cairo: Use G_DECLARE_FINAL_TYPE
10636 
10637 2020-03-12 19:20:42 +0100  Niels De Graef <nielsdegraef@gmail.com>
10638 
10639 	* ext/aalib/gstaasink.h:
10640 	* ext/aalib/gstaatv.h:
10641 	  aalib: Use G_DECLARE_FINAL_TYPE
10642 
10643 2020-03-12 16:55:44 +0000  Tim-Philipp Müller <tim@centricular.com>
10644 
10645 	* tests/check/elements/rtp-payloading.c:
10646 	  tests: rtp-payloading: add minimal vp8/vp9 rtp payloading/depayloading test
10647 
10648 2018-10-19 16:17:17 +0200  Stian Selnes <stian@pexip.com>
10649 
10650 	* gst/rtp/gstrtpvp8pay.c:
10651 	* gst/rtp/gstrtpvp9pay.c:
10652 	  rtpvp8pay, rtpvp9pay: fix caps leak in set_caps()
10653 
10654 2020-03-12 11:22:56 +0100  Edward Hervey <edward@centricular.com>
10655 
10656 	* gst/videomixer/videomixer2.c:
10657 	  videomixer: Don't leak peer caps
10658 
10659 2020-02-11 16:19:15 -0300  Thibault Saunier <tsaunier@igalia.com>
10660 
10661 	* docs/gst_plugins_cache.json:
10662 	* gst/multifile/gstimagesequencesrc.c:
10663 	* gst/multifile/gstimagesequencesrc.h:
10664 	* gst/multifile/gstmultifile.c:
10665 	* gst/multifile/meson.build:
10666 	  imagesequencesrc: Cleanup and add some features
10667 	  * Implement the GstURIHandlerInterface
10668 	  * Rework the locking
10669 	  * Implement backward seeking handling
10670 	  * Generate documentation
10671 
10672 2016-04-10 02:25:32 +0000  Fabian Orccon <fabian.orccon@pucp.pe>
10673 
10674 	* gst/multifile/gstimagesequencesrc.c:
10675 	* gst/multifile/gstimagesequencesrc.h:
10676 	  Add an imagesequencesrc element to stream sequence of images
10677 	  See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/121
10678 
10679 2020-03-05 08:55:44 -0800  Gordon Hart <gordon.hart2@gmail.com>
10680 
10681 	* sys/v4l2/gstv4l2src.c:
10682 	  v4l2src: decrease gst_v4l2src_create log verbosity
10683 	  Lower the verbosity of the 'sync' log message emitted
10684 	  each buffer from gst_v4l2src_create down to LOG(6)
10685 	  from INFO(4). This brings the logging behavior of
10686 	  v4l2src closer to the GStreamer guidelines, which
10687 	  recommend the INFO level be reserved for rare or
10688 	  one-off messages.
10689 
10690 2020-03-10 17:19:46 +0800  yychao <yychao@gmail.com>
10691 
10692 	* gst/isomp4/qtdemux.c:
10693 	  qtdemux: Add support for AC4
10694 	  The caps received from qtdemux for AC-4 content are audio/x-gst-fourcc-ac_4
10695 	  Based on patch by: Savinderjit Kaur
10696 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/413
10697 
10698 2020-03-10 21:07:12 +1100  Matthew Waters <matthew@centricular.com>
10699 
10700 	* gst/imagefreeze/gstimagefreeze.c:
10701 	* gst/imagefreeze/gstimagefreeze.h:
10702 	  imagefreeze: handle reconfigure events on the srcpad
10703 
10704 2020-03-05 22:47:16 +1100  Matthew Waters <matthew@centricular.com>
10705 
10706 	* gst/imagefreeze/gstimagefreeze.c:
10707 	  imagefreeze: properly ignore setting caps failures
10708 	  Ignore the return value of gst_pad_set_caps() so that setcaps will set a
10709 	  framerate that is usable.
10710 	  Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/705
10711 
10712 2020-03-05 22:45:32 +1100  Matthew Waters <matthew@centricular.com>
10713 
10714 	* gst/imagefreeze/gstimagefreeze.c:
10715 	  imagefreeze: don't fail sending sticky events downstream
10716 	  They will be repropagated anyway.
10717 
10718 2020-03-09 23:31:09 +0100  Markus Ebner <info@ebner-markus.de>
10719 
10720 	* gst/videocrop/gstvideocrop.c:
10721 	  videocrop: Add support for Y41B and Y42B
10722 
10723 2020-03-09 23:25:03 +0100  Markus Ebner <info@ebner-markus.de>
10724 
10725 	* gst/videocrop/gstvideocrop.c:
10726 	* gst/videocrop/gstvideocrop.h:
10727 	  videocrop: Add support for Y444
10728 	  - Refactored the planar transform method to support all video formats
10729 	  that are stored planar, independent of the used subsampling
10730 	  - Added support for Y444
10731 
10732 2020-03-09 23:23:50 +0100  Markus Ebner <info@ebner-markus.de>
10733 
10734 	* gst/videocrop/gstvideocrop.c:
10735 	  videocrop: Use G_VALUE_INIT to initialize GValues
10736 
10737 2020-02-28 19:35:34 +0200  Sebastian Dröge <sebastian@centricular.com>
10738 
10739 	* ext/jpeg/gstjpegdec.c:
10740 	  jpegdec: Configure JPEG chroma-siting for YUV formats
10741 
10742 2020-02-06 09:23:24 +0100  Ognyan Tonchev <ognyan@axis.com>
10743 
10744 	* gst/rtp/gstbuffermemory.c:
10745 	* gst/rtp/gstbuffermemory.h:
10746 	* gst/rtp/gstrtph264pay.c:
10747 	* gst/rtp/gstrtph265pay.c:
10748 	* gst/rtp/meson.build:
10749 	* tests/check/elements/rtph264.c:
10750 	  rtph26x: Use gst_memory_map() instead of gst_buffer_map() in avc mode
10751 	  gst_buffer_map () results in memcopying when a GstBuffer contains
10752 	  more than one GstMemory and when AVC (length-prefixed) alignment is used.
10753 	  This has quite an impact on performance on systems with limited amount of
10754 	  resources. With this patch the whole GstBuffer will not be mapped at once,
10755 	  instead each individual GstMemory will be iterated and mapped separately.
10756 
10757 2019-11-26 15:08:20 +0100  Milian Wolff <milian.wolff@kdab.com>
10758 
10759 	* ext/qt/gstqtgl.h:
10760 	  qmlgl: ensure Qt defines GLsync to fix compile on some platforms
10761 	  By explictly including QtGui/qopengl.h we force the code path that
10762 	  defines GLsync in the Qt-specific way. Without that, some platforms
10763 	  failed to compile the qmlgl plugin, since neither Qt nor gstreamer
10764 	  defined GLsync then, leading to e.g.:
10765 	  ```
10766 	  make[4]: Entering directory '/.../gst-plugins-good-1.16.1/ext/qt'
10767 	  CXX      libgstqmlgl_la-qtitem.lo
10768 	  In file included from gstqtgl.h:32,
10769 	  from qtitem.h:27,
10770 	  from qtitem.cc:28:
10771 	  /.../usr/include/gstreamer-1.0/
10772 	  gst/gl/gstglfuncs.h:93:17: error: expected identifier before ‘*’ token
10773 	  ret (GSTGLAPI *name) args;
10774 	  ^
10775 	  /.../usr/include/gstreamer-1.0/
10776 	  gst/gl/glprototypes/sync.h:27:1: note: in expansion of macro
10777 	  ‘GST_GL_EXT_FUNCTION’
10778 	  GST_GL_EXT_FUNCTION (GLsync, FenceSync,
10779 	  ^~~~~~~~~~~~~~~~~~~
10780 	  ```
10781 
10782 2020-03-02 13:50:55 +0100  Havard Graff <havard.graff@gmail.com>
10783 
10784 	* gst/rtpmanager/rtpsession.c:
10785 	* gst/rtpmanager/rtptwcc.c:
10786 	* gst/rtpmanager/rtptwcc.h:
10787 	  rtptwcc: make RTPTWCCManager a GObject
10788 
10789 2020-03-04 11:17:16 +0100  Havard Graff <havard@pexip.com>
10790 
10791 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10792 	* tests/check/elements/rtpjitterbuffer.c:
10793 	  rtpjitterbuffer: fix stalling when resetting timers
10794 	  When calling gst_rtp_jitter_buffer_reset you pass in a seqnum.
10795 	  This is considered the starting-point for a new stream.
10796 	  However, the old behavior would unref this buffer, basically lying to
10797 	  the thread that is pushing out buffers saying that it can expect
10798 	  this buffer, when it would never arrive. The resulting effect being no
10799 	  more buffer pushed out of the jitterbuffer, and it would buffer
10800 	  incoming data indefinitely.
10801 	  By instead inserting the buffer in the gap_packets queue, the _reset()
10802 	  function will take responsibility for using that as the first buffer
10803 	  of the new stream.
10804 	  Fixes #703
10805 
10806 2020-02-21 02:14:11 +1100  Jan Schmidt <jan@centricular.com>
10807 
10808 	* gst/multifile/gstsplitmuxpartreader.c:
10809 	* gst/multifile/gstsplitmuxpartreader.h:
10810 	* gst/multifile/gstsplitmuxsrc.c:
10811 	* tests/check/elements/splitmux.c:
10812 	  splitmux: Avoid negative DTS
10813 	  In order to concatenate fragments, splitmuxsrc offsets
10814 	  the start of each fragment PTS to 0 to align it with the
10815 	  previous file. This means that DTS can go negative for
10816 	  the first fragment, with really bad results.
10817 	  Add a fixed offset to outgoing timestamp ranges to
10818 	  avoid that.
10819 
10820 2020-03-04 03:43:51 +1100  Jan Schmidt <jan@centricular.com>
10821 
10822 	* gst/isomp4/gstqtmux.c:
10823 	  qtmux: Remove warning in the log for mono video
10824 	  Vanilla mono video was generating a spurious warning into the debug log
10825 	  that's just misleading. Handle mono caps explicitly to avoid the warning.
10826 
10827 2020-01-27 12:29:18 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10828 
10829 	* gst/deinterlace/gstdeinterlace.c:
10830 	* gst/deinterlace/gstdeinterlacemethod.c:
10831 	  deinterlace: add alternate support
10832 	  In this mode each field is carried using its own buffer.
10833 	  Allow deinterlace to negotiate caps with the Interlaced feature and
10834 	  adjust the algorithm fetching lines.
10835 	  Fix #620
10836 
10837 2020-02-03 13:08:39 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10838 
10839 	* gst/deinterlace/gstdeinterlacemethod.c:
10840 	  deinterlace: add wrapper to get field lines from history
10841 	  No semantic change so far, will be used to implement alternate support.
10842 
10843 2020-02-04 16:48:21 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10844 
10845 	* gst/deinterlace/gstdeinterlacemethod.c:
10846 	  deinterlace: stop checking line index boundaries
10847 	  The LINE2() macro already prevents out of bound indexes using CLAMP_HI()
10848 	  and CLAMP_LOW().
10849 
10850 2020-01-20 12:30:12 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10851 
10852 	* gst/deinterlace/gstdeinterlace.c:
10853 	* gst/deinterlace/gstdeinterlace.h:
10854 	  deinterlace: fix video info on output frames
10855 	  Output frames used to have their interlace mode set to the same one as
10856 	  the input. This breaks their field and comp heights when deinterlacing
10857 	  an alternate stream.
10858 
10859 2020-01-14 14:51:07 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
10860 
10861 	* gst/deinterlace/gstdeinterlace.c:
10862 	  deinterlace: use output caps to compute buffer size
10863 	  In interlace-mode=alternate the input buffers have half the size of the
10864 	  output ones as each field has its own buffer.
10865 
10866 2020-02-29 08:10:56 -0500  Jennifer Berringer <berringerjennifer@gmail.com>
10867 
10868 	* gst/audioparsers/gstflacparse.c:
10869 	  flacparse: fix broken reordering of flac metadata
10870 	  Each FLAC metadata block starts with a flag denoting whether it is the
10871 	  last metadata block. The existing flacparse code moves any existing
10872 	  VORBISCOMMENT block to immediately follow the STREAMINFO block without
10873 	  changing any block's last-metadata-block flag. If no VORBISCOMMENT block
10874 	  exists, it created one with the last-metadata-block flag set to true.
10875 	  This results in gstflacdec sometimes giving bad headers to libflac when
10876 	  trying to play perfectly valid FLAC files depending on the file's
10877 	  metadata ordering. Depending on the contents of the other metadata
10878 	  blocks, current versions of libflac may or may not return
10879 	  FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER when given this broken
10880 	  metadata. This is most noticeable with files that have a large cover art
10881 	  image attached where VORBISCOMMENT is the very last metadata block with
10882 	  no PADDING afterwards.
10883 	  This patch changes that behavior so that:
10884 	  1. For FLAC files that already have a VORBISCOMMENT block, the metadata
10885 	  order is preserved.
10886 	  2. For FLAC files that do not have a VORBISCOMMENT block, the generated
10887 	  dummy VORBISCOMMENT is placed immediately after STREAMINFO and
10888 	  inherits the last-metadata-block flag from STREAMINFO.
10889 	  https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/484
10890 
10891 2020-02-27 14:50:51 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
10892 
10893 	* tests/check/elements/flvmux.c:
10894 	  tests: flvmux: Instead of using the testclock, just send eos event for drain
10895 	  When using the testclock for determining clock in test, it is sometimes observed
10896 	  that the clock entry is not registered in time by the aggregator. So deadlock occurs
10897 	  between the aggregator and the test thread.
10898 
10899 2020-02-28 14:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
10900 
10901 	* gst/isomp4/qtdemux.c:
10902 	  qtdemux: Try to infer useful header values for raw audio if the sound sample descriptions contain zero values
10903 
10904 2020-02-28 14:00:51 +0200  Sebastian Dröge <sebastian@centricular.com>
10905 
10906 	* gst/isomp4/qtdemux.c:
10907 	  qtdemux: Also use the enda atom for determining endianess of in32, fl32 and fl64 formats
10908 	  Previously it was only used for in24.
10909 
10910 2020-02-28 13:59:42 +0200  Sebastian Dröge <sebastian@centricular.com>
10911 
10912 	* gst/isomp4/qtdemux.c:
10913 	  qtdemux: Fix up header information for various fixed-format raw audio formats
10914 	  Sometimes the headers contain useless, wrong or zero values for e.g. the
10915 	  sample size with these formats. There's only a single valid value for
10916 	  them so let's set these instead.
10917 
10918 2020-02-28 13:59:06 +0200  Sebastian Dröge <sebastian@centricular.com>
10919 
10920 	* gst/isomp4/qtdemux.c:
10921 	  qtdemux: Don't print "unhandled type" warnings for various other raw audio fourccs
10922 
10923 2020-02-28 13:57:37 +0200  Sebastian Dröge <sebastian@centricular.com>
10924 
10925 	* gst/isomp4/fourcc.h:
10926 	* gst/isomp4/qtdemux.c:
10927 	  qtdemux: Add some more raw audio fourccs to the header instead of duplicating them
10928 
10929 2020-02-25 21:14:54 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
10930 
10931 	* gst/rtpmanager/gstrtpjitterbuffer.c:
10932 	  rtpjitterbuffer: Don't use glib format modifiers with sscanf
10933 	  We do not have a way to know the format modifiers to use with string
10934 	  functions provided by the system. G_GUINT64_FORMAT and other string
10935 	  modifiers only work for glib string formatting functions. We cannot
10936 	  use them for string functions provided by the stdlib. See:
10937 	  https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
10938 	  ```
10939 	  ../gst/rtpmanager/gstrtpjitterbuffer.c: In function 'gst_jitter_buffer_sink_parse_caps':
10940 	  ../gst/rtpmanager/gstrtpjitterbuffer.c:1523:32: error: unknown conversion type character 'l' in format [-Werror=format=]
10941 	  || sscanf (mediaclk, "direct=%" G_GUINT64_FORMAT, &clock_offset) != 1)
10942 	  ^~~~~~~~~~
10943 	  In file included from /home/nirbheek/cerbero/build/dist/windows_x86/include/glib-2.0/glib/gtypes.h:32,
10944 	  from /home/nirbheek/cerbero/build/dist/windows_x86/include/glib-2.0/glib/galloca.h:32,
10945 	  from /home/nirbheek/cerbero/build/dist/windows_x86/include/glib-2.0/glib.h:30,
10946 	  from /home/nirbheek/cerbero/build/dist/windows_x86/include/gstreamer-1.0/gst/gst.h:27,
10947 	  from /home/nirbheek/cerbero/build/dist/windows_x86/include/gstreamer-1.0/gst/rtp/gstrtpbuffer.h:27,
10948 	  from ../gst/rtpmanager/gstrtpjitterbuffer.c:108:
10949 	  /home/nirbheek/cerbero/build/dist/windows_x86/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
10950 	  #define G_GUINT64_FORMAT "llu"
10951 	  ^
10952 	  ../gst/rtpmanager/gstrtpjitterbuffer.c:1523:32: error: too many arguments for format [-Werror=format-extra-args]
10953 	  || sscanf (mediaclk, "direct=%" G_GUINT64_FORMAT, &clock_offset) != 1)
10954 	  ^~~~~~~~~~
10955 	  ```
10956 	  See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/379
10957 
10958 2020-02-24 15:25:07 +0200  Sebastian Dröge <sebastian@centricular.com>
10959 
10960 	* gst/isomp4/gstqtmux.c:
10961 	  qtmux: Add support for 8k resolutions in prefill mode with ProRes
10962 
10963 2020-02-25 11:06:43 +0200  Sebastian Dröge <sebastian@centricular.com>
10964 
10965 	* gst/rtpmanager/rtptimerqueue.c:
10966 	  rtpjitterbuffer: Include string.h for memcpy() / memset()
10967 	  Usually something else is pulling it in somehow already, but not on
10968 	  Windows.
10969 
10970 2020-02-24 13:06:27 +0000  Håvard Graff <havard.graff@gmail.com>
10971 
10972 	* gst/rtpmanager/rtpsession.c:
10973 	* tests/check/elements/rtpsession.c:
10974 	  rtpsession: fix crash when no extension-header present for twcc
10975 
10976 2020-02-21 09:34:30 +0100  Johan Bjäreholt <johanbj@axis.com>
10977 
10978 	* gst/matroska/matroska-mux.c:
10979 	  matroska-mux: Fix incorrect rounding of timestamps
10980 	  Previously we saved the buffer_timestamp straight into
10981 	  mux->cluster_time. Since the cluster time saved into the file does not
10982 	  have as high precision as GstClockTime depending on the timecodescale
10983 	  the rounding of relative_timestamp was invalid as mux->cluster_time
10984 	  which it was calculated relative to was not equal to the cluster time
10985 	  written to the matroska file.
10986 	  Example of "mkvinfo -v" of how it looks before and after this change in
10987 	  an scenario where previously timestamps got out of order because of this
10988 	  issue.
10989 	  Notice the timestamp of the SimpleBlock right before and right after the
10990 	  Cluster now being in order. The consequence of this however is that the
10991 	  cluster timestamp is not necessarily the same as the timestamp of the
10992 	  first buffer in the cluster however (in case it's rounded up).
10993 	  Before
10994 	  | + SimpleBlock (track number 1, 1 frame(s), timecode 126.922s = 00:02:06.922)
10995 	  |  + Frame with size 432
10996 	  | + SimpleBlock (track number 2, 1 frame(s), timecode 126.933s = 00:02:06.933)
10997 	  |  + Frame with size 329
10998 	  | + SimpleBlock (track number 2, 1 frame(s), timecode 126.955s = 00:02:06.955)
10999 	  |  + Frame with size 333
11000 	  |+ Cluster
11001 	  | + Cluster timecode: 126.954s
11002 	  | + Cluster previous size: 97344
11003 	  | + SimpleBlock (key, track number 1, 1 frame(s), timecode 126.954s = 00:02:06.954)
11004 	  |  + Frame with size 61239
11005 	  | + SimpleBlock (track number 2, 1 frame(s), timecode 126.975s = 00:02:06.975)
11006 	  |  + Frame with size 338
11007 	  After
11008 	  | + SimpleBlock (track number 1, 1 frame(s), timecode 135.456s = 00:02:15.456)
11009 	  |  + Frame with size 2260
11010 	  | + SimpleBlock (track number 2, 1 frame(s), timecode 135.468s = 00:02:15.468)
11011 	  |  + Frame with size 332
11012 	  | + SimpleBlock (track number 2, 1 frame(s), timecode 135.490s = 00:02:15.490)
11013 	  |  + Frame with size 335
11014 	  |+ Cluster
11015 	  | + Cluster timecode: 135.489s
11016 	  | + Cluster previous size: 158758
11017 	  | + SimpleBlock (key, track number 1, 1 frame(s), timecode 135.490s = 00:02:15.490)
11018 	  |  + Frame with size 88070
11019 	  | + SimpleBlock (track number 2, 1 frame(s), timecode 135.511s = 00:02:15.511)
11020 	  |  + Frame with size 336
11021 
11022 2020-02-19 15:59:19 +1100  Jake Barnes <jake@vivi.io>
11023 
11024 	* ext/soup/gstsouphttpsrc.c:
11025 	  souphttpsrc: Fix cookies property
11026 	  Disable session sharing and cookie jar when cookies property is set.
11027 	  The cookie jar actually replaces or removes any existing Cookie header
11028 	  set on the message, so the cookies property was effectively being
11029 	  ignored. There doesn't appear to be a way to inject the cookies into the
11030 	  jar without having to specify matching domains etc., so it's not
11031 	  possible to simulate the old behaviour of unconditionally sending the
11032 	  cookies with all messages, besides simply disabling the cookie jar.
11033 
11034 2020-02-20 09:06:10 +0100  Stefano Buora <sbuora@marchnetworks.com>
11035 
11036 	* gst/rtsp/gstrtspsrc.c:
11037 	  rtspsrc: remove useless function calls
11038 	  Comparing gst_rtspsrc_loop_interleaved and gst_rtspsrc_loop_udp, and investigating on timeout issues, it sounds like a piece of code has been originally copied from udp to the interleaved one. The timeout variable is never used inside the interleaved one. No side effect has been seen in the removed function calls.
11039 	  The debug message removed is pointless as the timeout used is "src->tcp_timeout" that is fixed.
11040 	  The presence of the two timeout drove my team in investigating if the reference to the tcp_timeout was correct (it is). Hence we removed the misleading reference to the local timeout variable.
11041 
11042 2020-02-20 13:43:13 +1100  Matthew Waters <matthew@centricular.com>
11043 
11044 	* gst/rtpmanager/gstrtpbin.c:
11045 	  rtpbin: fix typo setting max-dropout/misorder-time
11046 	  we were setting the max-dropout-time to the value of the
11047 	  max-misorder-time which by default has a factor of 30 difference in
11048 	  value.
11049 
11050 2020-02-19 20:27:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
11051 
11052 	* gst/isomp4/fourcc.h:
11053 	* gst/isomp4/qtdemux.c:
11054 	  qtdemux: Parse VP Codec Configuration Box
11055 	  The VP Codec Configuration Box (vpcC) contains vp9 profile and
11056 	  colorimetry information. Especially the profile information might
11057 	  be useful for downstream to select capable decoder element.
11058 
11059 2020-02-18 18:36:36 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
11060 
11061 	* tests/check/elements/flvmux.c:
11062 	  tests: flvmux: Add test for rollover timestamp
11063 	  The timestamps that exceed uint32 maximum value should be handled to rollover.
11064 
11065 2020-02-18 14:58:00 +0900  Yeongjin Jeong <yeongjin.jeong@navercorp.com>
11066 
11067 	* gst/flv/gstflvmux.c:
11068 	  flvmux: Support rollover in timestamp
11069 	  For live streams, if we keep the stream for a long time, the timestamp
11070 	  will be larger than max_uint32. In that case, timestamp should be handled
11071 	  as a rollover timestamp rather than a backward timestamp.
11072 
11073 2020-02-17 15:03:28 +0100  Havard Graff <havard@pexip.com>
11074 
11075 	* gst/rtpmanager/gstrtpjitterbuffer.c:
11076 	  rtpjitterbuffer: don't use the timer-object after JBUF_UNLOCK
11077 	  It could have been freed (rtp_timer_free) in the meantime.
11078 
11079 2019-06-29 18:06:11 +0200  Havard Graff <havard.graff@gmail.com>
11080 
11081 	* gst/rtpmanager/gstrtpsession.c:
11082 	* gst/rtpmanager/meson.build:
11083 	* gst/rtpmanager/rtpsession.c:
11084 	* gst/rtpmanager/rtpsession.h:
11085 	* gst/rtpmanager/rtpsource.c:
11086 	* gst/rtpmanager/rtpstats.c:
11087 	* gst/rtpmanager/rtpstats.h:
11088 	* gst/rtpmanager/rtptwcc.c:
11089 	* gst/rtpmanager/rtptwcc.h:
11090 	* tests/check/elements/rtpsession.c:
11091 	  rtpmanager: Google Transport-Wide Congestion Control RTP Extension
11092 	  Generating and parsing the RTCP-messages described in:
11093 	  https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01
11094 
11095 2020-02-14 10:08:05 +0000  Håvard Graff <havard.graff@gmail.com>
11096 
11097 	* gst/rtpmanager/gstrtpfunnel.c:
11098 	* tests/check/elements/rtpfunnel.c:
11099 	  rtpfunnel: various cleanups
11100 	  * Organize GstRtpFunnelPad and GstRtpFunnel separately
11101 	  * Use G_GNUC_UNUSED instead of (void) casts
11102 	  * Don't call an event "caps"
11103 	  * Use semicolons after GST_END_TEST (helps gst-indent)
11104 
11105 2020-01-29 23:51:45 +0200  Sebastian Dröge <sebastian@centricular.com>
11106 
11107 	* gst/isomp4/qtdemux.c:
11108 	  qtdemux: Merge sample tables for raw audio streams with one container sample per audio sample
11109 	  Instead of having chunks with one sample per raw audio sample, have
11110 	  chunks with a single sample that contains lots of raw audio samples. If
11111 	  necessary these are still split again later when reading the stream.
11112 	  With this we are allocating a lot less memory for the parsed sample
11113 	  tables and can play files that previously triggered our limit of 200MB
11114 	  for the sample table. For example, one file here would previously
11115 	  allocate 3.5GB for the sample table and now only allocates 70KB.
11116 
11117 2020-01-13 11:55:42 +0200  Sebastian Dröge <sebastian@centricular.com>
11118 
11119 	* gst/isomp4/qtdemux.c:
11120 	  qtdemux: Add a minimum buffer size for raw audio to not output one buffer per frame
11121 	  Outputting 48000 buffers per second is not a good idea performance-wise.
11122 	  If a container sample is less than 1024 raw audio frames, combine
11123 	  multiple samples to get at least 1024 raw audio samples as long as
11124 	  they're stored contiguous in the file.
11125 	  For the other direction, if a container sample contains more than 4096
11126 	  samples there is already code for splitting them up.
11127 	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692750
11128 
11129 2020-02-11 21:52:41 +0100  Mathieu Duponchelle <mathieu@centricular.com>
11130 
11131 	* gst/rtsp/gstrtspsrc.c:
11132 	  rtspsrc: fix requested range
11133 	  When the server replies with a range "now-", it is presumed to
11134 	  be a "live" stream and we should request a similar range.
11135 	  This was the case prior to my refactoring to make use of
11136 	  gst_rtsp_range_to_string in 5f1a732bc7b76a6f1b8aa5f26b6e76fbca0261c7,
11137 	  this commit restores the behaviour for that case.
11138 
11139 2017-07-13 13:49:07 +0200  Mikhail Fludkov <misha@pexip.com>
11140 
11141 	* gst/rtpmanager/gstrtpptdemux.c:
11142 	* tests/check/elements/rtpptdemux.c:
11143 	* tests/check/meson.build:
11144 	  rtpptdemux: set payload to caps inside gst_rtp_pt_demux_get_caps
11145 	  Refactoring to remove duplicate code and add test
11146 
11147 2017-03-16 20:57:54 +0100  Stian Selnes <stian@pexip.com>
11148 
11149 	* gst/rtpmanager/gstrtpptdemux.c:
11150 	  rtpptdemux: Fix debug to use GST_DEBUG_OBJECT
11151 
11152 2016-09-14 16:49:26 +0200  Mikhail Fludkov <misha@pexip.com>
11153 
11154 	* gst/rtpmanager/gstrtpbin.c:
11155 	  rtpbin: use max-streams on rtpssrcdemux
11156 	  The proper way of capping on max-streams is to do it in rtpssrcdemux.
11157 	  This patch uses the newly introduced property on rtpssrcdemux. Previous
11158 	  behavior would not prevent rtpssrcdemux spawning new pads for every new
11159 	  ssrc and potentialy causing performance trouble during teardown.
11160 
11161 2017-01-18 14:32:03 +0000  John Bassett <john.bassett@pexip.com>
11162 
11163 	* gst/rtpmanager/gstrtpssrcdemux.c:
11164 	* tests/check/elements/rtpssrcdemux.c:
11165 	  rtpssrcdemux: Handle RTCP APP packets
11166 	  Fix crash when processing RTCP APP packets.
11167 
11168 2017-01-12 16:05:59 +0000  John Bassett <john.bassett@pexip.com>
11169 
11170 	* gst/rtpmanager/gstrtpssrcdemux.c:
11171 	* tests/check/elements/rtpssrcdemux.c:
11172 	  rtpssrcdemux: Bad RTP/RTCP packet is not fatal
11173 	  When used for processing bundled media streams within rtpbin the rtpssrcdemux element may
11174 	  receive bad RTP and RTCP packets, these should not be treated as a fatal error.
11175 
11176 2016-09-14 16:41:02 +0200  Mikhail Fludkov <misha@pexip.com>
11177 
11178 	* gst/rtpmanager/gstrtpssrcdemux.c:
11179 	* gst/rtpmanager/gstrtpssrcdemux.h:
11180 	* tests/check/elements/rtpssrcdemux.c:
11181 	  rtpssrcdemux: introduce max-streams property
11182 	  The property is useful against atacks when the sender changes SSRC for
11183 	  every RTP packet. The property with the same name introduced in rtpbin
11184 	  was not enough, because we still can end up with thousands of pads
11185 	  allocated in rtpssrcdemux.
11186 
11187 2020-02-10 14:22:47 +0100  Havard Graff <havard@pexip.com>
11188 
11189 	* tests/check/elements/rtpssrcdemux.c:
11190 	  rtpssrcdemux: fix test warnings
11191 
11192 2020-02-07 10:03:49 +0100  Alexander Lapajne <alexander.lapajne@axis.com>
11193 
11194 	* gst/rtsp/gstrtspsrc.c:
11195 	  rtspsrc: Fix for segmentation fault when handling set/get_parameter requests
11196 	  gstrtspsrc uses a queue, set_get_param_q, to store set param and get
11197 	  param requests. The requests are put on the queue by calling
11198 	  get_parameters() and set_parameter(). A thread which executs in
11199 	  gst_rtspsrc_thread() then pops requests from the queue and processes
11200 	  them. The crash occured because the queue became empty and a NULL
11201 	  request object was then used. The reason that the queue became empty
11202 	  is that it was popped even when the thread was NOT processing a get
11203 	  parameter or set parameter command. The fix is to make sure that the
11204 	  queue is ONLY popped when the command being processed is a set
11205 	  parameter or get parameter command.
11206 
11207 2019-09-27 16:52:06 -0400  Olivier Crête <olivier.crete@collabora.com>
11208 
11209 	* gst/rtpmanager/rtpsource.c:
11210 	* tests/check/elements/rtpsession.c:
11211 	  rtpsession: Add test for packet rate maths
11212 
11213 2019-09-10 19:03:02 +0100  olivier.crete@collabora.com <Olivier Crête>
11214 
11215 	* gst/rtpmanager/rtpstats.c:
11216 	  rtpstats: Base the packet rate average on the packet rate itself
11217 	  Do this so that the average update speed is in time instead of varying
11218 	  based on the actual packet arrival rate.
11219 
11220 2019-09-10 18:59:02 +0100  olivier.crete@collabora.com <Olivier Crête>
11221 
11222 	* gst/rtpmanager/rtpstats.c:
11223 	  rtpstats: Don't save the ts & seqnum if the avg is not updated
11224 	  This makes it update correctly when you have more than one packet per
11225 	  frame.
11226 
11227 2020-02-05 12:48:45 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
11228 
11229 	* sys/v4l2/gstv4l2object.c:
11230 	  v4l2: map GST_VIDEO_FORMAT_BGR15
11231 	  The GstVideoFormat to v4l2 conversion was missing for BGR15.
11232 
11233 2020-02-05 12:00:00 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
11234 
11235 	* sys/v4l2/gstv4l2object.c:
11236 	  v4l2: fix crash on invalid caps
11237 	  gst_v4l2_object_set_format_full() was returning FALSE without setting
11238 	  an error. Caller code (gst_v4l2src_fixate()) was then derefing a
11239 	  NULL pointer when trying to handle the error.
11240 
11241 2020-01-27 16:00:30 +0200  Sebastian Dröge <sebastian@centricular.com>
11242 
11243 	* gst/multifile/gstsplitmuxsink.c:
11244 	  splitmuxsink: Include actual sink element in the fragment-opened/closed messages
11245 	  If not configuring the sinks via the "location" property this can be
11246 	  useful to know for which sink the fragment was actually opened/closed,
11247 	  especially if finalization of the fragments is happening asynchronously.
11248 
11249 2020-01-29 12:05:07 +0100  Juergen Werner <pogojotz@gmx.net>
11250 
11251 	* gst/rtpmanager/rtpjitterbuffer.c:
11252 	  rtpjitterbuffer: fix scaling from RTP-time to NTP-time
11253 	  The scaling was inverse.
11254 
11255 2020-01-27 23:59:05 +0100  Mathieu Duponchelle <mathieu@centricular.com>
11256 
11257 	* gst/rtpmanager/gstrtprtxsend.c:
11258 	* gst/rtpmanager/gstrtprtxsend.h:
11259 	* tests/check/elements/rtprtx.c:
11260 	  rtprtxsend: allow generic input caps
11261 	  When connected to an upstream rtpfunnel element, payload-type,
11262 	  ssrc and clock-rate will not be present in the received caps.
11263 	  rtprtxsend can already deal with only the clock rate being
11264 	  present there, a new property is exposed to allow users to
11265 	  provide a payload-type -> clock-rate map, this enables the
11266 	  use of the max-size-time property for bundled streams.
11267 
11268 2020-01-27 15:17:27 -0800  Julien Isorce <jisorce@oblong.com>
11269 
11270 	* ext/vpx/gstvpxenc.c:
11271 	  vp8enc/vp8enc: set 1 for the default value of VP8E_SET_STATIC_THRESHOLD
11272 	  In Google webrtc, the setting VP8E_SET_STATIC_THRESHOLD is set to 1
11273 	  (except when the content is known to be static very often in which
11274 	  case it is set to 100, i.e. when sharing screen with Google Hangouts).
11275 	  The cpu usage drops a lot when using 1 for above setting because it
11276 	  allows the encoder to skip static/low content blocks. The current
11277 	  0 default value uses too much cpu and confuses the user regarding
11278 	  the cpu usage expectations. User expects vp8enc to use low cpu by
11279 	  default.
11280 	  Documentation of VP8E_SET_STATIC_THRESHOLD:
11281 	  https://github.com/webmproject/libvpx/blob/master/vpx/vp8cx.h#L188
11282 	  chromium/webrtc:
11283 	  https://chromium.googlesource.com/external/webrtc/+/b484ec0082948ae086c2ba4142b4d2bf8bc4dd4b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc#822
11284 	  Closes #58
11285 
11286 2020-01-27 17:16:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
11287 
11288 	* ext/jpeg/gstjpegdec.c:
11289 	  jpegdec: Check return value of gst_buffer_map()
11290 	  Without this check, the element will crash instead of returning an
11291 	  error.
11292 
11293 2020-01-27 15:52:42 +0200  Sebastian Dröge <sebastian@centricular.com>
11294 
11295 	* gst/multifile/gstsplitmuxsink.c:
11296 	  splitmuxsink: Check the correct sink class for the existence of the "location" property
11297 
11298 2020-01-13 11:58:12 +0200  Sebastian Dröge <sebastian@centricular.com>
11299 
11300 	* gst/isomp4/qtdemux.c:
11301 	  qtdemux: Always prefer information from v1/v2 sound sample description over sample description entry
11302 	  ffmpeg is doing the same and various files in the wild have bogus
11303 	  information in the sample description if the same information is also
11304 	  duplicated afterwards in the v1/v2 sound sample desription.
11305 	  Previously we only did this for non-raw audio due to
11306 	  https://bugzilla.gnome.org/show_bug.cgi?id=374914
11307 	  but this specific file is already worked around differently. It still
11308 	  works after this change.
11309 	  Also remove ad-hoc GST_READ_DOUBLE_BE re-implementation and move the
11310 	  switch for legacy audio formats after reading all the sample
11311 	  descriptions as we want to override the values from there.
11312 
11313 2020-01-13 20:02:58 +0200  Sebastian Dröge <sebastian@centricular.com>
11314 
11315 	* gst/avi/gstavimux.c:
11316 	* gst/avi/gstavimux.h:
11317 	  avimux: Add support for >2 raw audio channels
11318 	  For this case write a WAVEFORMATEXTENSIBLE header and also reorder the
11319 	  raw audio channels to the AVI channel order if needed.
11320 
11321 2020-01-13 20:07:01 +0200  Sebastian Dröge <sebastian@centricular.com>
11322 
11323 	* gst/wavenc/gstwavenc.c:
11324 	  wavenc: Fix writing of the channel mask with >2 channels
11325 	  The channel position is an enum but the conversion code assumed it's a
11326 	  mask. Convert accordingly.
11327 
11328 2020-01-10 16:30:33 +0100  Kristofer Björkström <kristofb@axis.com>
11329 
11330 	* gst/rtp/gstrtph265pay.c:
11331 	* tests/check/elements/rtph265.c:
11332 	  rtph265pay: TID for NALU type 48 was always set to 7
11333 	  A typo bug: | instead of & resulted in TID alwasy being set to 7
11334 	  for the aggregated NALU of type 48
11335 
11336 2020-01-10 14:54:26 +0200  Sebastian Dröge <sebastian@centricular.com>
11337 
11338 	* gst/imagefreeze/gstimagefreeze.c:
11339 	* gst/imagefreeze/gstimagefreeze.h:
11340 	  imagefreeze: Add support for replacing the output buffer
11341 	  By default imagefreeze will still reject new buffers after the first one
11342 	  and immediately return GST_FLOW_EOS but the new allow-replace property
11343 	  allows to change this.
11344 	  Whenever updating the buffer we now also keep track of the configured
11345 	  caps of the buffer and from the source pad task negotiate correctly
11346 	  based on the potentially updated caps.
11347 	  Only the very first time negotiation of a framerate with downstream is
11348 	  performed, afterwards only the caps themselves apart from the framerate
11349 	  are updated.
11350 
11351 2020-01-09 18:43:02 +0000  Alicia Boya García <ntrrgc@gmail.com>
11352 
11353 	* gst/isomp4/qtdemux.c:
11354 	  qtdemux: Fix race on pad reconnection
11355 	  Elements emitting frames through several srcpads should use a
11356 	  flow combiner to aggregate the chain returns and therefore only return
11357 	  GST_FLOW_NOT_LINKED to upstream when all the downstream pads have
11358 	  received GST_FLOW_NOT_LINKED.
11359 	  In addition to that, in order to handle pads being relinked downstream,
11360 	  the flow combiner should be reset in response to RECONFIGURE events.
11361 	  This ensures that a both srcpads process a chain operation before a
11362 	  GST_FLOW_NOT_LINKED can be propagated upstream (which would usually stop
11363 	  the pipeline).
11364 	  Otherwise, in a configuration with two srcpads, only one linked at a
11365 	  time, after the relink the element could chain data through the now
11366 	  unlinked pad and the flow combiner would resolve as GST_FLOW_NOT_LINKED
11367 	  (stopping the pipeline) just because the now linked pad has not been
11368 	  chained yet to update the flow combiner.
11369 	  This patch adds handling of RECONFIGURE events to qtdemux. Also, since
11370 	  this event handling causes the flow combiner to be used from a thread
11371 	  other than the qtdemux streaming thread, usages of the flow combiner
11372 	  has been guarded by the object lock.
11373 
11374 2020-01-07 01:20:24 +0900  Seungha Yang <seungha.yang@navercorp.com>
11375 
11376 	* gst/multifile/gstsplitmuxsink.c:
11377 	  splitmuxsink: Fix assertion failure on set_property()
11378 	  GValue might have null object.
11379 	  (gst-inspect-1.0:10304): GStreamer-CRITICAL ...
11380 	  gst_object_ref_sink: assertion 'object != NULL' failed
11381 
11382 2020-01-03 15:16:02 +0100  Daniel Molkentin <daniel@molkentin.de>
11383 
11384 	* gst/videocrop/gstvideocrop.c:
11385 	  videocrop: allow properties to be animated by GstController
11386 
11387 2019-12-24 08:24:51 -0500  Aaron Boxer <aaron.boxer@collabora.com>
11388 
11389 	* gst/rtsp/gstrtspsrc.c:
11390 	  rtspsrc: improved handling of control concatenation with base
11391 	  Also, `control_url` variable has been renamed to `control_path`,
11392 	  as it is actually a path.
11393 
11394 2019-12-06 12:34:15 -0500  Aaron Boxer <aaron.boxer@collabora.com>
11395 
11396 	* gst/rtsp/gstrtspsrc.c:
11397 	  rtspsrc: append aggregate control string to base URL before query string
11398 	  Appending control string to end of query changes meaning of query string
11399 	  Fixes #650
11400 
11401 2019-12-28 23:01:19 +0000  Eric Marks <bigmarkslp@gmail.com>
11402 
11403 	* ext/aalib/gstaasink.c:
11404 	* ext/aalib/gstaatv.c:
11405 	* ext/aalib/gstaatv.h:
11406 	* ext/aalib/meson.build:
11407 	* ext/libcaca/gstcacasink.c:
11408 	* ext/libcaca/gstcacatv.c:
11409 	* ext/libcaca/gstcacatv.h:
11410 	* ext/libcaca/meson.build:
11411 	  aasink & cacasink: add filter aatv & cacatv
11412 	  Add transform filter capabilities to aasink and cacasink in the form of new elements aatv and cacatv.
11413 
11414 2019-06-06 11:03:34 +0200  Niels De Graef <niels.degraef@barco.com>
11415 
11416 	* gst/alpha/gstalpha.h:
11417 	* gst/alpha/gstalphacolor.h:
11418 	  alpha: Cleanup using G_DECLARE_FINAL_TYPE
11419 	  We started depending on GLib 2.44, so we can clean up all the GObject
11420 	  boilerplate macros.
11421 
11422 2019-12-18 16:07:18 +0100  Stéphane Cerveau <scerveau@collabora.com>
11423 
11424 	* ext/shout2/gstshout2.c:
11425 	* gst/multipart/multipartmux.c:
11426 	* sys/ximage/gstximagesrc.c:
11427 	  good: use of g_value_dup_string
11428 	  Use helper method to get string from GValue.
11429 
11430 2019-12-19 23:48:09 +0100  Havard Graff <havard.graff@gmail.com>
11431 
11432 	* gst/rtpmanager/gstrtpbin.c:
11433 	* tests/check/elements/rtpbin.c:
11434 	  rtpbin: fix shutdown crash in rtpbin
11435 	  The key is to make sure the jitterbuffer is set to NULL *before* the
11436 	  ptdemux.
11437