Skip to content
Snippets Groups Projects
  1. Mar 17, 2021
    • Nirbheek Chauhan's avatar
      Revert unusable workaround for PAUSE being sent when going NULL · 55edd59f
      Nirbheek Chauhan authored
      Directly setting rtspsrc to the NULL state before putting the pipeline
      in the NULL state usually works, but it can cause a deadlock in some
      cases, so it's not a reliable mechanism to fix this.
      
      This reverts commit f37afdaf:
      "rtspsrc: Fix state changes from PAUSED to PLAYING"
      
      and commit 76d624b2:
      "rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL"
      
      Part-of: <!908>
      55edd59f
  2. Mar 16, 2021
  3. Mar 15, 2021
    • Nirbheek Chauhan's avatar
      rtspsrc: Fix state changes from PAUSED to PLAYING · f37afdaf
      Nirbheek Chauhan authored
      This was accidentally broken in the last commit that touched this
      because I missed the fall-through in the case immediately above this.
      
      Part-of: <!906>
      f37afdaf
    • Sebastian Dröge's avatar
      matroskademux: Fix extraction of multichannel WavPack · 242f3cae
      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 #859
      
      Part-of: <!902>
      242f3cae
    • Sebastian Dröge's avatar
      matroskademux: Initialize track context out parameter to NULL before parsing · 6c461e90
      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: <!902>
      6c461e90
    • Nirbheek Chauhan's avatar
      rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL · 76d624b2
      Nirbheek Chauhan authored
      This usually doesn't matter, but it is disruptive when streaming from
      a shared media since it will pause all other clients when any client
      exits.
      
      This new behaviour is opt-in and should be safe because you need to
      set the NULL state on rtspsrc directly, instead of just on the
      pipeline. See the updated documentation for an explanation.
      
      Part-of: <!901>
      76d624b2
  4. Mar 12, 2021
  5. Mar 11, 2021
  6. Mar 08, 2021
    • Vladimir Menshakov's avatar
      wavpackdec: Add floating point format support · 4de3ddad
      Vladimir Menshakov authored and Sebastian Dröge's avatar Sebastian Dröge committed
      This commit negotiate F32 audio format if MODE_FLOAT used in wavpack file.
      Wavpack float mode is always in 32-bit IEEE format.
      
      The following pipeline plays distorted audio if source file is encoded in float mode:
      gst-launch-1.0 filesrc ... ! wavpackparse ! wavpackdec ! pulsesink
      
      Part-of: <!894>
      4de3ddad
  7. Mar 04, 2021
  8. Mar 03, 2021
    • Qi Hou's avatar
      v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps · fc5a1e46
      Qi Hou authored and GStreamer Marge Bot's avatar GStreamer Marge Bot 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: <!887>
      fc5a1e46
    • Seungha Yang's avatar
      rtpmanager: Fix an MSVC compile warning · 614f4ec5
      Seungha Yang authored
      We don't expect this object is a part of public library.
      
      gstrtphdrext-twcc.c(45): warning C4273: 'gst_rtp_header_extension_twcc_get_type': inconsistent dll linkage
      
      Part-of: <!889>
      614f4ec5
  9. Feb 24, 2021
    • Philipp Zabel's avatar
      v4l2videodec: fix src side frame rate negotiation · e885e0e1
      Philipp Zabel authored and Philipp Zabel's avatar Philipp Zabel 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: <!882>
      e885e0e1
  10. Feb 21, 2021
  11. Feb 19, 2021
  12. Feb 18, 2021
  13. Feb 17, 2021
Loading