1. 30 Apr, 2021 2 commits
    • Jan Schmidt's avatar
      qtmux: Make sure to write 64-bit STCO table when needed. · 218f924b
      Jan Schmidt authored
      qtmux attempts to choose between writing a 32-bit stco chunk offset table
      when it can, but switch to a 64-bit co64 table when file offsets go over
      4GB.
      
      This patch fixes a problem where the atom handling code was checking
      mdat-relative offsets instead of the final file offset (computed by
      adding the mdat position plus the mdat-relative offset) - leading to
      problems where files with a size between 4GB and 4GB+offset-of-the-mdat
      would write incorrect STCO tables with some samples having truncated
      32-bit offsets.
      
      Smaller files write STCO correctly, larger files would switch to
      co64 and also output correctly.
      
      Part-of: <!972>
      218f924b
    • Qi Hou's avatar
      v4l2object: Add interlace-mode back to caps for camera · ea1a6c47
      Qi Hou authored
      skip_try_fmt_probes is set to TRUE for v4l2src to skip interlace-mode and
      colorimetry when probe caps. gst_v4l2_object_set_format_full() will add
      colorimetry back to caps when iterating over the negotiated caps. There is
      one case that v4l2src is first in preview state then starts recording.
      v4l2src caps will change with an additional interlace-mode structure after
      renegotiation, then v4l2src needs to reset. But this camera driver can't
      orphan buffer pool, it causes require buffer failed as streaming is still
      in active state.
      
      To fix this, also need to add interlace-mode back to caps for camera to
      avoid reset.
      
      Part-of: <!971>
      ea1a6c47
  2. 22 Apr, 2021 1 commit
  3. 20 Apr, 2021 1 commit
  4. 14 Apr, 2021 1 commit
  5. 13 Apr, 2021 4 commits
  6. 01 Apr, 2021 1 commit
    • Qi Hou's avatar
      v4l2object: Use default colorimetry if that in caps is unknown · d2b82cd8
      Qi Hou authored
      Some streams have unknown colorimetry in caps, but v4l2object sets
      default values for each primaries. It will cause check colorimetry
      fail when do gst_v4l2_video_colorimetry_matches().
      
      To fix this, need to keep the unknown colorimetry in caps same as
      the default value set by v4l2object.
      
      Part-of: <!930>
      d2b82cd8
  7. 25 Mar, 2021 5 commits
    • Qi Hou's avatar
      v4l2object: Avoid colorimetry mismatch for streams with invalid colorimetry · b8051815
      Qi Hou authored
      video-info sets gst colorimetry to default value when colorimetry in caps
      is unparsable or invalid. Then v4l2object uses this gst colorimetry to do
      mapping with v4l2 colorimetry. This may cause colorimetry mismatch when
      check mapped gst colorimetry with that read from caps directly.
      
      To fix this, need to correct gst colorimetry as that parsed from video-info
      when check gst_v4l2_video_colorimetry_matches().
      
      Part-of: <!922>
      b8051815
    • Qi Hou's avatar
      v4l2object: Add support for hdr10 stream playback · 642856a9
      Qi Hou authored
      Colorimetry of hdr10 video is bt2100-pq with transfer as
      GST_VIDEO_TRANSFER_SMPTE2084. So map GST_VIDEO_TRANSFER_SMPTE2084
      to V4L2_XFER_FUNC_SMPTE2084 to support hdr10 stream playback.
      
      Part-of: <!921>
      642856a9
    • Alba Mendez's avatar
      rtspsrc: Fix more signals · db27dc44
      Alba Mendez authored
      Behaviour change in GLib causes select-stream signal to discard
      the value returned by handlers. See !909 for more info.
      
      Part-of: <!920>
      db27dc44
    • Nirbheek Chauhan's avatar
      Update docs cache and fix before-send signal doc syntax · 6c6b7ef2
      Nirbheek Chauhan authored
      The docs for before-send were missing because of this
      
      Part-of: <!918>
      6c6b7ef2
    • Nirbheek Chauhan's avatar
      rtspsrc: Fix accumulation of before-send signal return values · f708bafd
      Nirbheek Chauhan authored
      Since glib 2.62, the accumulated return values in RUN_CLEANUP override the
      accumulated return values in RUN_FIRST. Since:
      
      1. We have a default handler that always returns TRUE, and
      2. User handlers are only run in RUN_FIRST, and
      3. Our accumulator just takes the latest return value
      
      We were discarding the return value from the user handler and always
      sending messages even if the user handler said not to. See
      https://gitlab.gnome.org/GNOME/glib/-/issues/2352 for more details.
      
      This signal does not need RUN_CLEANUP or RUN_FIRST, so just change it
      to RUN_LAST so that it's emitted exactly once and accumulated once.
      
      With this fix, this signal can now be used to intercept PAUSE when
      going to GST_STATE_NULL so that the server does a TEARDOWN (if
      necessary) and not a PAUSE, which will confuse other RTSP clients when
      playing shared media.
      
      Part-of: <!918>
      f708bafd
  8. 17 Mar, 2021 1 commit
  9. 15 Mar, 2021 4 commits
  10. 12 Mar, 2021 1 commit
  11. 09 Mar, 2021 1 commit
    • Vladimir Menshakov's avatar
      wavpackdec: Add floating point format support · da897aef
      Vladimir Menshakov authored
      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: <!896>
      da897aef
  12. 03 Mar, 2021 1 commit
    • Qi Hou's avatar
      v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps · 60f36237
      Qi Hou authored
      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
  13. 25 Feb, 2021 1 commit
    • Philipp Zabel's avatar
      v4l2videodec: fix src side frame rate negotiation · 613e0a50
      Philipp Zabel authored
      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
  14. 24 Feb, 2021 1 commit
  15. 17 Feb, 2021 1 commit
  16. 16 Feb, 2021 1 commit
  17. 28 Jan, 2021 1 commit
  18. 27 Jan, 2021 1 commit
    • Bing Song's avatar
      v4l2object: Need keep same transfer as input caps. · b53aa347
      Bing Song authored
      GST_VIDEO_TRANSFER_BT2020_12 and GST_VIDEO_TRANSFER_BT2020_10 will
      be mapped to V4L2_XFER_FUNC_709. Need check input caps when map
      V4L2_XFER_FUNC_709 back to GST_VIDEO_TRANSFER_BT2020_12 and
      GST_VIDEO_TRANSFER_BT2020_10
      
      Fixes: #816
      Part-of: <!861>
      b53aa347
  19. 14 Jan, 2021 1 commit
  20. 13 Jan, 2021 4 commits
  21. 30 Dec, 2020 1 commit
  22. 17 Dec, 2020 1 commit
  23. 14 Dec, 2020 4 commits