Skip to content
Snippets Groups Projects
  1. Mar 15, 2021
    • Tim-Philipp Müller's avatar
      Release 1.18.4 · 941312f3
      Tim-Philipp Müller authored
    • Sebastian Dröge's avatar
      matroskademux: Fix extraction of multichannel WavPack · 91811915
      Sebastian Dröge authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      The old code had a couple of issues that all lead to potential memory
      safety bugs.
      
        - Use a constant for the Wavpack4Header size instead of using sizeof.
          It's written out into the data and not from the struct and who knows
          what special alignment/padding requirements some C compilers have.
        - gst_buffer_set_size() does not realloc the buffer when setting a
          bigger size than allocated, it only allows growing up to the maximum
          allocated size. Instead use a GstAdapter to collect all the blocks
          and take out everything at once in the end.
        - Check that enough data is actually available in the input and
          otherwise handle it an error in all cases instead of silently
          ignoring it.
      
      Among other things this fixes out of bounds writes because the code
      assumed gst_buffer_set_size() can grow the buffer and simply wrote after
      the end of the buffer.
      
      Thanks to Natalie Silvanovich for reporting.
      
      Fixes gstreamer/gst-plugins-good#859
      
      Part-of: <gstreamer/gst-plugins-good!903>
      91811915
    • Sebastian Dröge's avatar
      matroskademux: Initialize track context out parameter to NULL before parsing · 02174790
      Sebastian Dröge authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      Various error return paths don't set it to NULL and callers are only
      checking if the pointer is NULL. As it's allocated on the stack this
      usually contains random stack memory, and more often than not the memory
      of a previously parsed track.
      
      This then causes all kinds of memory corruptions further down the line.
      
      Thanks to Natalie Silvanovich for reporting.
      
      Fixes #858
      
      Part-of: <!903>
      02174790
  2. Mar 12, 2021
  3. Mar 09, 2021
  4. Mar 03, 2021
    • Qi Hou's avatar
      v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps · 60f36237
      Qi Hou authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      Vp8/vp9 supported profiles/levels are listed in decoder sink caps, but
      there is no parser for these two formats and the demuxers also don't have
      these information. It causes negotiation fail between demuxers and decoder
      when check caps "accept = gst_caps_is_subset (caps, template_caps);".
      To fix this, need to remove profiles/levels for vp8/vp9 formats in decoder
      sink caps.
      
      Fix #854
      
      Part-of: <!890>
      60f36237
  5. Feb 25, 2021
    • Philipp Zabel's avatar
      v4l2videodec: fix src side frame rate negotiation · 613e0a50
      Philipp Zabel authored and Tim-Philipp Müller's avatar Tim-Philipp Müller committed
      Negotiating v4l2h264dec ! v4l2h264enc transcoding pipelines fails in
      case the encoder does not accept framerate=(fraction)0/1.
      The acquired caps used for downstream negotiation are determined from
      gst_v4l2_object_acquire_format(), which sets the GstVideoInfo::fps_n
      and ::fps_d fields to 0.
      To fix this, copy the frame rate from the sink side.
      
      Part-of: <!884>
      613e0a50
  6. Feb 24, 2021
  7. Feb 17, 2021
  8. Feb 16, 2021
  9. Jan 28, 2021
  10. Jan 27, 2021
  11. Jan 14, 2021
  12. Jan 13, 2021
  13. Dec 30, 2020
  14. Dec 17, 2020
  15. Dec 14, 2020
  16. Dec 06, 2020
  17. Dec 02, 2020
  18. Nov 24, 2020
  19. Nov 21, 2020
  20. Nov 18, 2020
  21. Nov 16, 2020
  22. Nov 11, 2020
  23. Nov 02, 2020
  24. Oct 31, 2020
Loading