Skip to content
Snippets Groups Projects
  1. Jan 13, 2021
  2. Jan 12, 2021
  3. Jan 05, 2021
  4. Jan 04, 2021
  5. Jan 01, 2021
    • Mathieu Duponchelle's avatar
      compositor/blend: fix blending of subsampled components · 0fdc1ca8
      Mathieu Duponchelle authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      The correct way to determine the byte offset at a certain yoffset
      in a subsampled component is to shift the yoffset by the component's
      hsub
      
      This fixes out-of-bounds memory accesses and visible artefacts,
      example pipeline with the samples from #802:
      
      gst-launch-1.0 compositor name=vmixer sink_1::xpos=1910 sink_1::ypos=1080 ! \
          videoconvert ! videorate ! xvimagesink \
        filesrc location=VID_20200723_203606.mp4 ! decodebin name=demux1 ! \
          queue ! videoflip method=vertical-flip ! vmixer. \
        filesrc location=bridgeoverstubbledwater.mp4 ! decodebin name=demux2 ! \
          queue ! vmixer.
      
      Part-of: <gstreamer/gst-plugins-base!989>
      0fdc1ca8
  6. Dec 31, 2020
    • Mathieu Duponchelle's avatar
      appsrc: fix signal documentation · a85b149f
      Mathieu Duponchelle authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      Part-of: <gstreamer/gst-plugins-base!993>
      a85b149f
    • Edward Hervey's avatar
      videoaggregator: Pop out old buffers on timeout · 8149de13
      Edward Hervey authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      This situation happens in the situation where an input stream has a framerate
      exceeding the timeout latency (Ex: 1fps with a latency of 500ms) and an input
      stream greater than output framerate (ex: 60fps in, 30 fps out).
      
      The problem that would happen is that we would timeout, but then buffers from
      the fast input stream would only be popped out one by one.... until a buffer
      reaches the low-framerate input stream at which point they would quickly be
      popped out/used. The resulting output would be "slow ... fast ... slow ... fast"
      of that input fast stream.
      
      In order to avoid this situation, whenever we detect a late buffer, check if
      there's a next one and re-check with that one.
      
      Part-of: <gstreamer/gst-plugins-base!991>
      8149de13
  7. Dec 15, 2020
  8. Dec 14, 2020
    • Jordan Petridіs's avatar
      libvisual: workaround clang warning · a26d82ba
      Jordan Petridіs authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      libvisual api expects a priv data pointer to be passed, though we know its
      going to be `GstDebugLevel`.
      
      ```
      ../subprojects/gst-plugins-base/ext/libvisual/plugin.c:33:39: error: cast to smaller integer type 'GstDebugLevel' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
       GST_CAT_LEVEL_LOG (libvisual_debug, (GstDebugLevel) (priv), NULL, "%s - %s",
      ```
      
      Part-of: <gstreamer/gst-plugins-base!976>
      a26d82ba
  9. Dec 11, 2020
  10. Dec 06, 2020
  11. Dec 05, 2020
  12. Dec 04, 2020
  13. Dec 02, 2020
  14. Nov 19, 2020
  15. Nov 11, 2020
  16. Nov 10, 2020
  17. Nov 09, 2020
  18. Nov 05, 2020
    • He Junyan's avatar
      gluploadelement: Avoid race condition of inside upload creation. · 2cfa9298
      He Junyan authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      The operations for the inside GstGLUploadElement->upload have race
      condition. The _transform_caps() will creates this object if it does
      not exist, while the _stop() and change_state() can destroy this object.
      The _transform_caps() is called by the gst_base_transform_query(),
      so it does not hold the stream lock. It may use the upload while the
      _stop() and change_state() has already destroy that object, and then
      crash.
      
      Fix: #645
      Part-of: <gstreamer/gst-plugins-base!920>
      2cfa9298
  19. Nov 04, 2020
  20. Nov 02, 2020
  21. Oct 30, 2020
Loading