1. 08 Jul, 2021 1 commit
  2. 06 Jul, 2021 1 commit
    • Yacine Bandou's avatar
      qtdemux: No need for new "application/x-cbcs" caps · ce0be27c
      Yacine Bandou authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      Instead of using the new "application/x-cbcs" caps, we are just adding
      a new structure field "ciphe-mode", to indicate which encryption scheme
      is used: "cenc", "cbcs", "cbc1" or "cens".
      
      Similarly for the protection metadata, we add the "cipher-mode" field
      to specify the encryption mode with which the buffers are encrypted.
      
      "cenc": AES-CTR (no pattern)
      "cbc1": AES-CBC (no pattern)
      "cens": AES-CTR (pattern specified)
      "cbcs": AES-CBC (pattern specified, using a constant IV)
      
      Currently only "cenc" and "cbcs" are supported.
      
      Part-of: <!1013>
      ce0be27c
  3. 05 Jul, 2021 3 commits
  4. 02 Jul, 2021 2 commits
  5. 01 Jul, 2021 2 commits
  6. 28 Jun, 2021 5 commits
  7. 24 Jun, 2021 1 commit
  8. 22 Jun, 2021 1 commit
    • Jan Schmidt's avatar
      qtdemux: Refuse seeks in BYTES format · 34a6aced
      Jan Schmidt authored
      If downstream tries to seek in BYTES format, don't pass that through
      to upstream. The byte positions downstream requests won't make any
      sense in the muxed stream. There might be other formats we want to
      pass through to upstream, but BYTES is not one of them. If we get a
      seeking query about BYTES format, refuse that too.
      
      This fixes a situation where we're playing a fragmented mp4 over http
      and qtdemux refuses the initial seek (in TIME format), but then
      h264parse/baseparse send a seek in BYTES format and everything falls
      apart.
      
      Part-of: <!1014>
      34a6aced
  9. 16 Jun, 2021 1 commit
  10. 04 Jun, 2021 1 commit
  11. 03 Jun, 2021 1 commit
  12. 02 Jun, 2021 4 commits
    • Nicolas Dufresne's avatar
      jpegenc: Remove arbitrary encoding size limitation · be83a52d
      Nicolas Dufresne authored
      The encoder is happy to encode with sizes less then 16x16, so remove this
      arbitrary limitation. This also fixes the fact the sink and src template caps
      disagree.
      
      Fixes #888
      
      Part-of: <!998>
      be83a52d
    • Tim-Philipp Müller's avatar
      qtdemux: use g_memdup2() as g_memdup() is deprecated · 21c90afd
      Tim-Philipp Müller authored
      - atom nodes/bytereader sizes are already checked
      - palettes: are fixed/known size
      
      g_memdup() is deprecated since GLib 2.68 and we want to avoid
      deprecation warnings with recent versions of GLib.
      
      Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..).
      
      Part-of: <!993>
      21c90afd
    • Tim-Philipp Müller's avatar
      matroskademux: use g_memdup2() as g_memdup() is deprecated · 05854f74
      Tim-Philipp Müller authored
      - ebml-read: add some sanity checks when going from 64-bit
        to 32-bit length
      - matroska-ids: codec_data_size has been checked via
        gst_ebml_read_binary(), is existing allocation.
      - matroska-demux: alloc size is from existing allocations
      
      g_memdup() is deprecated since GLib 2.68 and we want to avoid
      deprecation warnings with recent versions of GLib.
      
      Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..).
      
      Part-of: <!993>
      05854f74
    • Tim-Philipp Müller's avatar
      Use g_memdup2() where available and add fallback for older GLib versions · bf56fd97
      Tim-Philipp Müller authored
      - png: alloc size variable is a png type that's always 32-bit
      - vpx: alloc size based on existing allocation
      - wavpack: alloc size based on existing allocation
      - icles: gdkpixbufoverlay: trusted and hard-coded input data
      - rtp tests: rtp-payloading, vp8, vp9, h264, h265: trusted and/or static input data
      
      g_memdup() is deprecated since GLib 2.68 and we want to avoid
      deprecation warnings with recent versions of GLib.
      
      Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..)
      
      Part-of: <!993>
      bf56fd97
  13. 01 Jun, 2021 1 commit
  14. 31 May, 2021 1 commit
  15. 29 May, 2021 1 commit
    • Tim-Philipp Müller's avatar
      rtpjpegpay: fix image corruption when compiled with MSVC on Windows · aa4448cd
      Tim-Philipp Müller authored
      On Windows with MSVC, jpeg_header_size would end up 2 bytes larger
      than it should be. This then leads to the first 2 bytes of the
      actual jpeg image data to be dropped, because we think those
      belong to the header, which results in an undecodable image when
      reconstructed in the depayloader.
      
      What happens is that when the compiler evaluates
      
        jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem);
      
      it actually uses the mem.offset value after it has been increased
      by the function call on the right hand size of the equation.
      
      From section 6.5 of the C99 spec:
      
        3. The grouping of operators and operands is indicated by the syntax [74].
           Except as specified later (for the function-call (), &&, ||, ?:, and
           comma operators), the order of evaluation of subexpressions and the
           order in which side effects take place are both unspecified.
      
      Fixes #889
      
      Part-of: <!999>
      aa4448cd
  16. 28 May, 2021 1 commit
  17. 27 May, 2021 2 commits
  18. 25 May, 2021 3 commits
    • Håvard Graff's avatar
      rtpssrcdemux: fix "data flow before segment event" crash · 26c94af2
      Håvard Graff authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      This crash could happen at any time a RTP and RTCP buffer arrived
      simultaneously in ssrcdemux.
      
      The problem was that sticky-event arriving while the rtp and rtcp pads
      were being set up could arrive just too late to be included in the initial
      forwarding.
      
      The fix checks if the stickies have been sent on the srcpad about to be
      pushed on, and if not sends them. It also blocks any stickes from
      being forwarded *prior* to this happening, to avoid them arriving on
      the srcpad multiple times.
      
      Since the test loops 1000 times, this will make running under valgrind
      take forever, so use the RUNNING_ON_VALGRIND variable to detect we
      are running under valgrind, and reduce the loop-count to 2 in that case.
      
      Part-of: <!992>
      26c94af2
    • Håvard Graff's avatar
      rtpssrcdemux: refactor destruction of GstRtpSsrcDemuxPads · de3a3882
      Håvard Graff authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      Part-of: <!992>
      de3a3882
    • Håvard Graff's avatar
      rtpssrcdemux: make naming consistent · c721c6fe
      Håvard Graff authored and GStreamer Marge Bot's avatar GStreamer Marge Bot committed
      Use plural for GstRtpSsrcDemuxPads, since it contains two pads, and
      use the variable-name 'dpads' everywhere.
      
      Part-of: <!992>
      c721c6fe
  19. 23 May, 2021 3 commits
  20. 21 May, 2021 1 commit
  21. 20 May, 2021 1 commit
  22. 12 May, 2021 2 commits
  23. 11 May, 2021 1 commit